古來 黃俊 張若凡
摘要:為了改善傳統(tǒng)協(xié)同過濾推薦算法的冷啟動與數(shù)據(jù)稀疏問題,基于概率矩陣分解模型,將用戶屬性、物品關(guān)系與時序行為融合到模型中,通過不斷調(diào)整3種模型所占權(quán)重,得到最小的RMSE值。在Movielens數(shù)據(jù)集上進(jìn)行實驗,并與其它相關(guān)算法的RMSE值進(jìn)行比較。實驗結(jié)果表明,結(jié)合多信息的概率矩陣分解模型的RMSE值低于其它推薦方法,即推薦精度優(yōu)于其它方法。結(jié)合多信息的概率矩陣分解模型,在數(shù)據(jù)稀疏情況下,也能保持較好的推薦性能,推薦精度得到一定程度提升。
關(guān)鍵詞:協(xié)同過濾;用戶屬性;物品關(guān)系;時序行為;PMF
DOIDOI:10.11907/rjdk.181146
中圖分類號:TP301
文獻(xiàn)標(biāo)識碼:A文章編號文章編號:16727800(2018)009006705
英文標(biāo)題Probability Matrix Factorization Model Combined with Multiple Information
--副標(biāo)題
英文作者GU Lai,HUANG Jun,ZHANG Ruofan,GU Zhixing,XU Ermin
英文作者單位(School of Telecommunications and Information Engineering,Chongqing University of Posts and Telecommunication,Chongqing 400065,China)
英文摘要Abstract:In order to improve the cold start and data sparsity of the traditional collaborative filtering recommendation algorithm,user attributes,item relationship and sequential behavior are merged into probabilistic matrix factorization model,and the minimum RMSE value is obtained by constantly adjusting the weight of the three models.Experiments on the Movielens data set are compared with the RMSE values of other related algorithms.The experimental results show that the RMSE value of the probability matrix factorization model with multiple information is lower than other recommended methods,and recommendation accuracy is better than the other methods.The probability matrix factorization model combined with multi information can also maintain better recommendation performance in the case of data sparsity,and the accuracy of recommendation is improved.
英文關(guān)鍵詞Key Words:collaborative filtering;user attributes;items relationship;sequential behaviors;PMF
0引言
如今,每天的生活中充斥著大量信息,用戶在海量信息中作出選擇十分困難,因而推薦系統(tǒng)應(yīng)運(yùn)而生,其能夠主動給用戶推薦滿足其需求的信息[1]。但推薦系統(tǒng)在實際應(yīng)用中,往往面臨著數(shù)據(jù)稀疏和冷啟動問題[3]。協(xié)同過濾[3]是推薦系統(tǒng)中運(yùn)用最廣泛的一種方法,可以分為基于鄰域[4]和基于模型[4]兩類。矩陣分解方法作為解決數(shù)據(jù)稀疏問題的方法之一,受到學(xué)者們的重點關(guān)注。根據(jù)文獻(xiàn)[5],SocialMF在計算用戶隱特征向量時,考慮了用戶社交信任的影響;根據(jù)文獻(xiàn)[6],RSTE既考慮了用戶自身偏好,又考慮了用戶信任朋友的偏好;根據(jù)文獻(xiàn)[7],TimeSVD++將時間因素加入SVD++中。
以上推薦方法的推薦效果都不錯,但其忽略了物品之間關(guān)系與用戶自身屬性。因此,本文提出一種結(jié)合用戶屬性、物品關(guān)系與時間因素的概率矩陣分解模型。
1概率矩陣分解模型
概率矩陣分解(Probability Matrix Factorization,PMF)[8]是隱語義模型的概率化形式,從概率角度預(yù)測用戶對物品的評分。在推薦系統(tǒng)中,給出N個用戶和M個物品。用戶對物品的喜好程度可以用一個N×M的評分矩陣表示:R=[Ri,j]N×M,其中Ri,j表示用戶i對物品j的評分。
使用PMF分解用戶—物品評分矩陣,得到兩個低維度的潛在特征矩陣,分別代表用戶特征和物品特征。其中,U∈RD×N代表用戶潛在特征,V∈RD×M代表物品潛在特征,D是隱特征維度。
根據(jù)用戶和物品隱特征矩陣,可以得到用戶i對物品j的評分:
R^i,j=UiTVj(1)
假設(shè)已有用戶物品評分?jǐn)?shù)據(jù)的條件概率分布函數(shù)為[9]:
p(R|U,V,σR2)=∏Ni=1∏Mj=1[N(Ri,j|UiTVj,σR2)]Iij(2)
其中,N(x|μ,σ2)表示均值為μ、方差為σ2的高斯分布概率密度函數(shù),Iij為指示函數(shù)。
假設(shè)用戶和物品的隱特征向量服從均值為0的高斯先驗[9]:
p(U|σU2)=∏Ni=1N(Ui|0,σU2I)(3)
p(V|σV2)=∏Mj=1N(Vj|0,σV2I)(4)
根據(jù)貝葉斯推理,隱特征向量U和V的后驗概率如下:
p(U,V|R,K,σR2,σU2,σV2)∝p(R|U,V,σR2)p(U|σU2)p(V|σV2)=∏Ni=1∏Mj=1[N(Ri,j|UiTVj,σR2)]Iij×∏Ni=1N(Ui|0,σU2I)×∏Mj=1N(Vj|0,σV2I)(5)
2算法實現(xiàn)
2.1結(jié)合用戶屬性的PMF
在PMF基礎(chǔ)上結(jié)合用戶自身屬性,并對不同屬性賦予不同權(quán)值 [10]。用戶的潛在特征受到其相似用戶潛在特征影響:
U^i=∑t∈QiKi,tUt(6)
其中,K為歸一化的用戶相似度矩陣,Qi為與用戶i相似的用戶集。本文根據(jù)用戶屬性求解用戶之間的相似度:
(1)性別。Uig表示用戶i的屬性g,wg表示性別屬性權(quán)值。定義用戶性別取值如下:
Uig=0,g=“男”1,g=“女” (7)
當(dāng)兩用戶性別相同,則性別相似度為1,反之為0。因此用戶性別相似度如下:
Simg(Ui,Uj)=0,[]Uig≠Ujgwg,[]Uig=Ujg(8)
(2)職位/郵編。職位和郵編屬性的相似度計算與性別類似,則相似度如下:
Simo(Ui,Uj)=0,[]Uio≠Ujowo,[]Uio=Ujo(9)
Simz(Ui,Uj)=0,[]Uiz≠Ujzwz,[]Uiz=Ujz(10)
(3)年齡。用戶年齡屬性的相似度計算如下:
Sima(Ui,Uj)=wa×(1-Uia-Ujamax(Uia,Uja))(11)
其中,Uia-Uja表示用戶年齡差,max (Uia,Uja)表示兩用戶中較大的年齡值。
綜上,用戶相似度如下:
Si,t=Simg(Ui,Ut)+Simo(Ui,Ut)+Sima(Ui,Ut)+Simz(Ui,Ut)(12)
各屬性的權(quán)值定義為:wg=0.1,wo=0.4,wa=02,wz=0.3。
用戶i對用戶j的預(yù)測評分如下:
R^i,j=∑t∈QiKi,tUtTVj(13)
對于用戶特征矩陣,服從高斯先驗分布:
p(U|K,σU2,σK2)∝p(U|σU2)×p(U|K,σK2)=∏Ni=1N(Ui|0,σU2I)×∏Ni=1N(Ui|∑t∈QiKi,tUt,σK2I)(14)
根據(jù)貝葉斯推理,用戶和物品特征的后驗概率如下:
p(U,V|R,K,σR2,σU2,σV2)∝p(R|U,V,σR2)p(U|K,σU2,σK2)p(V|σV2)=∏Ni=1∏Mj=1[N(Ri,j|UiTVj,σR2)]Iij×∏Ni=1N(Ui|∑t∈QiKi,tUt,σK2I)×∏Ni=1N(Ui|0,σU2I)×∏Mj=1N(Vj|0,σV2I)(15)
2.2結(jié)合物品信息的PMF
用戶之間存在一定關(guān)系,物品之間也存在著一定聯(lián)系。物品的潛在特征向量受到相似物品影響。
V^j=∑k∈FjPj,kVk(16)
其中,F(xiàn)j表示與物品j相似的物品集合,這里利用改進(jìn)的余弦相似度算法[11]。
Sj,k=∑i∈U(j)∩U(k)(Ri,j-R^i)(Ri,k-R^i)∑i∈U(j)∩U(k)(Ri,j-R^i)2·∑i∈U(j)∩U(k)(Ri,k-R^i)2(17)
用戶i對用戶j的預(yù)測評分如下:
R^i,j=∑k∈FjPj,kUiTVk(18)
物品的特征矩陣服從高斯先驗分布。
p(V|P,σV2,σP2)∝p(V|σV2)×p(V|P,σP2)=∏Mj=1N(Vj|0,σV2I)×∏Mj=1N(Vj|∑k∈FjPj,kVk,σP2I)(19)
根據(jù)貝葉斯推理,用戶和物品特征的后驗概率如下:
p(U,V|R,P,σR2,σU2,σV2)∝p(R|U,V,σR2)p(U|σU2)p(V|P,σV2,σP2)=∏Ni=1∏Mj=1N(Ri,j|UiTVj,σR2)Iij×∏Mj=1N(Vj|∑k∈FjPj,kVk,σP2I)×∏Ni=1N(Ui|0,σU2I)×∏Mj=1N(Vj|0,σV2I)(20)
2.3結(jié)合時間因素的PMF
借鑒圖論中有向圖的思想構(gòu)建基于用戶(物品)的消費(fèi)網(wǎng)絡(luò)圖,定義消費(fèi)網(wǎng)絡(luò)圖G={U,E},其中U表示用戶集合,E表示邊的集合,W表示邊的權(quán)重。若在一定時間段內(nèi),用戶i和用戶n先后購買了同一物品,則Ei→n的權(quán)重Wi→n加1。圖2是基于用戶的消費(fèi)網(wǎng)絡(luò)圖,定義用戶之間的影響關(guān)系權(quán)重如下:
Ti→n=Wi→nf(Ui,Un)(21)
其中,f(Ui,Un)表示兩用戶購買商品的并集,Ti→n為用戶i對用戶n的影響力。
基于物品的消費(fèi)網(wǎng)絡(luò)與圖2類似,圖3中邊的權(quán)重表示先后消費(fèi)兩商品的用戶數(shù)量。定義物品之間的影響關(guān)系權(quán)重如下:
Sj→m=Wj→mf(Vj,Vm)(22)
將這些信息融合到概率矩陣分解模型中,用戶(物品)特征向量受到相似用戶(物品)影響。
U^i=∑n∈NiTi→nUn(23)
V^j=∑m∈NjSj→mVm(24)
其中,Ni表示與用戶i有影響關(guān)系的用戶集合,Nj表示與物品j有影響關(guān)系的物品集合。
用戶i對物品j的預(yù)測評分如下:
R^i,j=∑n∈Ni∑m∈NjTi→nSj→mUnTVm(25)
用戶和物品的特征矩陣服從高斯分布:
p(U|T,σU2,σT2)∝p(U|σU2)×p(U|T,σT2)=∏Ni=1N(Ui|0,σU2I)×∏Ni=1N(Ui|∑n∈NiTi→nUn,σT2I)(26)
p(V|S,σV2,σS2)∝p(V|σV2)×p(V|S,σS2)=∏Mj=1N(Vj|0,σV2I)×∏Mj=1N(Vj|∑m∈NjTj→mVm,σS2I)(27)
根據(jù)貝葉斯推理,用戶和物品特征的后驗概率如下:
p(U,V|R,T,S,σR2,σU2,σV2)∝p(R|U,V,σR2)p(U|T,σU2,σT2)p(V|S,σV2,σS2)=∏Ni=1∏Mj=1N(Ri,j|UiTVj,σR2)Iij×∏Ni=1N(Ui|∑n∈NiTi→nUn,σT2I)×∏Mj=1N(Vj|∑m∈NjSj→mVm,σS2I)×∏Nj=1N(Ui|0,σU2I)×∏Mj=1N(Vj|0,σV2I)(28)
2.4模型融合
本文采用線性加權(quán)方式將3個模型合并成一個新模型,用戶和物品特征的后驗概率定義為:
p(U,V|R,K,P,T,S,σ2,σU2,σV2)=∏Ni=1∏Mj=1[N(Ri,j|αR0+βR1+γR2,σ2)]Iij×∏Ni=1N(Ui|0,σU2I)×∏Mj=1N(Vj|0,σV2I)(29)
其中,R0、R1和R2分別表示結(jié)合用戶屬性、物品關(guān)系和時間因素的預(yù)測評分。α、β和γ分別表示3個模型所占權(quán)重,且0≤α,β,γ≤1,α+β+γ=1。本文概率模型如圖4所示。
為便于求解,對后驗概率進(jìn)行對數(shù)處理:
lnp(U,V|R,K,P,T,S,σ2,σU2,σV2)=-12σ2∑Ni=1∑Mj=1Iij(Ri,j-(αR0+βR1+γR2))2-12σU2∑Ni=1UiTUi-12σV2∑Mj=1VjTVj-12((∑Ni=1∑Mj=1Iij)lnσ2+NDlnσU2+MDlnσV2)+C(30)
其中,C表示一個獨(dú)立于參數(shù)的常數(shù)。最大化取對數(shù)后的后驗概率等同于最小化帶有正則化項的誤差平方和:
L(R,K,P,T,S,U,V)=12∑Ni=1∑Mj=1Iij(Ri,j-(αR0+βR1+γR2))2+λU2∑Ni=1‖Ui‖2+λV2∑Mj=1‖Vj‖2(31)
其中,λU=σ2/σU2,λV=σ2/σV2。
根據(jù)梯度下降法[15],可得到每個用戶(商品)的特征向量。梯度計算方法如下:
LUi=α∑p∈Ai∑Mj=1Ipj(α∑t∈QpKp,tUtTVj+β∑k∈FjPj,kUpTVk+γ∑n∈Np∑m∈NjTp→nSj→mUnTVm-Rp,j)Kp,iVj+β∑Mj=1Iij(αR0+βR1+γR2-Ri,j)∑k∈FjPj,kVk+γ∑q∈Bi∑Mj=1Iqj(α∑t∈QqKq,tUtTVj+β∑k∈FjPj,kUqTVk+γ∑n∈Nq∑m∈NjTq→nSj→mUnTVm-Rq,j)∑m∈NjTq→iSj→mVm+λUUi
(32)
LVj=α∑Ni=1Iij(αR0+βR1+γR2-Ri,j)∑t∈QiKi,tUtT+β∑Ni=1∑r∈Cj(α∑t∈QiKi,tUtTVr+β∑k∈FrPr,kUiTVk+γ∑n∈Ni∑m∈NrTi→nSr→mUnTVm-Ri,r)Pr,jUiT+γ∑s∈Dj∑Ni=1(α∑t∈QiKi,tUtTVs+β∑k∈FsPs,kUiTVk+γ∑n∈Ni∑m∈NsTi→nSs→mUnTVm-Ri,s)∑n∈NiTi→nSs→jUnT+λVVj(33)
其中,Ai是用戶i在用戶屬性方面的相似用戶集合,Bi是用戶i在時序行為方面的影響用戶集合,Cj是物品j在物品關(guān)系方面的相似物品集合,Dj是物品j在時序行為方面的影響物品集合。
3實驗與分析
3.1實驗數(shù)據(jù)集
本文采用Movielens網(wǎng)站提供的數(shù)據(jù)文件ml-100k.zip[12]作為實驗數(shù)據(jù)集,數(shù)據(jù)集中包含信息如表1所示。
3.2實驗度量方法
本文采用均方根誤差(Root Mean Squared Error,RMSE)作為度量方法:
RMSE=1N∑i,j(Ri,j-R^i,j)2(34)
3.3對比實驗分析
為驗證本文模型效果,實驗選取4種方法與本文算法進(jìn)行對比,主要包括以下方法:①User_based[14]:基于用戶的協(xié)同過濾方法;②Item_based[1]:基于物品的協(xié)同過濾方法;③PMF[8]:利用用戶歷史行為數(shù)據(jù),將用戶評分矩陣分解為兩個低維特征矩陣;④TimeSVD++[13]:在SVD++算法基礎(chǔ)上考慮時間對評分預(yù)測的影響。
表2顯示了不同推薦方法在不同訓(xùn)練集和隱特征維度下的RMSE值對比結(jié)果。
通過對表中數(shù)據(jù)的分析與對比,可得出以下實驗結(jié)論:①隨著訓(xùn)練數(shù)據(jù)集增大,推薦準(zhǔn)確率也隨之提升。由表2可以看出,80%的訓(xùn)練集和90%的訓(xùn)練集相比,當(dāng)維度為5(10)時,本文算法的RMSE降低了1.31%(1.34%);②隱特征向量維度增大,可以提高推薦準(zhǔn)確率。RMSE的值隨著維度增大而減少,但計算復(fù)雜度也隨之增加;③在所有最理想情況下,與其它方法相比,本文算法的推薦精度得到一定程度提高。
4結(jié)語
本文將用戶屬性、物品信息和時間因素融合到概率矩陣分解模型中,提升了推薦的準(zhǔn)確性和多樣性,還一定程度上緩解了冷啟動和數(shù)據(jù)稀疏問題。后續(xù)研究如何將文本內(nèi)容數(shù)據(jù)信息融合到矩陣分解模型中,以進(jìn)一步提高算法推薦性能。
參考文獻(xiàn)參考文獻(xiàn):
[1]SARWAR B,KARYPIS G,KONSTAN J,et al.Item-based collaborative filtering recommendation algorithms[C].International Conference on World Wide Web.ACM,2001:285295.
[2]王升升,趙海燕,陳慶奎,等.基于社交標(biāo)簽和社交信任的概率矩陣分解推薦算法[J].小型微型計算機(jī)系統(tǒng),2016,37(5):921926.
[3]SARWAT M,MOKBEL M F.Collaborative filtering[M].New York:Springer ,2017.
[4]ZHANG H,LIU W,LIU W,et al.Discrete collaborative filtering[C].International ACM SIGIR Conference on Research and Development in Information Retrieval.ACM,2016:325334.
[5]WANG D,MA J,LIAN T,et al.Recommendation based on weighted social trusts and item relationships[C].ACM Symposium on Applied Computing.ACM,2014:254259.
[6]MAH,KINGI ,LYUMR,et al.Learning to recommend with social trust ensemble[C].International ACM Sigir Conference on Research & Development in Information Retrieval,2009:203210.
[7]RODRIGUES C M,RATHI S,PATIL G.An efficient system using item & userbased CF techniques to improve recommendation[C].International Conference on Next Generation Computing Technologies.IEEE,2017:569574.
[8]MI C,PENG P,XIAO L,et al.Recommendation algorithm based on user trust and interest with probability matrix factorization[C].International Conference on Advanced Cloud & Big Data.IEEE Computer Society,2017:355361.
[9]SALAKHUTDINOV R,MNIH A.Bayesian probabilistic matrix factorization using Markov chain Monte Carlo[C].International Conference on Machine Learning,2008:880887.
[10]鄭志蘊(yùn),賈春園,王振飛,等.基于微博的用戶相似度計算研究[J].計算機(jī)科學(xué),2017,44(2):262266.
[11]董祥和,齊莉麗,董榮和.優(yōu)化的協(xié)作過濾推薦算法[J].計算機(jī)工程與應(yīng)用,2009,45(8):229232.
[12]MI C,PENG P,XIAO L,et al.Recommendation algorithm based on user trust and interest with probability matrix factorization[C].International Conference on Advanced Cloud & Big Data.IEEE Computer Society,2017:355361.
[13]KOREN Y.Collaborative filtering with temporal dynamics[J].Communications of the ACM,2009,53(4):447456.
[14]項亮.推薦系統(tǒng)實踐[M].北京:人民郵電出版社,2012.
[15]潘彬.結(jié)合時間序列的協(xié)同主題回歸推薦算法研究[D].呼和浩特:內(nèi)蒙古大學(xué),2017.
責(zé)任編輯(責(zé)任編輯:黃?。?/p>