掌桥专利:专业的专利平台
掌桥专利
首页

基于点割集图分割的矩阵变换与分解的商品推荐方法

文献发布时间:2023-06-19 11:49:09


基于点割集图分割的矩阵变换与分解的商品推荐方法

技术领域

本发明涉及大数据分析及推荐的技术领域,尤其是指一种基于点割集图分割的矩阵变换与分解的商品推荐方法。

背景技术

随着互联网的高速发展,人们在线上的活动也变得越来越频繁,与此同时,越来越多的用户在互联网上产生各种各样的行为,也因此产生了庞大且复杂的数据集。如何利用这些庞大的数据集将个性化推荐应用到不同的场景是当下需要解决的热点问题。协同过滤算法充分利用集体的智慧,通过分析大量用户的行为,挖掘某些隐含的模式,基于协同过滤的推荐算法得到了最广泛以及最深入的研究。其中,基于矩阵分解得到的隐变量模型的协同过滤是最为高效的协同过滤算法之一,目前的矩阵分解算法虽然在预测的精度方面有着较好的表现,但是矩阵分解算法依旧面临着以下的一些问题:

1)数据的稀疏性,在实际的系统中,通常用户只对系统中极个别的物品进行过评分,如果直接对整个原始矩阵进行矩阵分解,必然会带来计算量庞大的问题;

2)数据的变化性,在实际的系统中,用户的行为数据会不断变化,矩阵模型的局部变化也会对整个模型带来改变,如何对模型进行重复训练是需要解决的问题;

3)推荐结果的可解释性,矩阵分解的分解结果是基于隐变量的,但是我们并不能很明确地确定这些隐变量具体代表什么,很难给予用户一个可接受且信服的推荐结果。

发明内容

本发明的目的在于克服现有技术的缺点与不足,提出了一种基于点割集图分割的矩阵变换与分解的商品推荐方法,该方法从矩阵内部结构出发,使用基于社区发现的点割集图分割算法,对原始矩阵进行划分,可得到双边块对角矩阵,该矩阵将具有相似偏好的用户以及相似属性的物品聚集在一起。通过将双边块对角矩阵的双边和对角块拼接,能得到若干个密度比原始矩阵更高,并且可以并行进行分解的子矩阵。当评分矩阵的局部发生变化时,也不需要重新对整个矩阵进行分解,只需要对发生改变部分对应的子矩阵重新分解即可。通过对双边块对角矩阵拼接而来的子矩阵执行矩阵分解算法,并进行评分预测,能缓解数据稀疏性带来的问题,可以得到更好的预测精度,以及解释性更佳的推荐结果。同时,算法耗时也会更短,特别是在大规模、极其稀疏的数据集下表现更优。

为实现上述目的,本发明所提供的技术方案为:基于点割集图分割的矩阵变换与分解的商品推荐方法,包括以下步骤:

1)获取用户对物品的评分,构建原始的评分矩阵,评分矩阵包括所有评分信息,数据来源于购物系统中用户的评分反馈,若某用户对某物品无评分记录,则在评分矩阵中记为空值;

2)利用基于社区发现的点割集图分割算法进行矩阵变换,通过控制目标对角块的密度,将原始的评分矩阵转换为密度更高的双边块对角矩阵,并将双边块对角矩阵的双边和对角块拼接为包含若干个子矩阵的块对角矩阵;

3)基于双边块对角矩阵拼接而成的包含若干个子矩阵的块对角矩阵,对其子矩阵执行矩阵分解算法,得到矩阵分解结果的集合;

4)根据矩阵分解结果的集合,对矩阵分解中重复预测的子矩阵求平均,预测空值评分,得到原始矩阵的近似矩阵;

5)根据原始矩阵的近似矩阵对用户进行个性化商品推荐,优先将高评分的物品推荐给用户。

在步骤2)中,所述基于社区发现的点割集图分割算法进行矩阵变换,其步骤包括:

