一种基于跨领域排名推荐模型的排名推荐方法与流程

文档序号:14735954发布日期:2018-06-19 20:29阅读:233来源:国知局

本发明涉及推荐系统、迁移学习、矩阵分解、数据挖掘等研究领域,具体涉及一种基于跨领域排名推荐模型的排名推荐方法。

背景知识

信息技术的高速发展使得用户可方便地从互联网上获取各种各样的信息,用户在享受着信息时代的便利时也面临着巨大的困扰,这是因为互联网上纷繁多样的信息往往让用户眼花缭乱,无所适从,无法迅速有效地获取到有价值的信息,从而产生了信息过载问题。通过为用户提供个性化的推荐服务,推荐系统可有效地解决信息过载问题。例如,知名的Amazon、eBay,阿里巴巴、京东等国内外电商通过推荐系统挖掘用户个性化的潜在偏好,并针对不同用户分别提供高效的个性化推荐服务,在为商家带来巨大效益的同时也显著改善了用户体验。如何设计一个优良的推荐系统成为有重大研究意义的热点问题。

目前推荐系统主要基于评分预测或排名预测进行推荐,我们先通过两个例子来说明基于评分预测的推荐和基于排名预测的推荐之间的区别与联系:

(1)假设用户i对项目a和项目b的评分值分别为3和2,有两个推荐系统预测用户i对项目组合(a,b)的评分,预测结果分别为(2,3)和(4,1)。根据评分预测准确度的评价指标,例如平均绝对误差MAE(Mean Absolute Error)和均方根误差RMSE(Root Mean Square Error),这两个推荐系统的预测准确度将是相同的;另外从排名的角度可以看出,预测评分组合(4,1)可以真实体现用户i更偏好项目a这一情况,而预测评分组合(2,3)得到的是错误的偏好排名,(4,1)比(2,3)的排名准确度更高。这说明,评分预测准确度指标并不一定能直接用于评估排名准确度。理论上,评分预测更准确,基于预测的评分得到的排名预测也更准确,只是因为目前许多推荐模型的目标优化函数以及用于评估评分预测准确度的指标都基于预测评分和真实评分之间的误差,当对误差取绝对值或进行平方后,会影响真实的评分预测准确度,这种影响在排名预测中可能显现出来。

(2)假设用户i和用户j对项目组合(a,b)的评分分别是(5,2)和(3,2)(评分范围为1到5的整数),则可知用户i非常满意项目a,且相对用户j更加偏爱项目a,这说明更准确的评分不仅可以更直观地量化用户的偏好,而且可以增强推荐列表的可解释性,这些都能为用户的决定提供更有价值的参考。

从上面两个例子可以看出,基于评分预测的推荐和基于排名预测的推荐虽然不一定得到一致的排名推荐结果,但都对最终生成的推荐列表发挥作用,二者可以产生互补。

协同过滤是目前应用最成功和最广泛的推荐方法之一,但是数据的稀疏性问题是它的主要瓶颈,通过跨领域推荐可以有效解决协同过滤推荐中目标评分数据的稀疏性问题。许多已有的跨领域推荐模型主要面向评分预测准确度,或者基于非自适应的聚类提取潜在因子。面向评分预测准确度的跨领域推荐问题在对评分准确度要求高的推荐系统中有着重要的意义。然而,在一些商业推荐系统中,一般只需要提供一个项目排名列表给用户,作为用户的有序候选项目集。

Shi Y等联合面向评分预测的协同过滤和面向排名预测的协同过滤进行排名推荐,并通过大量实验证明,联合评分预测和排名预测的新模型的排名预测准确度明显优于仅面向评分预测或者仅面向排名预测的推荐模型。然而Shi Y等提出的模型是基于单一领域的推荐模型,当目标领域中的评分数据非常稀疏时,其推荐性能将严重衰退。

本发明兼顾评分预测准确度和排名预测准确度,构建新的跨领域排名推荐模型。首先基于自适应的用户聚类得到跨领域用户之间的相似度,并利用跨领域的用户相似度约束用户潜在因子,进行跨领域的迁移学习,然后联合评分预测和排名预测,进行面向排名预测准确度的跨领域推荐。



技术实现要素:

本发明提出一种基于跨领域排名推荐模型的排名推荐方法ACDSL(Adaptive Cross-Domain Similarity Learning),ACDSL模型联合排名预测和评分预测进行跨领域排名推荐,其中排名预测和评分预测对最终推荐列表的生成共同发挥作用,可有效提高排名推荐的准确度;另外ACDSL模型不仅基于自适应的用户聚类同时计算跨领域的用户相似度以及用户聚类相似度,还通过概率矩阵集合分解迁移跨领域用户之间的特征信息,能从辅助领域评分数据中迁移更多的有用信息和更少的干扰信息到目标领域。ACDSL模型克服了其他模型的缺点,理论上能得到相比其他模型更高的排名推荐准确度。ACDSL模型主要分为如下三大步骤:

