,,,
(1.浙江工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310023;2.杭州市富陽(yáng)中學(xué),浙江 杭州 311400)
隨著社會(huì)發(fā)展進(jìn)步,人類已經(jīng)步入了一個(gè)信息過(guò)載的時(shí)代.針對(duì)這個(gè)情況,推薦系統(tǒng)從海量數(shù)據(jù)中挖掘有用信息向用戶推薦其感興趣的商品.推薦系統(tǒng)的這種特性對(duì)電子商務(wù)網(wǎng)站具有顯著作用[1].推薦所需的用戶信息包括顯式信息和隱式信息.顯式信息包括用戶對(duì)商品的評(píng)分、評(píng)價(jià)和投票信息,此類信息較為準(zhǔn)確、難以收集.隱式信息包括用戶點(diǎn)擊歷史、購(gòu)買歷史及收藏信息,該信息易收集、難以準(zhǔn)確描述用戶偏好(包含多種語(yǔ)義).隨著研究的深入,社交信息被作為一種補(bǔ)充信息來(lái)優(yōu)化推薦結(jié)果.社交網(wǎng)絡(luò)富含多種用戶關(guān)系,比如朋友關(guān)系、關(guān)注關(guān)系、社區(qū)關(guān)系及用戶上下文數(shù)據(jù)(地點(diǎn)、心情等).屬性信息也是一種補(bǔ)充信息,該信息對(duì)挖掘用戶的潛在偏好上具有一定的作用.屬性信息可分為用戶、商品及標(biāo)簽屬性信息.一般來(lái)說(shuō),用戶信息包括用戶年齡、性別、職業(yè)和所在地等.商品信息包括商品的分類、生產(chǎn)日期等.標(biāo)簽是一種特殊屬性,它將用戶和商品都關(guān)聯(lián)起來(lái).
在實(shí)際應(yīng)用中,推薦系統(tǒng)存在數(shù)據(jù)稀疏性和冷啟動(dòng)問(wèn)題.數(shù)據(jù)稀疏性是指用戶對(duì)商品評(píng)分?jǐn)?shù)量十分稀疏,比如Epinion數(shù)據(jù)集中有效評(píng)分僅占全部評(píng)分的0.05%[2].冷啟動(dòng)問(wèn)題包括用戶冷啟動(dòng)和商品冷啟動(dòng)問(wèn)題.用戶冷啟動(dòng)問(wèn)題是指對(duì)于用戶評(píng)分?jǐn)?shù)量很少或沒(méi)有而導(dǎo)致用戶推薦結(jié)果不準(zhǔn)確或難以推薦的問(wèn)題.商品冷啟動(dòng)問(wèn)題是指對(duì)于那些很少有人購(gòu)買或沒(méi)有人購(gòu)買的商品推薦不準(zhǔn)確或難以進(jìn)行推薦的問(wèn)題.筆者將首先介紹推薦系統(tǒng)的相關(guān)工作,然后介紹偏好自學(xué)習(xí)模型,包括建模方法、模型公式與推薦算法.接下來(lái)介紹實(shí)驗(yàn)的數(shù)據(jù)集、數(shù)據(jù)分布情況、實(shí)驗(yàn)設(shè)置、實(shí)驗(yàn)方案及結(jié)果.最后對(duì)工作進(jìn)行總結(jié)并給出論文后續(xù)工作.
推薦系統(tǒng)包含基于內(nèi)容的過(guò)濾(Content-based filtering)和協(xié)同過(guò)濾(Collaborative filtering).基于內(nèi)容的過(guò)濾在早期應(yīng)用較廣,現(xiàn)在主要用于新聞的個(gè)性化推薦.目前最為常用和成功的方法是協(xié)同過(guò)濾,其可分為基于鄰域的推薦(Neighbor-based CF)和基于模型的推薦(Model-based CF)[3].其中基于鄰域的推薦方法可分為基于用戶的協(xié)同過(guò)濾(User-user collaborative filtering or userKNN)和基于商品的協(xié)同過(guò)濾(Item-item collaborative filtering or itemKNN).這兩種方法都是在計(jì)算用戶或商品的相似度基礎(chǔ)上,選取相似度高于一定閾值的用戶或商品進(jìn)行推薦.基于模型的方法是從用戶信息中學(xué)習(xí)相應(yīng)的模型參數(shù),然后根據(jù)模型進(jìn)行推薦.該方法包括矩陣分解模型、聚類模型、貝葉斯模型和排序模型等.在相關(guān)論文中,PMF[4]構(gòu)建了一個(gè)用戶及商品概率模型,并通過(guò)梯度遞減方法學(xué)習(xí)模型參數(shù).BasicMF[5]類似于PMF,但其將評(píng)分矩陣分解為潛在用戶特征和潛在商品特征的特征向量,然后使用用戶和商品的潛在因子向量的乘積來(lái)表示預(yù)測(cè)評(píng)分.BaisedMF[6]在BasicMF的基礎(chǔ)上引入了用戶和商品的偏差值來(lái)提升推薦精度.SVD++[6]在BiasedMF的基礎(chǔ)上引入了顯式反饋和隱式反饋來(lái)提升預(yù)測(cè)精度.
在引入社交網(wǎng)絡(luò)之后,推薦方法的預(yù)測(cè)精度也得到提升.社交網(wǎng)絡(luò)可以分為基于信任機(jī)制和基于朋友機(jī)制的網(wǎng)絡(luò).信任機(jī)制網(wǎng)絡(luò)是單向且不對(duì)稱的,但朋友機(jī)制的網(wǎng)絡(luò)是雙向且對(duì)稱的.目前大部分社交網(wǎng)絡(luò)推薦模型都是在基于矩陣分解模型上的改進(jìn)方法.在相關(guān)論文中,CircleCon[3]在不同社交圈下根據(jù)用戶在圈內(nèi)的評(píng)分?jǐn)?shù)及用戶之間的共同評(píng)分來(lái)計(jì)算用戶之間的信任值.TrustMF[7]指出社交網(wǎng)絡(luò)中的用戶不僅受到其他用戶的影響同時(shí)也影響其他用戶這一前提,將社交信任信息劃分為信任空間和受信空間.MFC[8]引入交叉社區(qū)的概念,用戶特征向量應(yīng)接近與其所在社區(qū)的特征向量或其所在社區(qū)內(nèi)其他用戶的特征向量.
消費(fèi)者是否購(gòu)買及評(píng)價(jià)好壞也受到商品的某些屬性的影響[9].并且在獲取難度上,屬性信息獲取相對(duì)于社交數(shù)據(jù)以及評(píng)分?jǐn)?shù)據(jù)上更加容易,并且相較于隱式信息來(lái)說(shuō)其含義更加明確.但上述文獻(xiàn)忽略屬性信息的存在.針對(duì)這個(gè)問(wèn)題,胡新明[10]給出了三種方法(基于商品屬性效用疊加推薦、基于神經(jīng)網(wǎng)絡(luò)屬性推薦及基于屬性的協(xié)同過(guò)濾推薦).基于商品屬性效用疊加推薦使用TF-IDF[11]算法獲得用戶對(duì)每個(gè)商品屬性值的偏好權(quán)重,然后將各個(gè)屬性值的偏好疊加獲得最終的預(yù)測(cè)評(píng)分.這種方法采用的用戶屬性值偏好是固定,而且沒(méi)有考慮到屬性之間的交互情況.基于神經(jīng)網(wǎng)絡(luò)屬性推薦采用神經(jīng)網(wǎng)絡(luò)來(lái)擬合用戶、商品屬性值及評(píng)分值關(guān)系,這種方法計(jì)算復(fù)雜度高.基于屬性的協(xié)同過(guò)濾推薦算法將屬性關(guān)系加入到相似度計(jì)算過(guò)程中,這種方法在計(jì)算屬性的相似度和評(píng)分的相似度之后會(huì)導(dǎo)致整體預(yù)測(cè)效果下降.鄭麟等[12]在商品效用疊加推薦方法的基礎(chǔ),考慮到各屬性之間相互作用關(guān)系,減少盲目交互帶來(lái)的消極影響.該論文從用戶、商品與屬性類型三種方面分別與屬性進(jìn)行交互,使得屬性用戶偏好、商品關(guān)聯(lián)與類型特征相適應(yīng),并使用局部采樣的方法有效挖掘出有用特征.然而,上述的文獻(xiàn)中用戶對(duì)屬性偏好都是固定的,并且沒(méi)有從評(píng)分?jǐn)?shù)據(jù)中挖掘用戶更好的偏好信息.筆者算法在屬性信息和評(píng)分?jǐn)?shù)據(jù)上構(gòu)建模型以自學(xué)習(xí)屬性偏好.該方法相較于屬性效用疊加推薦的固定屬性權(quán)重考慮擁有相同屬性用戶的個(gè)體差異,較之于神經(jīng)網(wǎng)絡(luò)的屬性模型在復(fù)雜度上簡(jiǎn)單,與屬性協(xié)同過(guò)濾模型采用屬性信息和評(píng)分信息計(jì)算相似度后再執(zhí)行協(xié)同過(guò)濾,在運(yùn)行時(shí)間上較快.筆者模型簡(jiǎn)單、訓(xùn)練速度較快,并在評(píng)分?jǐn)?shù)據(jù)稀疏時(shí)能提升預(yù)測(cè)精度.
在相關(guān)理論中,用戶信息中的評(píng)分?jǐn)?shù)據(jù)是使用評(píng)分矩陣來(lái)描述.評(píng)分矩陣R∈Rn×m由n個(gè)用戶和m個(gè)商品組成,其中元素ruj為用戶u對(duì)商品j的評(píng)分,評(píng)分矩陣一般只有少量實(shí)際用戶評(píng)分.
屬性信息分為用戶屬性和商品屬性,每個(gè)屬性可能有一個(gè)或多個(gè)屬性值,比如性別的屬性值有男、女.用戶對(duì)商品具有評(píng)分,屬性值對(duì)商品也有相應(yīng)的評(píng)分.該評(píng)分可以通過(guò)所有包含該屬性值的用戶對(duì)商品的平均評(píng)分來(lái)進(jìn)行表示.
基本矩陣分解方法BasicMF[5]將用戶和商品的評(píng)分矩陣映射到由一群潛在因子組成的向量空間.用戶和商品可以用該潛在空間中的潛在因子向量進(jìn)行表示.該方法使用用戶潛在因子和商品潛在因子向量的內(nèi)積來(lái)表示用戶對(duì)商品的預(yù)測(cè)評(píng)分.該模型[5]為
(1)
式中:K為訓(xùn)練集中rui已知的用戶物品對(duì)(u,i)的集合;pu為用戶u的潛在因子向量;qi為商品i的潛在因子向量;P和Q分別為用戶和商品潛在因子矩陣;‖P‖2,‖Q‖2為Frobenius范式,其計(jì)算式為
(2)
λ(‖P‖2+‖Q‖2)部分用于避免過(guò)度擬合.該模型可設(shè)定相應(yīng)的潛在因子數(shù)量后進(jìn)行梯度遞減迭代進(jìn)行訓(xùn)練得到模型參數(shù).
首先對(duì)預(yù)測(cè)評(píng)分模型進(jìn)行建模,然后給出模型的訓(xùn)練公式和算法流程.
首先給出模型基本假設(shè)及屬性評(píng)分計(jì)算方法,然后給出在各種屬性信息(單屬性值屬性、多屬性值屬性及標(biāo)簽數(shù)據(jù))下的預(yù)測(cè)評(píng)分公式.
3.1.1 模型假設(shè)
假設(shè)每個(gè)用戶對(duì)商品的評(píng)分取決于其各個(gè)屬性,并且每個(gè)用戶可以對(duì)自己的屬性中屬性值表示相應(yīng)的偏好程度(喜愛(ài)或厭惡).用戶對(duì)物品的預(yù)測(cè)評(píng)分可以根據(jù)用戶對(duì)自己屬性下屬性值的偏好程度和屬性值對(duì)商品的平均評(píng)分的乘積得到.
該假設(shè)將用戶屬性看成一個(gè)個(gè)虛擬信任用戶,然后使用用戶對(duì)屬性的信任程度(偏好)與信任用戶(屬性)對(duì)商品評(píng)分的乘積來(lái)預(yù)測(cè)用戶對(duì)商品的評(píng)分,如圖1所示.
圖1 用戶預(yù)測(cè)評(píng)分組成Fig.1 Composition of user predict rating
3.1.2 屬性值評(píng)分
傳統(tǒng)方法使用平均評(píng)分來(lái)表示屬性值對(duì)物品的真實(shí)評(píng)分.當(dāng)平均評(píng)分的平均數(shù)量過(guò)少或沒(méi)有時(shí),傳統(tǒng)方法就不能很好體現(xiàn)用戶真實(shí)評(píng)分.為此,模型使用加權(quán)平均評(píng)分來(lái)表示屬性值評(píng)分.其定義為
(3)
α=nyj/(nyj+w)
(4)
β=(1-α)nxj/(nxj+w)
(5)
γ=1-α-β
(6)
3.1.3 實(shí)例說(shuō)明
針對(duì)上述模型假設(shè),下面結(jié)合例子進(jìn)行說(shuō)明.
假設(shè)用戶Mary的性別為女,職業(yè)為軟件工程師,并且Mary的評(píng)分僅與性別和職業(yè)這兩個(gè)屬性有關(guān),而且Mary對(duì)這兩個(gè)屬性的偏好程度分別為0.3,0.7.
假設(shè)女性用戶會(huì)對(duì)商品j評(píng)分為3,工程師用戶對(duì)商品j評(píng)分為4,則Mary對(duì)商品j的預(yù)測(cè)評(píng)分為
0.3×3+0.7×4=3.7.
3.1.4 單屬性值屬性
單屬性值屬性包含一個(gè)屬性值,其預(yù)測(cè)評(píng)分較為簡(jiǎn)單.其定義如下:
假設(shè)用戶屬性數(shù)量為n′,用戶屬性偏好矩陣C∈Rn×n′,其中元素cuy∈[-1,1]表示用戶u對(duì)屬性x下的屬性值y的偏好程度.當(dāng)屬性只有唯一屬性值時(shí),其預(yù)測(cè)評(píng)分表示為
(7)
3.1.5 多屬性值屬性
多屬性值屬性包含多個(gè)屬性值,對(duì)單屬性值的預(yù)測(cè)評(píng)分公式進(jìn)行擴(kuò)展,其預(yù)測(cè)評(píng)分為
(8)
3.1.6 標(biāo)簽數(shù)據(jù)
標(biāo)簽數(shù)據(jù)是一種特殊屬性,與傳統(tǒng)的屬性單向關(guān)聯(lián)不同,標(biāo)簽數(shù)據(jù)是雙向關(guān)聯(lián).標(biāo)簽數(shù)據(jù)是單屬性值的一種特殊情況,其屬性值和屬性是相同.假設(shè)標(biāo)簽數(shù)量為k′,其預(yù)測(cè)評(píng)分為
(9)
根據(jù)上述預(yù)測(cè)評(píng)分模型,本節(jié)提出了用戶屬性自學(xué)習(xí)模型UP和商品屬性自學(xué)習(xí)模型IP模型.
這里首先定義模型訓(xùn)練所需損失函數(shù)的基本形式,然后對(duì)屬性值評(píng)分進(jìn)行改進(jìn),并在損失函數(shù)中加入相應(yīng)正規(guī)化項(xiàng)以避免過(guò)度擬合,最后給出UP模型定義、算法流程.
3.2.1 損失函數(shù)
模型使用最小平方距離定義預(yù)測(cè)評(píng)分和實(shí)際評(píng)分的誤差,并通過(guò)損失函數(shù)來(lái)學(xué)習(xí)用戶屬性偏好矩陣.定義損失函數(shù)為
(10)
3.2.2 正規(guī)化處理
通過(guò)正規(guī)化項(xiàng)來(lái)避免在模型過(guò)度擬合的情況.
首先,由于模型在訓(xùn)練中只對(duì)有購(gòu)買過(guò)商品的用戶的屬性值偏好進(jìn)行學(xué)習(xí).故當(dāng)用戶購(gòu)買歷史中用戶屬性值所對(duì)應(yīng)的商品數(shù)量過(guò)少時(shí),用戶對(duì)其屬性值偏好程度占總偏好程度應(yīng)該低.故正規(guī)項(xiàng)定義為
(11)
式中:λ為正規(guī)化基本常數(shù);nyj為屬性值所對(duì)應(yīng)的商品j的次數(shù);w為特定收縮常數(shù).該式在屬性值所對(duì)應(yīng)的商品數(shù)量少時(shí)壓制用戶對(duì)屬性值的偏好程度cuy上升.
此外,模型采用的是偏好程度與屬性值評(píng)分的乘積來(lái)表示預(yù)測(cè)評(píng)分.因此模型在訓(xùn)練時(shí)需要保證一個(gè)隱式約束,使得用戶對(duì)其所有屬性下的屬性值偏好的總和應(yīng)在1的左右浮動(dòng),而不是遠(yuǎn)遠(yuǎn)超過(guò)或小于1.故第二個(gè)正規(guī)項(xiàng)為
(12)
3.2.3 用戶屬性偏好自學(xué)習(xí)模型(UP)
結(jié)合前面提出的屬性偏好模型、屬性值評(píng)分和正規(guī)化項(xiàng),UP模型損失函數(shù)可定義為
(13)
式中:正規(guī)化項(xiàng)Auy,Bu的定義見(jiàn)式(11,12),梯度遞減模型的偏導(dǎo)為
(14)
(15)
然后分別對(duì)cuy執(zhí)行式(15)并且同時(shí)調(diào)整學(xué)習(xí)因子θ直至收斂.算法的偽代碼描述如下:
輸入 評(píng)分矩陣R,屬性信息
輸出 用戶屬性偏好矩陣C
1) Fori=1 to迭代次數(shù)
2)L=0
3) For(用戶u,物品j)∈R
5) Foryin用戶u的屬性值集合
8) End
10)L=err×err
11) Foryin用戶u的屬性值集合
12)cux=cux-θ×(?L/?cux)
13)L=L+∑Auy+∑Bu
14) End
15) End
16)L=L×0.5
17) 動(dòng)態(tài)調(diào)整θ以達(dá)到收斂
18) End
3.2.4 物品屬性偏好自學(xué)習(xí)模型(IP)
通過(guò)轉(zhuǎn)換角度,可假設(shè)物品購(gòu)買用戶而不是傳統(tǒng)的用戶購(gòu)買物品,就可以得到物品屬性優(yōu)化模型.該模型實(shí)際上是用戶對(duì)物品屬性的偏好程度.其定義如下:
假設(shè)物品屬性數(shù)量為m′,物品屬性偏好矩陣為D∈Rm×m′,其元素djx為物品j對(duì)其物品屬性x的信任程度.其評(píng)分預(yù)測(cè)為
(16)
(17)
3.2.5 時(shí)間復(fù)雜度
在時(shí)間復(fù)雜度上,模型復(fù)雜度為O(nmkh),其中:h為模型中屬性值的數(shù)量;k為潛在因子數(shù)量;n為用戶數(shù)量;m為物品數(shù)量.其時(shí)間復(fù)雜度優(yōu)于基于用戶或物品相似度的UserKNN的O(m2n)及ItemKNN的O(n2m),接近與基本矩陣模型的迭代學(xué)習(xí)O(nmk).
在本算法中,當(dāng)屬性含有非常多的屬性值時(shí),這種情況導(dǎo)致相應(yīng)的屬性偏好矩陣C,D的維數(shù)過(guò)大.而且屬性信息也存在著冷啟動(dòng)問(wèn)題的問(wèn)題.這些問(wèn)題都會(huì)導(dǎo)致推薦精度不高且復(fù)雜度高.為此,篩選其中評(píng)分?jǐn)?shù)量較多的屬性值加入模型中以減少維數(shù).
這里先介紹兩大實(shí)驗(yàn)數(shù)據(jù)集,然后對(duì)數(shù)據(jù)集進(jìn)行稀疏性分析,再給出實(shí)驗(yàn)方案,最后對(duì)筆者算法和其他算法的進(jìn)行實(shí)驗(yàn)比較.
4.1.1 Yelp數(shù)據(jù)集
Yelp為美國(guó)商戶點(diǎn)評(píng)網(wǎng)站,用戶可以在Yelp上給商戶評(píng)分、評(píng)論等.該數(shù)據(jù)集(Yelp第7輪數(shù)據(jù)集挑戰(zhàn))包含商戶的所在地址、城市和分類,用戶的評(píng)分?jǐn)?shù)量、朋友信息及用戶對(duì)商戶的消費(fèi)評(píng)分、評(píng)論等信息.該數(shù)據(jù)集(表1)包含36萬(wàn)用戶和6萬(wàn)商戶(剔除沒(méi)有評(píng)分的商戶)及152萬(wàn)評(píng)分信息(多次重復(fù)消費(fèi)評(píng)分只選取其第一次評(píng)分).實(shí)驗(yàn)中所采用的屬性信息為商戶的分類(共781種)及城市信息(共372個(gè)).
表1 實(shí)驗(yàn)數(shù)據(jù)集Table 1 The experiment dataset
4.1.2 MovieLens-1m數(shù)據(jù)集(M1M)
MovieLen數(shù)據(jù)集[13-15]為用戶電影評(píng)價(jià)數(shù)據(jù)集,實(shí)驗(yàn)數(shù)據(jù)集(表1)包含了100萬(wàn)的匿名評(píng)分(五分制),其中有3 952部電影及6 040個(gè)用戶.用戶信息包含用戶ID、性別、年齡、職業(yè)和郵政編號(hào),電影屬性包含電影ID、電影名和分類.其中年齡被分成小于18,18~24,25~34,35~44,45~49,50~55,56+這些分段,職業(yè)也有很多類型,電影的分類有動(dòng)畫(huà)片、兒童劇、喜劇、犯罪和紀(jì)錄片等.
4.2.1 評(píng)分?jǐn)?shù)據(jù)稀疏性分析
圖2,3分別繪制出評(píng)分?jǐn)?shù)量為0~50+的用戶和物品評(píng)分?jǐn)?shù)量的分布.出于顯示效果的考慮,圖2,3只給出在0~800+的用戶數(shù)量和商品數(shù)量.其中Yelp中用戶評(píng)分?jǐn)?shù)量大部分(97%)小于20(存在用戶冷啟動(dòng)問(wèn)題),而M1M中用戶評(píng)分?jǐn)?shù)量都大于20(不存在物品冷啟動(dòng)問(wèn)題).另外,Yelp中商品的評(píng)分?jǐn)?shù)量大部分(75.8%)小于20(物品冷啟動(dòng)問(wèn)題),而M1M中商品評(píng)分?jǐn)?shù)量較多,評(píng)分?jǐn)?shù)量小于20的物品數(shù)僅占17.9%.
圖2 用戶評(píng)分?jǐn)?shù)量稀疏性分析Fig.2 Sparse analysis of user rating number
圖3 商品評(píng)分?jǐn)?shù)量稀疏性分析Fig.3 Sparse analysis of item ratings number
4.2.2 屬性評(píng)分稀疏性分析
圖4,5分別給出了Yelp和M1M中屬性對(duì)(即屬性值和商品或用戶的二元組)評(píng)分?jǐn)?shù)量分布的稀疏性分析.出于顯示效果的考慮,圖4,5只給出在0~800+的屬性對(duì)數(shù)量.在圖4中,Yelp商品屬性中城市屬性對(duì)評(píng)分?jǐn)?shù)量小于10的占總的屬性對(duì)數(shù)量的99.98%,分類信息占99.99%,兩個(gè)屬性評(píng)分分布非常稀疏.出于顯示效果的考慮,圖5將M1M中用戶屬性和商品屬性合并在一起,其中性別、年齡、職業(yè)和地域?yàn)橛脩魧傩裕诸愂巧唐穼傩?在圖5中,M1M中屬性評(píng)分?jǐn)?shù)量小于10的百分比分別為性別21.8%,年齡49.1%,職業(yè)68.7%,地域100%,分類60.0%.性別屬性評(píng)分分布稀疏度低,年齡、職業(yè)和分類稀疏度較高,地域的稀疏度非常高.
圖4 Yelp屬性對(duì)評(píng)分?jǐn)?shù)量稀疏性分析Fig.4 Sparse analysis of yelp attributes pairs
圖5 M1M屬性對(duì)評(píng)分?jǐn)?shù)量稀疏性分析Fig.5 Sparse analysis of M1M attributes pairs
實(shí)驗(yàn)使用MAE和RMSE來(lái)評(píng)估預(yù)測(cè)精度.MAE和RMSE分別通過(guò)預(yù)測(cè)評(píng)分和實(shí)際評(píng)分的誤差的絕對(duì)值、平方值來(lái)表示預(yù)測(cè)精度.其計(jì)算式定義為
(18)
(19)
首先將數(shù)據(jù)集按4︰1隨機(jī)劃分訓(xùn)練集和測(cè)試集.在訓(xùn)練集上進(jìn)行模型訓(xùn)練,在測(cè)試集上進(jìn)行模型測(cè)試.記錄模型算法的5次運(yùn)行(訓(xùn)練+測(cè)試)得到MAE和RMSE,使用預(yù)測(cè)指標(biāo)平均值來(lái)表示實(shí)驗(yàn)結(jié)果.模型的訓(xùn)練迭代次數(shù)為200次,學(xué)習(xí)系數(shù)θ初始值為0.01,潛在因子數(shù)量都設(shè)為10.
4.4.1 Yelp數(shù)據(jù)集
在Yelp數(shù)據(jù)集中,固定參數(shù)λα=0.3,λb=1.0,w=20,分別對(duì)城市、分類及城市+分類執(zhí)行IP模型(表2).分類的屬性值共781個(gè),城市屬性值共371個(gè).在兩者屬性評(píng)分分布稀疏性相差不大(圖4)時(shí),分類的屬性值較多,故其預(yù)測(cè)效果好于城市屬性的效果.當(dāng)結(jié)合兩者屬性時(shí),IP模型取得了更好的RMSE.
表2 Yelp屬性IP模型結(jié)果Table 2 The RMSE result of yelp attributes
4.4.2 M1M數(shù)據(jù)集
在M1M數(shù)據(jù)集中,固定參數(shù)λa=0.05,λb=0.001,w=10,對(duì)用戶屬性執(zhí)行UP模型,對(duì)商品屬性執(zhí)行IP模型(表3).
表3 M1M屬性UP模型RMSE結(jié)果Table 3 The RMSE result of M1M user attributes
用戶屬性的屬性值數(shù)量分別為性別2個(gè)、年齡7個(gè)、職業(yè)21個(gè)和地域3 403個(gè).性別的屬性值評(píng)分分布相較于其他屬性更加稠密(圖5),但其屬性值數(shù)量少,所以預(yù)測(cè)精度與屬性年齡、職業(yè)相差不大.對(duì)于地域?qū)傩?,其屬性值?shù)量為3 403,數(shù)量最大,但其屬性評(píng)分分布稀疏性非常高(圖5),所以其RMSE最低.當(dāng)結(jié)合所有用戶屬性進(jìn)行訓(xùn)練的預(yù)測(cè)精度為0.917,其預(yù)測(cè)精度偏向與用戶屬性中較優(yōu)預(yù)測(cè)精度,且不受預(yù)測(cè)精度低的地域?qū)傩杂绊?
4.4.3 算法比較
表4為BasicMF,ItemKNN,UserKNN與筆者的UP,IP的配置參數(shù)列表.表5為預(yù)測(cè)精度比較結(jié)果.
在Yelp數(shù)據(jù)集上,BasicMF,ItemKNN,UserKNN的表現(xiàn)低于筆者算法的預(yù)測(cè)精度(表5),這是由于Yelp中評(píng)分?jǐn)?shù)據(jù)較為稀疏.筆者算法利用屬性信息在評(píng)分?jǐn)?shù)據(jù)稀疏下結(jié)合屬性信息對(duì)預(yù)測(cè)精度進(jìn)行了提升.在M1M數(shù)據(jù)集中,評(píng)分?jǐn)?shù)據(jù)稠密,BasicMF,ItemKNN,UserKNN的預(yù)測(cè)精度較高,筆者的預(yù)測(cè)精度較為接近UserKNN的預(yù)測(cè)效果.
表6為M1M數(shù)據(jù)集下各算法的運(yùn)行一次的訓(xùn)練、測(cè)試時(shí)間(迭代次數(shù)為100)比較.算法運(yùn)行所在的測(cè)試機(jī)的運(yùn)行環(huán)境為Window7 64位,內(nèi)存4 G,CPU為Intel Core i3,jdk8,eclipse 4.5.2.
筆者的算法在運(yùn)行時(shí)間(訓(xùn)練時(shí)間+測(cè)試時(shí)間,其比較見(jiàn)表4)上優(yōu)于UserKNN,ItemKNN,并接近與BasicMF的運(yùn)行時(shí)間,與算法復(fù)雜度分析相符,如表5所示.
表4 算法參數(shù)設(shè)定Table 4 Algorithm parameters setting
表5 算法預(yù)測(cè)精度RMSE比較Table 5 Comparison of algorithm predictive precision
表6 算法運(yùn)行時(shí)間比較Table 6 Comparison of algorithm running time s
筆者算法結(jié)合UserKNN,ItemKNN,BasicMF優(yōu)點(diǎn),具有可解釋性且模型訓(xùn)練速度較快,并在評(píng)分稀疏時(shí)較UserKNN,ItemKNN,BasicMF預(yù)測(cè)精度高.筆者算法類似于基于內(nèi)容的推薦方法,但筆者算法從屬性信息和評(píng)分?jǐn)?shù)據(jù)中自學(xué)習(xí)屬性偏好,而不需像基于內(nèi)容推薦方法那樣人工調(diào)整偏好.屬性信息的獲取上較之其他信息更加容易.由于屬性優(yōu)化的好壞取決于屬性的屬性值數(shù)量和屬性評(píng)分分布稀疏程度,后續(xù)將研究如何對(duì)相關(guān)屬性進(jìn)行聚類以減輕屬性值評(píng)分的稀疏性情況.
[1] RICCI F, ROKACH L, SHAPIRA B, et al.Recommend system handbook[M]. New York:Springer US,2011:4-7.
[2] GUO G, ZHANG J, YORKE-SMITH N. TrustSVD: collaborative filtering with both the explicit and implicit influence of user trust and of item ratings[C]//Proceedings of the Twenty-Ninth AAAI Conference on Artificial Intelligence. Austin Texas: AAAI,2015:123-129.
[3] YANG X, GUO Y, LIU Y, et al. A survey of collaborative filtering based social recommender systems[J]. Computer communications,2013,41(5):1-10.
[4] SALAKHUTDINOV R, MNIH A. Probabilistic Matrix Factorization[C]//Advances in Neural Information Processing Systems. Vancouver: NIPS,2007:1257-1264.
[5] KOREN Y, BELL R, VOLINSKY C. Matrix factorization techniques for recommender systems[J]. Computer,2009(8):30-37.
[6] KOREN Y. Factorization meets the neighborhood: a multifaceted collaborative filtering model[C]//Proceedings of the 14th ACM SIGKDD international conference on Knowledge discovery and data mining. Las Vegas: ACM,2008:426-434.
[7] YANG B, LEI Y, LIU D, et al. Social collaborative filtering by trust[C]//Proceedings of the Twenty-Third International Joint Conference on Artificial Intelligence. Washington: AAAI,2013:2747-2753.
[8] LI H, WU D, TANG W, et al. Overlapping community regularization for rating prediction in social recommender systems[C]//Proceedings of the 9th ACM Conference on Recommender Systems. Vienna:ACM,2015:27-34.
[9] 陸奇斌,趙平,王高,等.消費(fèi)者滿意度測(cè)量中的光環(huán)效應(yīng)[J].心理學(xué)報(bào),2005,37(4):524-534.
[10] 胡新明.基于商品屬性的電子商務(wù)推薦系統(tǒng)研究[D].武漢:華中科技大學(xué),2012.
[11] 劉端陽(yáng),王良芳.基于語(yǔ)義詞典和詞匯鏈的關(guān)鍵詞提取算法[J].浙江工業(yè)大學(xué)學(xué)報(bào),2013,41(5):545-551.
[12] 鄭麟,朱福喜,姚杏.基于屬性提升與局部采樣的推薦評(píng)分預(yù)測(cè)[J].計(jì)算機(jī)學(xué)報(bào),2016,39(8):1501-1514.
[13] HARPER F M, KONSTAN J A. The movielens datasets: history and context[C]//The Problem of the Southern Sudan. Oxford: Oxford University Press,1963:1068-1074.
[14] 孟利民,趙維,應(yīng)頌翔.評(píng)分預(yù)測(cè)問(wèn)題中個(gè)性化推薦模型的研究[J].浙江工業(yè)大學(xué)學(xué)報(bào),2016,44(2):119-123.
[15] 龍勝春,傅佳琪,堯麗君.改進(jìn)型k-means算法在腸癌病理圖像分割中的應(yīng)用[J].浙江工業(yè)大學(xué)學(xué)報(bào),2014,42(5):581-585.