2.1)对于由顶点集合V及其对应的边集合E构成的二部图G(V,E),有顶点集合

2.2)控制目标对角块的密度,移除点割集,以及点割集顶点对应的边,得到k个互不连通的连通分支,这k个连通分支对应双边块对角矩阵的k个对角块,被移除的点割集,对应双边块对角矩阵的双边;

2.3)将双边块对角矩阵中的k个对角块与双边拼接,得到k个密度比原始矩阵更高的子矩阵,基于k个子矩阵构造一个不在对角线上元素全为空值的块对角矩阵,每个子矩阵为块对角矩阵的一个对角块。

在步骤3)中,所述对块对角矩阵的子矩阵执行矩阵分解算法并得到分解结果的集合,包括以下步骤:

3.1)定义矩阵分解算法中的预测函数f(x)=x,对于块对角矩阵X对角线上每个子矩阵X

式中,x是用户对物品的评分;k为对角块个数;U、V为矩阵分解后分解结果的集合;U

3.2)定义矩阵分解算法中的损失函数D

式中,W

对于块对角矩阵中非对角线上的空值,即i≠j的空值矩阵X

3.3)定义矩阵分解算法中的正则化项R(U,V),采用

式中,λ

3.4)定义分解结果的约束C,需要满足非负性约束,分解结果的集合U,V中不包含负数元素;

3.5)对块对角矩阵X中的每一个子矩阵进行分解,基于上述的预测函数f(x)、损失函数D

在步骤4)中,根据分解结果,对矩阵分解中重复预测的子矩阵求平均,预测空值评分,得到原始矩阵的近似矩阵的步骤如下:

4.1)根据矩阵分解算法所得到的分解结果U={U

式中,f为矩阵分解算法的预测函数;U

4.2)对块对角矩阵X中非对角线上第i行第j列的空值矩阵X

式中,

4.3)对重复预测的矩阵

式中,n为重复预测的次数;I

在步骤5)中,根据原始矩阵的近似矩阵对用户进行商品推荐;近似矩阵包含了所有用户对所有物品的预测评分,对某一用户进行商品推荐的步骤为:对该用户所有预测后的评分从高到低进行排序,根据需要推荐商品的数量,筛选出其评分前N名对应的物品,将其推荐给该用户。

本发明与现有技术相比,具有如下优点与有益效果:

1、本发明利用基于社区发现的点割集图分割算法,对原始稀疏矩阵进行划分,通过该算法得到的双边块对角矩阵中的对角块将具有相似偏好的用户和具有相似属性的物品聚集在一起,因此基于该结构进行矩阵分解并进行评分预测,推荐结果具有更好的解释性,可以给出更令用户信服的推荐结果。

2、通过将双边块对角矩阵的双边和对角块拼接成若干个子矩阵,每个子矩阵与原始评分矩阵相比较,矩阵规模更小,且有更高的密度,对密度更高的矩阵进行分解,能够缓解数据稀疏性带来的问题,更进一步地提升预测的精度。同时,对于小规模的矩阵,不需要设计特别复杂的矩阵分解算法以及模型去拟合这些数据也能得到很好的预测精度。与直接对原始评分矩阵分解相比,对数个小规模矩阵并行分解也能节省大量的时间。

3、当原始矩阵的评分发生变化后,本发明不再需要对整个模型进行重新分解,我们只需要在数据发生变化的子矩阵上重新分解即可。因为每个子矩阵都是相互独立的,因此对子矩阵的重新分解并不会影响到其他的子矩阵,从而大大提升了在实际推荐系统的分解效率。

4、本发明提出的双边块对角矩阵具有优秀的可扩展性,目前存在的矩阵分解方法都可以直接应用到双边块对角矩阵上,基于该结构的矩阵分解算法,预测精度都会有所提升。本发明提出的商品推荐方法,也可以直接应用于其他有评分行为的数据集上,如进行电影推荐,音乐推荐等等,也具备优秀的可扩展性。

