本发明涉及推荐系统技术领域,尤其涉及一种光谱协同滤波推荐系统及其建立方法。
背景技术:
随着网络技术的诞生和飞速发展,人与互联网之间的关系越来越密不可分。各种各样的网站包含了大量杂乱无序的信息,用户从这些庞大的信息中快速有效地识别出对自己有用的或是感兴趣的信息是一件非常困难的事情。
在当今社会大数据的背景下,对推荐系统的研究具有十分重要的意义。推荐系统为一种根据用户已浏览的信息来有效地为用户推荐其可能感兴趣的信息的方法。推荐系统的有效性往往取决于用户的兴趣或偏好如何被理解和处理,以及如何利用用户和项目之间的交互信息进行建模。
同时,协同过滤作为推荐系统领域中的一项技术被广泛应用。协同过滤的基本假设为:如果用户1与另一个用户2共享了某个项目,那么用户1也可能对用户2所喜欢的其它项目感兴趣。
协同过滤虽然已成功地应用于推荐系统中,但是冷启动问题仍是其所面临的巨大技术挑战。冷启动即当用户与极少数项目交互时,一般的协同过滤方法就会出现问题。当某个用户与其他用户共享的项目很少时,如何有效地向用户推荐成为推荐系统中一项具有挑战性的任务。
因此,现有的基于协同过滤或是内存和模型的推荐系统,均不能满足用户从大量未被其浏览的项目中选择可靠性较高的项目推荐给用户的需求。
有鉴于此,确有必要设计一种光谱协同滤波推荐系统及其建立方法,以解决上述问题。
技术实现要素:
本发明的目的在于提供一种准确性高的光谱协同滤波推荐系统及其建立方法。
为实现上述目的,本发明采用如下技术方案:
一种光谱协同滤波推荐系统的建立方法,主要包括以下步骤:
s1:获取用户和项目的数据集合;
s2:对所述数据集合进行预处理,得到用户和项目的二部图;
s3:对所述二部图进行部分属性加权,再通过图傅里叶变换得到新二部图;
s4:将光谱卷积滤波器放置在所述新二部图上,以得到新图形信号;
s5:采用多项式逼近的方法来改进所述光谱卷积滤波器,得到最终光谱卷积运算;
s6:采用近似卷积运算,建立由多层所述最终光谱卷积运算叠加而成的推荐系统。
作为本发明进一步改进的技术方案,步骤s2具体为:
s21:基于所述数据集合构造以用户和项目为顶点的二部图;
s22:根据所述二部图中的目标顶点对应数据集合中的每个顶点的元路径,计算元路径的路径特征和随机游走特征;
s23:根据所述路径特征和随机游走特征构建隐式反馈矩阵;
s24:对所述隐式反馈矩阵进行处理,以得到二部图的邻接矩阵;
s25:基于所述邻接矩阵,计算关于二部图的拉普拉斯矩阵。
作为本发明进一步改进的技术方案,步骤s3具体为:
s31:采用部分属性加权的方法处理所述二部图;
s32:对所述二部图进行图傅里叶变换及其逆变换,得到已转换到光谱域中的图形信号,生成新二部图。
作为本发明进一步改进的技术方案,步骤s32具体为:
s321:根据处理所述二部图得到的顶点集和边集的特征,得到所述二部图中所有顶点的状态向量;
s322:计算所述二部图的拉普拉斯矩阵的特征值;
s323:采用图傅里叶变换及其逆变换的方法对所述二部图中所有顶点的状态向量进行处理,得到已转换到光谱域中的图形信号;
s324:采用矩阵形式简化所述已转换到光谱域中的图形信号;
s325:将所述二部图中用户的状态向量和项目顶点的状态向量带入步骤s324中,以得到两种图形信号并生成新二部图。
作为本发明进一步改进的技术方案,步骤s4具体为:
s41:基于在不同的频域中用户和项目之间的不同类型的连接信息,建立光谱卷积滤波器;
s42:利用光谱卷积滤波器将所述两种图形信号转换成两种新图形信号。
作为本发明进一步改进的技术方案,所述光谱卷积滤波器通过动态地过滤光谱域中的频率分量,得到两种新图形信号。
作为本发明进一步改进的技术方案,步骤s5具体为:
s51:采用多项式逼近的方法证明全光谱卷积滤波器集合等于有限阶多项式集合,得到新光谱卷积滤波器;
s52:将所述两种新图形信号通过新光谱卷积滤波器推广到c个输入通道和f个光谱卷积滤波器中,以得到最终光谱卷积运算;
s53:将所述最终光谱卷积运算表示为函数。
作为本发明进一步改进的技术方案,步骤s6具体为:
s61:将随机初始化的用户向量和项目向量作为输入,得到k层深度光谱协同滤波;
s62:基于传统bpr损耗,得到光谱协同滤波的损耗函数;
s63:采用rmsprop算法使所述损耗函数最小化,并将得到的训练集输入预设的光谱协同滤波器中进行训练,以得到用户的最终项目推荐;
s64:对所述最终项目推荐进行排序。
作为本发明进一步改进的技术方案,所述rmsprop算法是通过将每个权重的更新值按梯度范数的运行平均值进行缩放。
一种光谱协同滤波推荐系统,主要包括:
数据获取模块:用于获取用户和项目的数据集合;
数据预处理模块:用于对所述数据集合进行预处理,以得到用户和项目的二部图;
协同滤波模块:用于对所述二部图进行部分属性加权,再通过图傅里叶变换得到新二部图;用于将光谱卷积滤波器放置在所述新二部图上,得到新图形信号;用于采用多项式逼近的方法来改进所述光谱卷积滤波器,以得到最终光谱卷积运算;
训练模块:用于采用近似卷积运算,建立由多层最终所述光谱卷积运算叠加而成的推荐系统;
推荐模块:用于将训练得到的推荐系统对待预测图形信号中的用户向量进行项目推荐排序。
本发明的有益效果是:本发明通过光谱图理论,将用户和项目之间的连接信息转换到光谱域中,采用图傅里叶变换处理用户和项目之间的交互信息,并利用用户和项目之间不同类型的连接信息在不同频率域中的交互性,来建立多层卷积运算的推荐系统,在一定程度上缓解了一般推荐系统中的冷启动问题,提高了推荐系统的准确性。
附图说明
图1为本发明光谱协同滤波推荐系统的建立方法的流程图。
图2为本发明光谱协同滤波推荐系统的示意框图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
如图1所示,光谱协同滤波推荐系统的建立方法主要包括以下步骤:
s1:获取用户和项目的数据集合;
s2:对数据集合进行预处理,得到用户和项目的二部图;
s3:对二部图进行部分属性加权,再通过图傅里叶变换得到新二部图;
s4:将光谱卷积滤波器放置在新二部图上,以得到新图形信号;
s5:采用多项式逼近的方法来改进所述光谱卷积滤波器,得到最终光谱卷积运算;
s6:采用近似卷积运算,建立由多层最终光谱卷积运算叠加而成的推荐系统。
进一步地,步骤s2具体为:
s21:基于数据集合构造以用户和项目为顶点的二部图;
s22:根据二部图中的目标顶点对应数据集合中的每个顶点的元路径,计算元路径的路径特征和随机游走特征;
s23:根据路径特征和随机游走特征构建隐式反馈矩阵rr,j;具体地,
s24:对隐式反馈矩阵进行处理,以得到二部图的邻接矩阵a;具体地,
s25:基于邻接矩阵a,计算关于二部图的拉普拉斯矩阵l。具体地,l=i-d-1a;其中,i是n×n的单位矩阵,d是n×n的对角矩阵,dnn=∑jan,j。
进一步地,步骤s3具体为:
s31:采用部分属性加权的方法处理二部图;
s32:对二部图进行图傅里叶变换及其逆变换,得到已转换到光谱域中的图形信号
其中,图傅里叶变换及其逆变换是根据经典的傅里叶变换:
步骤s31具体为:基于微信小程序中数据的二部图,对二部图中用户和项目中三种可用度较高的属性进行归一化并加权,从而生成二部图中顶点集和边集的特征。
步骤s32具体为:
s321:根据处理二部图得到的顶点集和边集的特征,得到二部图中所有顶点的状态向量x,其中,x∈r|v|×1;
s322:计算二部图的拉普拉斯矩阵l的特征值μ;
s323:采用图傅里叶变换及其逆变换的方法对二部图中所有顶点的状态向量x进行处理,以得到已转换到光谱域中的图形信号
s324:采用矩阵形式简化上述已转换到光谱域中的图形信号
s325:将二部图中用户的状态向量xu和项目顶点的状态向量xi代入
进一步地,步骤s4具体为:
s41:基于在不同的频域中用户和项目之间的不同类型的连接信息,建立参数为θ∈rn的光谱卷积滤波器gθ(λ)。
光谱域中存在广泛的图形结构信息,因此,在不同的频域中可发现用户与项目之间不同类型的连接信息。通过动态地调整每个频域的权重,根据不同类型的连接信息建立参数为θ的光谱卷积滤波器gθ(a),其中,θ∈rn,gθ(λ)=diag([θ0λ0,θ1λ1,…,θn-1λn-1])。
s42:利用光谱卷积滤波器gθ(λ)将光谱域中的两图形信号
具体地,光谱卷积滤波器gθ(λ)通过动态地过滤光谱域中的频率分量,得到两种新图形信号
进一步地,步骤s5具体为:
s51:采用多项式逼近的方法证明全光谱卷积滤波器集合sg等于有限阶多项式集合
假设原来的光谱卷积滤波器gθ(λ)的复杂度为o(n),n是顶点数,光谱卷积滤波器gθ(a)的参数与数据维数成线性关系,从而限制了所提出的光谱卷积滤波器gθ(λ)的可伸缩性。因此,采用多项式逼近的方法处理后,新光谱卷积滤波器gθ(λ)的复杂度变成了o(p),其中p是一个超参数并其与顶点无关,接着将多项式的阶数限制为1来避免过度适应。
s52:使两种新图形信号
具体地,采用新光谱卷积滤波器gθ(λ)来计算新图形信号
由于新图形信号
接着,将上述c个输入通道中的图形信号推广到f个光谱卷积滤波器中,得到最终光谱卷积运算:
s53:将最终光谱卷积运算表示为参数是u,a,θ′的函数sp。具体地,sp(:;u,λ,θ′)。
进一步地,步骤s6具体为:
s61:将随机初始化的用户向量和项目向量作为输入,得到k层深度光谱协同滤波
s62:基于传统bpr损耗,得到光谱协同滤波的损耗函数
损耗函数以(r,j,j′)为参数,j为用户喜欢/单击/查看的项目,而j′是不受欢迎的项目。通过使j和j′之间的偏好差异最大化,bpr假设用户u更喜欢项目j而不是未观察到的项目j′。
s63:采用rmsprop算法使损耗函数最小化,并将训练集输入预设的光谱协同滤波器中进行训练,以得到用户u的最终项目推荐。rmsprop算法是通过将每个权重的更新值按梯度范数的运行平均值进行缩放来完成的。
s64:对最终项目推荐进行排序,排序准则为r。具体地,
如图2所示,光谱协同滤波推荐系统主要包括以下模块:数据获取模块21、数据预处理模块22、协同滤波模块23、训练模块24及推荐模块25。
其中,数据获取模块21用于获取用户和项目的数据集合。
数据预处理模块22用于对数据集合进行预处理,以得到用户和项目的二部图。
协同滤波模块23用于对二部图进行部分属性加权,再通过图傅里叶变换得到新二部图;还用于将光谱卷积滤波器放置在新二部图上,以得到新图形信号;进一步用于采用多项式逼近的方法来改进光谱卷积滤波器,以得到最终光谱卷积运算。
训练模块24用于采用近似卷积运算,建立由多层最终光谱卷积运算叠加而成的推荐系统。
推荐模块25用于将训练得到的推荐系统对待预测图形信号中的用户向量进行项目推荐并排序。
综上所述,本发明的光谱协同滤波推荐系统及其建立方法主要通过光谱图理论,将用户和项目之间的连接信息转换到光谱域中,采用图傅里叶变换处理用户和项目之间的交互信息,并利用用户和项目之间不同类型的连接信息在不同频率域中的交互性,来建立多层卷积运算的推荐系统,在一定程度上缓解了一般推荐系统中的冷启动问题,提高了推荐系统的准确性。
本文使用的例如“上”、“下”、“左”、“右”、“前”、“后”、等表示空间相对位置的术语是出于便于说明的目的来描述如附图中所示的一个特征相对于另一个特征的关系。可以理解,根据产品摆放位置的不同,空间相对位置的术语可以旨在包括除了图中所示方位以外的不同方位,并不应当理解为对权利要求的限制。另外,本文使用的描述词“水平”并非完全等同于沿着垂直于重力方向,允许有一定角度的倾斜。
另外,以上实施例仅用于说明本发明而并非限制本发明所描述的技术方案,对本说明书的理解应该以所属技术领域的技术人员为基础,尽管本说明书参照上述的实施例对本发明已进行了详细的说明,但是,本领域的普通技术人员应当理解,所属技术领域的技术人员仍然可以对本发明进行修改或者等同替换,而一切不脱离本发明的精神和范围的技术方案及其改进,均应涵盖在本发明的权利要求范围内。