利用辅助评分矩阵Ra进行迁移学习,辅助目标评分矩阵R中的成列排名推荐;其中R∈RM×N表示M个用户对N个项目的评分;Z∈{0,1}为指标矩阵,若用户i对项目j进行了评分,则Zij=1;否则Zij=0;表示Ma个用户对Na个项目的评分;Ra对应的指标矩阵为Za,这里Za的定义类似Z;Ra和R中的用户有一部分是重叠的,包括以下步骤:

步骤1,学习跨领域用户之间的相似度;

步骤2,迁移跨领域用户之间的特征信息;

步骤3,联合评分预测和列表预测进行排名推荐,具体是综合步骤2中以f2为目标函数的评分预测以及以TOP定义排名损失的列表预测进行排名推荐。

在上述的一种基于跨领域排名推荐模型的排名推荐方法,所述步骤1通过自适应的方式学习跨领域用户之间的相似度,在学习过程中,不用预先限定目标领域和辅助领域中的用户聚类数量,只需通过K均值方法随机指定初始的用户聚类,然后利用交替最优化方法自适应地迭代求解即可,在迭代过程中,初始聚类会自动得到优化;目标最优化问题为

这里C和Ca为聚类指标矩阵,分别为目标领域和辅助领域的聚类指标矩阵,其中Cij表示目标领域中用户i属于聚类j的概率,(Ca)i'j'表示辅助领域中用户i'属于聚类j'的概率;为目标领域和辅助领域之间基于聚类的跨领域相似度,其中(SY)ij表示目标领域中的聚类i和辅助领域中的聚类j之间的相似度,c和ca分别为目标领域和辅助领域中用户聚类的数量;SX为目标领域和辅助领域之间基于用户的跨领域相似度,(SX)ij表示目标领域和辅助领域中用户i和项目j之间的相似度;CTC=I,L和La为拉普拉斯矩阵,β和βa为正则化参数,||·||2,1表示矩阵的L2,1范数。

在上述的一种基于跨领域排名推荐模型的排名推荐方法,所述步骤2通过概率矩阵集合分解迁移跨领域用户之间的特征信息;目标最优化问题为

这里Ui和(Ua)i分别表示矩阵U和Ua的第i行,用来表示用户特征;Vj和(Va)j分别表示矩阵V和Va的第j行,用来表示项目特征;SX为步骤1中求得的跨领域用户之间的相似度,用来约束用户特征信息的迁移;g(x)为logistic函数,用来限定x的范围,使得x∈(0,1],令

在上述的一种基于跨领域排名推荐模型的排名推荐方法,所述步骤3采用TOP(Top One Probability)来定义成列排名损失,并且联合面向评分准确度的预测以及面向列表准确度的预测构造目标函数,然后利用交替梯度下降法求解目标函数的局部极小值;目标最优化问题为

在上述的一种基于跨领域排名推荐模型的排名推荐方法,所述步骤3中的TOP为项目在用户的排名列表中排在第一个位置的概率;假设项目j被用户i评分为Rij,则项目j在用户i的排名列表(长度为K)中的TOP表示为:

这里可以是任意的单调递增以及严格正定的函数;令为指数函数,此时

本发明有效提升了排名推荐的准确度,能更有效地解决协同过滤推荐中目标评分数据的稀疏性问题。

附图说明

图1是本发明的方法流程示意图。

具体实施方式

一、首先介绍本发明的具体方法步骤。

步骤1跨领域用户相似度学习

进行跨领域的用户聚类,并自适应地学习跨领域用户之间的相似度。

假设C和Ca为聚类指标矩阵,分别为目标领域和辅助领域的聚类指标矩阵,其中Cij表示目标领域中用户i属于聚类j的概率,(Ca)i'j'表示辅助领域中用户i'属于聚类j'的概率。为目标领域和辅助领域之间基于聚类的跨领域相似度,其中(SY)ij表示目标领域中的聚类i和辅助领域中的聚类j之间的相似度,c和ca分别为目标领域和辅助领域中用户聚类的数量;SX为目标领域和辅助领域之间基于用户的跨领域相似度,(SX)ij表示目标领域和辅助领域中用户i和项目j之间的相似度。我们求解如下的目标最优化问题:

其中CTC=I,L和La为拉普拉斯矩阵,β和βa为正则化参数,||·||2,1表示矩阵的L2,1范数,矩阵X∈Rm×n,有

这里表示矩阵X的第i行。

利用交替最优化方法求解方程式(1),各变量的更新规则如下:

C=(I+βL)-1SXCaSYT (4)

SY=(I+λyDy)-1CTSXCa (5)

SX=(I+λxDx)-1CSYCaT (6)

其中DX是与SX大小相同的对角矩阵,

DY是与SY大小相同的对角矩阵,