附图说明

图1为本发明方法逻辑流程示意图。

图2为原始矩阵及其对应双边块对角矩阵示意图。

图3为由双边块对角矩阵拼接而成的子矩阵示意图。

具体实施方式

下面结合具体实施例对本发明作进一步说明。

参见图1所示,本实例所提供的基于点割集图分割的矩阵变换与分解的推荐方法,具体情况如下:

1)获取原始数据,构建出原始的用户-物品评分矩阵;评分矩阵是用户对物品评分的集合,数据来源于系统中用户的评分反馈。实验数据集包含6040个不同的用户对3900个物品作的1000209个评分,评分区间为1-5分。

2)根据原始矩阵,将原始评分矩阵转换成对应的二部图,对这个二部图使用基于社区发现的点割集图分割算法,将原始矩阵转换成双边块对角矩阵结构,原始矩阵及其转换而成的双边块对角矩阵结构示例如图2所示,其中打“×”部分表示用户对物品有评分记录,虚线部分即双边块对角矩阵的双边部分,实线部分为双边块对角矩阵的对角块部分;然后,如图3所示,将双边块对角矩阵的双边与对角块拼接成多个子矩阵,并将这些子矩阵对角化成一个块对角矩阵,非对角线部分暂时用零值代替。基于实验数据划分出的块对角矩阵中的四个对角块结果如表1所示:

表1四个对角块信息

3)对上述四个子矩阵并行执行矩阵分解算法,得到分解因子;所述矩阵分解算法的流程按如下步骤执行:

3.1)定义矩阵分解算法中的预测函数f(x)=x,对于块对角矩阵X对角线上每个子矩阵X

式中,x是用户对物品的评分;4是对角块的个数;U,V为矩阵分解后分解结果的集合;U

3.2)定义矩阵分解算法中的损失函数D

式中,W

对于块对角矩阵中非对角线上的空值,即i≠j的空值矩阵X

3.3)定义矩阵分解算法中的正则化项R(U,V),采用

式中λ

3.4)定义分解结果的约束C,需要满足非负性约束,分解结果的集合U,V中不包含负数元素;

3.5)对块对角矩阵X中的每一个子矩阵X

4)根据分解结果,通过对重复预测的子矩阵求平均,得到近似的预测矩阵,通过分解因子近似原始矩阵的步骤如下:

4.1)根据矩阵分解算法所得到的分解结果U={U

式中,f为矩阵分解算法的预测函数;U

4.2)对块对角矩阵X中非对角线上第i行第j列的空值矩阵X

式中,

4.3)对重复预测的矩阵

式中,n为重复预测的次数。以图3中的R

同理,对块对角矩阵中每个X

5)根据近似的矩阵,根据矩阵中的评分,对用户进行推荐;对该用户所有的评分信息进行排序,筛选出其评分前N名对应的物品,将其推荐给该用户。

基于点割集图分割的矩阵变换与分解的商品推荐方法主要是为了实现大规模稀疏数据集下,采用更短的时间,却有着更高预测精度的商品推荐算法。因此,推荐算法预测精度的测试主要在由双边块对角矩阵拼接成的子矩阵和原始矩阵两种场景下,分别进行矩阵分解,比较新的矩阵结构对推荐速度以及精度的影响。实验结果如表2所示。

表2实验对比结果

综上所述,在采用以上方案后,本发明为个性化推荐应用了新的方法,将基于双边块对角矩阵的矩阵分解方法作为个性化商品推荐的一种有效手段,能够有效缓解推荐系统中的数据稀疏问题,以及矩阵分解算法效率低下的问题,在提升预测精度的同时,更能缩短推荐所花费的时间,具有实际推广价值,值得推广。

以上所述实施例只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。

相关技术
  • 基于点割集图分割的矩阵变换与分解的商品推荐方法
  • 基于局部传播图的故障树最小割集提取方法
技术分类

06120113065577