基于高斯模型和概率矩阵分解的混合推荐算法
2018-03-21何慧
何 慧
(江西师范大学 商学院,南昌 330022)
0 引言
智能推荐系统中,推荐算法的设计往往基于用户行为建立用户与物品之间的网络关系,如用户-用户、用户-物品、物品-物品,进而建立用户潜在商品偏好预测算法,如经典的协同过滤算法、标签推荐算法、关联推荐算法等。这些推荐算法得到了学术届一致认同,也在产业界得到了广泛应用。但是,商品信息的增长速度远远超过人类行为足迹,从而导致建立的用户与物品的网络关系极为稀疏,进而导致推荐算法的准确度的降低。为了解决数据稀疏性问题,国内外学者提出了多种改进算法,如缺失值填充法,基于降维的推荐算法,基于影响集和云模型的协同过滤推荐算法等。这些算法仍是基于用户对物品的历史行为关系而设计,虽然在一定程度上提高推荐的精度,但并未完全解决用户行为稀疏导致的推荐精度的衰减问题。事实上,用户的购买行为除了受到历史购买习惯和偏好的影响外,还与商品的种类密切相关,用户商品的关注存在时效性,即特定的时间段关注并购买某几种商品。为此,本文考虑用户关注商品类型分布特征,建立了基于高斯模型和概率矩阵分解的混合推荐算法。首先利用高斯模型建立用户关注商品种类偏好分布,然后基于用户对商品的评分矩阵,利用概率分解模型生成潜因子实现对商品的预测,最后基于商品类型偏好分布和概率潜因子商品预测模型建立混合商品推荐预测算法。
1 相关研究
推荐算法的核心是基于用户对物品的多元行为关系建立商品偏好预测模型,如基于用户或物品邻域的推荐算法,基于用户社交关系的推荐算法,基于物品特征的推荐算法等。用户在一定时间内购买或浏览商品数量是有限的,基于用户与物品行为建立的关系网络面临数据稀疏性问题。为了解决稀疏性问题,国内外研究者提出了多种推荐算法,如基于用户评分矩阵建立的多值概率矩阵分解推荐算法,基于主成分分析的协同过滤推荐算法、基于项目评分预测的推荐推荐算法、基于影响集的协作过滤推荐算法、基于k-均值层级聚类的推荐等。这些算法均是基于用户对商品的评价建立评分矩阵,进而建立相应的推荐算法。这些算法虽然在一定程度上提高了推荐的精度,但忽略商品的内容及评价因素对用户购买偏好的影响。考虑到商品的内容以及商品集之间的内在关系,Cohn建立了基于概率矩阵分解的联合概率分布模型。商品除了固有属性特征外,大部分电商平台允许用户对商品进行标签评价,标签是用户偏好的映射,为此,Symeonidis等通过建立用户-商品-标签三维张量模型,利用HOSVD算法降维,实现不同实体之间潜在的语义关联分析,通过潜在语义关联关系提高商品推荐准确率;Zhang提出了一个基于用户-物品-标签散布图的完整推荐算法。
当前的推荐算法大都把推荐的物品当做黑盒子来对待,过度集中于对用户行为数据提取的关联性及联合统计值,缺乏多物品的深层次理解及对物品间关系挖掘。用户在进行商品选择时,除了受到他的历史购买、浏览等行为影响外,还受其所关注的商品类型影响,用户往往具有在特定时间关注特定类型商品的特性。为此,本文利用商品种类属性特征,建立用户-商品类型高斯分布模型,然后基于用户对商品的评分矩阵,利用概率分解模型生成潜因子,最后基于商品类型偏好分布和概率潜因子预测模型建立混合推荐预测算法。
2 模型与方法
2.1 基于高斯模型的商品类型偏好
用户的商品购买行为除了服从幂律分布外,还具有偏向性特征。用户通常会在其所关注的商品类型中进行浏览、购买所需的商品。也就是说,用户在其潜在商品类别中的购买行为满足一定的概率分布特征。为此,本文利用高斯分布模型,基于用户的历史商品购买/浏览行为构建商品类型偏好模型。给定用户潜在的购买/浏览偏好类别Cu,用户u购买/浏览商品I的概率表示为:
其中:p(I∈Cu)表示物品属于用户u所偏好类别的概率,用物品I与用户潜在偏好类别Cu中物品的平均相似度衡量,表示为:
p(fcu)表示用户潜在偏好类别cu对购买商品I的影响,表示为:
N(I/μcu,∑cu)表示高斯概率密度函数,μcu和 ∑cu分别代表均值和方差。Cu表示用户u的潜在购买/浏览偏好物品类别。
由于每个用户所偏好的商品类别不同,本文基于用户对商品的购买/浏览行为、用户评分,利用贪婪迭代算法寻找每个用户的潜在商品类型偏好。
2.2 概率矩阵分解模型
矩阵分解是推荐系统中较为流行的方法,给定一个矩阵 F∈RM×N,矩阵分解的目标是寻找两个低阶矩阵u∈RK×M和 L∈RK×N,使得 F≈uTL。用户 u对物品 i的偏好概率定义为:
它假设观察数据残差噪声服从高斯分布,并且潜隐子矩阵服从高斯先验,则相应的概率矩阵分解目标函数定义为:
其中,g(x)=1/(1+exp(-x)),表示logistic函数,Iij表示指示函数,如果用户i对商品 j进行了评分,则Iij=1,否则为0,λ1和λ2用于控制矩阵U 和F的贡献度。‖·‖表示Frobenius norm范数。
针对式(6)的矩阵分解最小化问题,本文利用随机梯度下降法锦进行求解。通过在梯度反方向上以γ控步长更新特征向量:
2.3 混合推荐模型
基于概率矩阵分解方法,可以推断出用户的商品偏好。但用户是否会购买某个商品是受多个因素的影响,用户倾向于在其所偏好的商品类别中筛选商品。因此,本文融合了用户的商品类别偏好和商品偏好推断用户对特定商品的偏好程度。混合推荐模型定义为:
P(l|Cu)和 P(Ful)可以通过公式(1)和公式(5)得到。
3 实验仿真与分析
3.1 实验方法
实验采用Book Crossing数据集,该数据集市由Cai-Nicolas Ziegler在2004年8月至9月用4周的时间从Book crossing社区采集到的,共包含278858个用户,271379本图书,1149780条评分记录数据,数据集还包含用户基本信息数据、图书信息数据。由于数据集中并未包含图书的类别信息,本文利用网络爬虫,根据图书的ISBN号、标题、作者、出版时间和出版社,从Book Crossing社区中抓取对应的分类信息,将用户对图数的评分信息视为用户的行为特征。通过对用户的图数评分进行统计分析,用户的评分行为符合幂律分布,为了降低低频行为数据对实验影响,本实验剔除掉评分图数数量少于20本的图数,共得到7369个用户对291537本图书的888884条评分记录作为实验数据集。为了验证模型的效果,将数据集随机抽取80%的数据作为训练集,剩余的20%作为测试集。
在推荐算法的推荐质量评价指标中,最为常用的是平均绝对误差MAE,他是通过计算预测的用户对商品评分与用户对该商品的真实评分之间的偏差来度量算法预测的准确性。MAE越小,预测的越精确,推荐精度也就越高。假设用我们的算法预测用户对k个商品的评分为{p1,p2,……,pk} ,用户真实评分为{r1,r2,……,rk},则平均绝对误差表示为:
3.2 实验过程与结果分析
本文提出的模型受到热门类别抑制因子α的影响,同时还受到商品推荐数量k的限制。为此,首先将λ1和λ2设为0.01,设k=10,调整抑制因子α的取值,观察MAE随热门类别抑制因子调整的变化趋势,寻找最佳的参数α。实验结果如图1所示。从图中可以看出,随着热门类别因子α的增加,MAE呈现下降趋势,在α=0.6时MAE取最小值,但α的增大反而使得MAE逐渐上升,模型效果变坏。说明,热门商品类别需要控制在一定范围内可以使得模型达到理想效果,不对热门因子限制或完全限制都会降低模型的准确度。为此,本文将热门类别抑制因子设为0.6。
图1 热门类别抑制因子对推荐结果影响
基于上述设置的最优热门类别抑制因子α,进一步实验验证本文所提出的推荐算法性能。本文将与传统的协同过滤推荐算法(CF)、基于标签的推荐算法(TF)、基于项目评分预测的推荐算法(IRCF)、基于旗易帜分解的推荐算法(SVDCF)四个算法进行对比。由于商品推荐数量k是影响推荐准确度的关键因素,因此,本文将k设在[2,4,8,10,12,14,16,18,20]内变化,观察随着k值得增加MAE的变化趋势,从而确定最佳的k值。实验结果如图2所示。
图2 推荐算法精度比较
从图2中可以看出,随着推荐商品个数的增加,无论是传统的还是本文提出的推荐算法的平均绝对误差(MAE)均具有不同程度的降低,推荐质量逐渐提高。在相同的推荐商品个数情况下,基于高斯模型和概率矩阵分解的推荐算法(GMMD)的MAE明显小于传统的推荐算法,推荐精度显著提高,说明本文提出的算法优于传统的推荐算法。
4 结论
本文提出了一种混合推荐算法,首先用户的商品购买/浏览行为,以及商品的种类属性,利用高斯模型构建用户商品类型偏好分布模型,然后针对用户对商品的评分,利用矩阵分解模型生成评分矩阵潜因子,最后融合商品类型分布和基于概率矩阵分解的商品偏好预测模型,共同构建了一种混合的商品推荐算法。实验结果表明,本文提出的方法可以显著的提高模型的推荐精度,说明用户的商品类型对用户的购买行为存在显著影响作用。
本文的研究基于用户的行为和商品的类别属性进行深度分析挖掘用户的商品偏好,一方面可以推荐算法中面临的数据稀疏性问题,同时降低了推荐商品的目标空间,提高了模型的计算效率。在后续的研究中,将继续挖掘商品的内在关系,加深对推荐商品的深层理解,建立基于商品关系结构的推荐算法。
[1]Schaffer J,Höllerer T,O'Donovan J.Hypothetical Recommendation:A Study of Interactive Profile Manipulation Behavior for Recommend⁃er Systems[R].FLAIRS Conference,2015.
[2]Aggarwal C C.An Introduction to Recommender Systems[M].Heidel⁃berg:Springer,2016.
[3]Symeonidis P.Matrix and Tensor Decomposition in Recommender Systems[R].Proceedings of the 10th ACM Conference on Recommend⁃er Systems,2016.
[4]Hernando A,Bobadilla J,Ortega F.A Non Negative Matrix Factoriza⁃tion for Collaborative Filtering Recommender Systems Based on a Bayesian Probabilistic Model[J].Knowledge-Based Systems,2016,(97).
[5]Xin Y,Steck H.Multi-value Probabilistic Matrix Factorization for IP-TV Recommendations[R].Proceedings of the Fifth ACM Confer⁃ence on Recommender Systems,2011.
[6]Kim D,Yum B-J.Collaborative Filtering Based on Iterative Principal Component Analysis[J].Expert Systems With Applications,2005,28(4).
[7]Papamichail G P,Papamichail D P.The K-means Range Algorithm for Personalized Data Clustering in E-commerce[J].European Journal of Operational Research,2007,177(3).
[8]Cohn D,Hofmann T.The Missing Link-a Probabilistic Model of Docu⁃ment Content and Hypertext Connectivity[R].Advances in neural infor⁃mation Processing Systems,2001.
[9]Symeonidis P,Nanopoulos A,Manolopoulos Y.Tag Recommenda⁃tions Based on Tensor Dimensionality Reduction[R].Proceedings of the 2008 ACM Conference on Recommender Systems,2008.
[10]Leskovec J.New Directions in Recommender Systems.Proceedings of the Eighth ACM International Conference on Web Search and Da⁃ta Mining,2015.
[11]Cheng C,Yang H,King I,et al.Fused Matrix Factorization With Geo⁃graphical and Social Influence in Location-Based Social Networks[J].Aaai,2012.
[12]万年红.基于云模型的协同过滤推荐算法[J].计算机系统应用,2015,24(5).
[13]邓爱林,朱扬勇,施伯乐.基于项目评分预测的协同过滤推荐算法[J].软件学报,2003,14(9).
[14]陈健,印鉴.基于影响集的协作过滤推荐算法[J].软件学报,2007,18(7).