收稿日期:20190808;修回日期:20190924 基金项目:国家自然科学基金资助项目(71874022);国家创新群体项目(71421001)
作者简介:曹玉琳(1980),男(通信作者),辽宁大连人,博士,主要研究方向为数据分析、推荐系统(dutcaoyulin@163.com);李文立(1969),
男,河南平顶山人,教授,博导,博士,主要研究方向为社会网络分析.
基于状态空间模型和概率矩阵分解的推荐算法
曹玉琳
,李文立
(大连理工大学 经济管理学院,辽宁 大连 116024)
摘 要:传统的矩阵分解算法在时间上将全部训练数据作为整体进行计算以获得用户兴趣特征,忽略了用户兴
趣漂移问题。针对此问题,提出一种基于状态空间模型和概率矩阵分解的推荐算法。首先将用户兴趣特征向量
与用户评分数据的矩阵分解映射到线性高斯状态空间中;然后使用
EM算法和卡尔曼滤波器对模型参数进行动
态求解;最后根据前后获得用户兴趣特征向量确认用户兴趣是否发生漂移,并进行相应推荐。实验结果表明,该
算法与传统的矩阵分解推荐算法相比,能更好地感知用户兴趣漂移,提高推荐质量。
关键词:矩阵分解;状态空间模型;EM算法;卡尔曼滤波
中图分类号:TP301 文献标志码:A 文章编号:10013695(2020)11012326304
doi:10.19734/j.issn.10013695.2019.08.0276
Recommendationalgorithmbasedonstatespacemodeland
probabilisticmatrixfactorization
CaoYulin
,LiWenli
(FacultyofManagement&Economics,DalianUniversityofTechnology,DalianLiaoning116024,China)
Abstract:Thetraditionalmatrixfactorizationalgorithmusesallthetrainingdataasawholetoobtainuserinterestfeatures
fromtheperspectiveoftime
,ignoringthedriftofuserinterest.Toaddressthisproblem,thispaperproposedarecommendation
algorithmbasedonstatespacemodelandprobabilitymatrixfactorization.Firstly,thismethodmappedthematrixfactorizationof
userinterestfeaturevectoranduserratingdataintolinearGaussianstatespace.Then
,itusedEM algorithmandKalmanfilter
tosolvethemodelparametersdynamically.Finally,itobtainedtheuserinterestfeaturevectortoconfirmwhethertheuserinterest
driftsornot,andmadetherecommendation.Theexperimentsdemonstratethattheproposedalgorithmcanbetterperceiveuser
interestdriftandimprovetherecommendationqualitycomparedwiththetraditionalmatrixfactorizationalgorithm.
Keywords:matrixfactorization;statespacemodel;EMalgorithm;Kalmanfiltering
0 引言
推荐系统作为解决信息过载问题的有效手段在诸多领域得
到了广泛应用。矩阵分解是目前实现推荐系统的主流方法,包
括奇异值分解
[1,2]
(singularvaluedecomposition,SVD)、非负矩阵
分解
[3,4]
(nonnegativematrixfactorization,NMF)、概 率 矩 阵 分
解
[5~7]
(probabilisticmatrixfactorization,PMF)等。矩阵分解是一
种基于线性分析的无监督潜因子学习方法,在给定的损失函数
下获得一个最优解并拟合出一个低阶近似矩阵。用户—项目评
分矩阵的每一项都是受高斯白噪声干扰的用户和项目潜在特征
线性组合的结果,因此用户和项目的潜在特征从每个用户对项
目的评分中推断而出,并且根据这种潜在特征估计用户对缺失
项目的评分和用户间兴趣的相似度。在发现不同的特性时,通
常假设潜在特性的数量远小于用户的数量和项目的数量
[8]
。
传统的矩阵分解方法使用历史数据学习得到的是用户和
项目在某一时刻的单点特征,而且数据的时间顺序与模型及推
荐结果无关,因此得到的模型为静态模型。但实际上用户的兴
趣是有生命周期的,用户的兴趣从产生、发展、达到高峰、消退,
会经历一个兴趣漂移的过程。从生命周期的角度,可以将用户
的兴趣分为长期兴趣、短期兴趣和周期性兴趣,因此将全部历
史数据在时间上不加区分地视为整体来获得用户的兴趣模型
会大大降低推荐准确率和推荐精度。
目前已经有学者将时间因素引入矩阵分解方法中以解决
用户兴趣漂移问题,主要包括两类方法。一类是从用户间或项
目间时序行为的角度出发,将时序信息与矩阵分解方法相融
合。文献[
9]提出一种时间感知的隐因子模型,该模型将用户
对项目的评分分解成不同的部分,并考虑时间因素对不同部分
的影响,区分出瞬变因素与持久因素,并进一步通过矩阵分解
和领域模型进行推荐以解决标签推荐精度不足的问题。文献
[
10]提出了一种基于时序消费行为的最近邻建模方法,通过
构建基于时间序列的消费网络,获取用户或项目的相互影响关
系。该方法只考虑用户的消费时间,不需要额外的信息,通过
有向计算挖掘用户或项目间影响关系,从而识别用户或项目的
近邻集合。文献[
11]提出了一种适用于时序数据的矩阵分解
模型,将连续时间点上产生的数据构成的矩阵分解成两个低秩
矩阵,并提出该问题的概率图模型,然后得出最优化模型进行
求解。文献[12]针对大多数矩阵分解方法将时间数据作为单
独一维进行建模导致计算复杂度过高的问题,提出一种时序模
型与矩阵分解模型相结合的方法,通过提取推荐对象的特征并
挖掘时序数据特征的趋势来提高推荐结果的有效性。上述研
究虽然利用了数据的时序性,但是对时序信息描述精度不够,
得到的模型参数无法动态改变,因此不是真正的动态模型。针
对此问题,另一类方法则引入马尔可夫模型,将状态空间信息
与矩阵分解相结合,进一步提高推荐精度。文献[
13]提出一
种基于时间的嵌入式隐马尔可夫模型,并将会话信息嵌入到欧
几里德空间中。该模型计算用户与歌曲、歌曲与歌曲、会话与
会话之间的相似度,通过对三种效应的时间动力学建模,将其
第 37卷第 11期
2020年 11月
计 算 机 应 用 研 究
ApplicationResearchofComputers
Vol37No11
Nov.2020