在上述求解过程中,不用预先限定目标领域和辅助领域中的用户聚类数量,只需通过K均值方法随机指定初始的用户聚类,然后自适应地迭代求解即可,在迭代过程中,初始聚类会自动优化。通过求解方程式(1)中的目标最优化问题,得到目标函数f1收敛时的SX。

步骤2跨领域信息迁移

通过概率矩阵集合分解进行迁移学习,迁移跨领域用户之间的特征信息,目标最优化函数为

这里Ui和(Ua)i分别表示矩阵U和Ua的第i行,Vj和(Va)j分别表示矩阵V和Va的第j行,g(x)为logistic函数,用来限定x的范围,使得x∈(0,1],我们令

步骤3成列排名推荐

采用Top One Probability(TOP)来定义成列排名损失,TOP为项目在用户的排名列表中排在第一个位置的概率。假设项目j被用户i评分为Rij,则项目j在用户i的排名列表(长度为K)中的TOP表示为:

这里可以是任意的单调递增以及严格正定的函数。令为指数函数,此时

联合面向评分以及面向列表的预测,构造下述目标函数:

采用梯度下降法交替更新U,V,Ua和Va,来求解f3的局部极小值,f3相对各变量的行的偏导数分别为:

这里g'(x)指g(x)的导数。

最后利用U和V拟合目标评分矩阵R,并进行排名推荐。

二、下面是采用本发明的具体案例。

假设R∈RM×N表示目标评分矩阵,其中M为用户数,N为项目数。Z∈{0,1}为指标矩阵,若用户i对项目j进行了评分,则Zij=1;否则Zij=0。表示辅助评分矩阵,表示Ma个用户对Na个项目的评分。Ra对应的指标矩阵为Za,这里Za的定义类似Z。Ra和R中的用户有一部分是重叠的,本发明利用Ra进行迁移学习,辅助R中的成列排名推荐。

数据集:我们使用两个公开的真实数据集:Epinion数据集和Amazon数据集,具体描述如下:

(1)Epinion数据集:包含131228个用户,317775个项目,以及1127673个用户对项目的评分数据。

(2)Amazon数据集:包含548552个用户对项目的评分数据,本实施例选取其中的音乐CD和电影DVD的评分数据进行实验。

评价指标:面向评分误差的评价指标MAE和RSME不一定能反映top-K推荐性能,因此,在本发明的实验中,我们使用两种面向排名误差的指标:召回率(Recall)和归一化折损累积增益(Normalized Discounted Cumulative Gain,NDCG),来评估不同模型的top-K推荐性能。

(1)召回率(Recall)

召回率指的是推荐列表中的相关项目数和所有相关项目数的比率。假设推荐列表的长度为K,推荐列表中的相关项目数和所有相关项目数分别为TK和T,则召回率为:

(2)归一化折损累积增益(NDCG)

首先介绍DCG(Discounted Cumulative Gain)的概念,DCG是一个评估搜索引擎算法的常用指标。搜索引擎一般采用逐项标注的方式进行评测,即逐条对搜索结果进行等级打分。使用DCG指标有两个前提:在搜索页面中,相关度越高的结果排在前面越好;在逐项标注时,等级高的结果比等级低的结果好。

目前DCG也常用于评估排名推荐的质量,给定一个推荐列表,在位置K0处的DCG的计算公式如下:

其中,i表示项目在推荐列表中的位置,reli表示第i个项目与用户的相关度,这里我们采用评分值来衡量项目与用户之间的相关度。在DCG中,每一个项目都对它所在的位置有一定的贡献,贡献值与该项目的相关度有关,然后将1到K0等位置上的贡献值相加作为最终的评价结果。当推荐列表中的项目按照用户的真实偏好降序排列时,此时的DCG称为IDCG(Ideal DCG),即理想的DCG。将DCG值除以理想的DCG值得到NDCG,在位置K0处的NDCG的定义如下:

在Epinion数据集中选取图书为目标领域,电影为辅助领域。在Amazon数据集中选取音乐为目标领域,电影为辅助领域。

选取一些目前最先进的模型进行对比实验,在所有模型中,潜在因子的维数在[5,105]之间变化,正则化参数在[0.0001,1]之间变化。参数α的范围也在[0,1]之间变化,α越小代表基于列表预测进行top-K推荐的比重越高。各数据集中80%的数据用于训练,20%的数据用于测试,每组实验进行10次,最终结果取该10次结果的平均值。通过交叉验证优化各模型的实验参数,然后选择最好的结果进行比较。经过大量的前期实证,分别得到各模型取得近似局部最优结果时的α值,为了方便进行实验对比,在后续的实验中α的值也如此设置。因为在现实应用中,用户比较重视的一般是推荐列表中的前十位,所以在本实施例中,取K=10。假设l表示数据集的密集度,l∈[0,1],在不同的l下,我们比较各模型的NDCG@10以及Recall(10)等实验结果。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。凡在本发明的精神和原则之内,所做的任何修改、改进、替换等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1