王 穎,趙海燕,陳慶奎,曹 健
1(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上?,F(xiàn)代光學(xué)系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,上海 200093) 2(上海交通大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)系,上海 200030) E-mail:18502122092@163.com
推薦系統(tǒng)無(wú)論在學(xué)術(shù)界還是工業(yè)界都是一直被討論的研究熱點(diǎn).推薦系統(tǒng)能夠使用戶(hù)從海量信息中找尋到有價(jià)值的信息及讓有價(jià)值的信息提供給對(duì)其感興趣的用戶(hù).目前,協(xié)同過(guò)濾是一種非常流行的推薦算法,又分為基于內(nèi)存的推薦和基于模型的推薦.基于模型的推薦系統(tǒng)在工業(yè)界取得了很好的成效,通過(guò)對(duì)用戶(hù)物品的評(píng)分或者購(gòu)買(mǎi)關(guān)系建立矩陣并學(xué)習(xí)隱含特征,以實(shí)現(xiàn)推薦.但是,基本的基于模型的推薦系統(tǒng)中并沒(méi)有將時(shí)間因素考慮進(jìn)去.現(xiàn)實(shí)中,用戶(hù)、物品都會(huì)隨著時(shí)間的推移其特征有不同的變化.一方面,用戶(hù)會(huì)隨著時(shí)間的變化有不同的興趣趨向,另一方面,物品的流行度等也會(huì)隨時(shí)間變化.為了得到更好的推薦效果,應(yīng)該考慮時(shí)間因素.在基本的算法基礎(chǔ)上,研究者們已經(jīng)提出了一些模型以考慮用戶(hù)興趣或者物品流行度隨時(shí)間的變化[1-4].
在考慮時(shí)間影響中,有一類(lèi)特殊的時(shí)間因素,即對(duì)那些上市時(shí)間不同的產(chǎn)品(如電影、音樂(lè)、衣服)等,人們?cè)谶x擇時(shí)將具有不同的理由.例如,對(duì)于新的電影,人們會(huì)出于大眾的評(píng)價(jià)、當(dāng)前的熱門(mén)程度等進(jìn)行“跟風(fēng)”式的消費(fèi);而對(duì)于舊的電影,人們的選擇將會(huì)更加理性,通常會(huì)出于自己對(duì)題材、導(dǎo)演或者演員等真正的喜好而觀看.這就說(shuō)明,新舊物品(本文中將上市時(shí)間長(zhǎng)的物品稱(chēng)為舊物品,剛上市的物品稱(chēng)為新物品,并對(duì)用戶(hù)對(duì)舊物品的評(píng)分或者使用數(shù)據(jù)成為舊時(shí)間域,用戶(hù)對(duì)新物品的評(píng)分或者使用數(shù)據(jù)稱(chēng)為新時(shí)間域)的隱特征、用戶(hù)對(duì)新舊物品上的隱特征具有差異性.目前,對(duì)此進(jìn)行研究的工作尚不多.我們?cè)谇捌谶\(yùn)用了聯(lián)合矩陣分解對(duì)此問(wèn)題進(jìn)行了研究并取得了一定效果.但是,聯(lián)合矩陣分解方法在分解時(shí)假設(shè)矩陣中具有公共的特征向量,從而導(dǎo)致獲得的特征主要決定于數(shù)據(jù)量大的矩陣,因而具有片面性,無(wú)法體現(xiàn)新舊物品特征差異和用戶(hù)在新舊物品上的選擇偏好.
本文中進(jìn)一步提出了基于轉(zhuǎn)換矩陣的區(qū)分物品時(shí)效性的推薦算法.通過(guò)對(duì)轉(zhuǎn)換矩陣的學(xué)習(xí),一方面充分考慮了新舊物品隱特征、用戶(hù)對(duì)新舊物品上的隱特征的差異性,另一方面又考慮了它們的相關(guān)性,能夠較好地適應(yīng)數(shù)據(jù)稀疏和冷啟動(dòng)的問(wèn)題.
本文后續(xù)內(nèi)容組織安排如下:第2節(jié)介紹了相關(guān)工作,重述了有關(guān)時(shí)間因素上的推薦研究和單域及多域上的基于模型推薦的算法;第3節(jié)量化的分析了各個(gè)域中物品隱特征、用戶(hù)對(duì)物品隱特征的差異性;第4節(jié)是基于轉(zhuǎn)換矩陣的區(qū)分物品時(shí)效性算法的詳細(xì)介紹;相關(guān)實(shí)驗(yàn)及實(shí)驗(yàn)結(jié)果在第5節(jié)中進(jìn)行了敘述.第6節(jié)是算法的總結(jié)及未來(lái)工作方向的分析.
“時(shí)間”在推薦系統(tǒng)中是一個(gè)不可忽視的因素,研究者已經(jīng)提出了一些模型來(lái)考慮時(shí)間對(duì)物品和用戶(hù)的影響.在[1]中,Ding認(rèn)為在推薦過(guò)程中,算法應(yīng)該加大用戶(hù)近期時(shí)間的興趣對(duì)推薦結(jié)果的影響,而用戶(hù)之前感興趣的物品的貢獻(xiàn)值要小于他現(xiàn)在感興趣的物品,因而在協(xié)同過(guò)濾的基礎(chǔ)上通過(guò)引入時(shí)間衰減函數(shù)來(lái)提高推薦系統(tǒng)的準(zhǔn)確度.文獻(xiàn)[2]中,作者通過(guò)用戶(hù)行為的先后順序,利用決策樹(shù)算法對(duì)其進(jìn)行建模.這也是考慮了用戶(hù)隨著時(shí)間的推移,對(duì)物品的興趣發(fā)生了變化.在文獻(xiàn)[3]中作者提出BPTF算法,利用矩陣分解模型,把時(shí)間作為新的一維,再采用張量分解的算法對(duì)數(shù)據(jù)進(jìn)行建模,然后用貝葉斯來(lái)避免調(diào)整參數(shù)和控制模型的復(fù)雜性.在文獻(xiàn)[4]中,作者提出了TimeSVD算法,在常規(guī)的加偏置項(xiàng)的SVD模型的基礎(chǔ)上增加時(shí)間特征向量,使用戶(hù)的特征向量、物品的特征向量可以隱式地從時(shí)間數(shù)據(jù)信息中學(xué)習(xí),獲取更多的信息提高推薦系統(tǒng)的精度.在文獻(xiàn)[5]中該算法通過(guò)用戶(hù)-項(xiàng)目二分圖為基礎(chǔ),引入衰減函數(shù),將時(shí)間綜合信息對(duì)推薦的影響量化成圖節(jié)點(diǎn)的關(guān)聯(lián)概率;然后采用輪盤(pán)賭模型根據(jù)關(guān)聯(lián)概率選擇游走目標(biāo);最終對(duì)每個(gè)用戶(hù)做出top-N推薦.以上研究雖然將時(shí)間考慮到推薦算法中,也一定程度上提高了推薦系統(tǒng)的精度,但是這些研究只是簡(jiǎn)單地將時(shí)間融合在基本模型上,沒(méi)有考慮新舊物品隱含特征的聯(lián)系及區(qū)別,以及用戶(hù)選擇新舊物品時(shí)出發(fā)點(diǎn)的不同.
在推薦算法中,基于模型的推薦算法取得了很好的成效,接下來(lái)我們介紹單矩陣分解和多域矩陣分解.
2.2.1 矩陣分解
矩陣分解(MF)[5]是基于模型的推薦算法的代表,它將一個(gè)評(píng)分矩陣分解成兩個(gè)低秩的矩陣:即用戶(hù)特征矩陣和物品特征矩陣.通過(guò)用戶(hù)特征和隱類(lèi)之間的關(guān)系,物品特征和隱類(lèi)之間的關(guān)系,預(yù)測(cè)用戶(hù)對(duì)物品的喜好程度.矩陣分解解決了單一領(lǐng)域上的推薦問(wèn)題.但是現(xiàn)實(shí)中用戶(hù)物品不僅僅是涉及一個(gè)關(guān)系域中的信息,而是可能涉及很多的域并相互影響.所以為了提高推薦精度,應(yīng)該考慮將多個(gè)關(guān)系域中的數(shù)據(jù)在矩陣分解時(shí)利用起來(lái).
2.2.2 多域矩陣分解
學(xué)者們近年來(lái)提出了聯(lián)合矩陣分解(Collective Matrix Factorization,CMF)[6]方法,它將多個(gè)有聯(lián)系的矩陣同時(shí)進(jìn)行分解,這些多個(gè)矩陣通過(guò)共享的一維向量進(jìn)行聯(lián)系.該算法是將用戶(hù)看作是一個(gè)立體的多維用戶(hù),挖掘不同域上矩陣分解所得特征向量之間的聯(lián)系.聯(lián)合矩陣分解對(duì)某些領(lǐng)域上的冷啟動(dòng)問(wèn)題可以提供解決方案.但是該算法也有一些缺點(diǎn):CMF學(xué)習(xí)訓(xùn)練得出的共享特征向量受這些域中數(shù)據(jù)量大小的直接影響,即共享特征向量主要是從數(shù)據(jù)量大的域中學(xué)習(xí)出來(lái)的,而忽略了數(shù)據(jù)量小的域中特征向量;其次,如果多個(gè)域中有冷啟動(dòng)的域,則統(tǒng)一特征向量主要是學(xué)習(xí)沒(méi)有冷啟動(dòng)的域中的數(shù)據(jù).這些特點(diǎn)使得該模型應(yīng)用與本文研究的問(wèn)題時(shí)也有一定的不足:根據(jù)不同時(shí)間節(jié)點(diǎn)劃分的新舊時(shí)間域上的數(shù)據(jù)量、冷啟動(dòng)情況具有差別,這樣共享的用戶(hù)特征向量主要從數(shù)據(jù)量多的域中或沒(méi)有冷啟動(dòng)的域中學(xué)習(xí)出來(lái),而忽略了其他不滿(mǎn)足條件的域中的信息數(shù)據(jù),從而使得共享特征——用戶(hù)特征不是很準(zhǔn)確,無(wú)法更好地對(duì)不同時(shí)間域上用戶(hù)對(duì)物品隱特征的差異性進(jìn)行學(xué)習(xí).
在[7]中提出了稱(chēng)之為異構(gòu)矩陣分解的算法.它認(rèn)為物品的特征在不同場(chǎng)景下需要通過(guò)對(duì)基本特征進(jìn)行轉(zhuǎn)換,為此,通過(guò)最大似然來(lái)對(duì)特征和轉(zhuǎn)換矩陣進(jìn)行學(xué)習(xí),并通過(guò)EM算法對(duì)模型參數(shù)進(jìn)行求解.該算法的復(fù)雜度很高.另外,由于最大似然定義在對(duì)所有評(píng)分上,依然存在學(xué)習(xí)出的模型偏重于數(shù)據(jù)多的領(lǐng)域的問(wèn)題.本文在目標(biāo)函數(shù)中對(duì)普通域、時(shí)間域上的偏差進(jìn)行單獨(dú)建模并通過(guò)參數(shù)調(diào)節(jié)其重要性,能夠適應(yīng)數(shù)據(jù)不平衡問(wèn)題.基于本文設(shè)計(jì)的目標(biāo)函數(shù),我們?cè)O(shè)計(jì)了相應(yīng)的隨機(jī)梯度下降算法.
通過(guò)第2節(jié)對(duì)相關(guān)工作的分析,可以知道目前已經(jīng)有一些推薦中考慮時(shí)效性的研究工作.但是,本文中考慮的時(shí)效性具有特殊性,即我們的目標(biāo)是區(qū)分新舊物品隱特征、用戶(hù)對(duì)新舊物品上的隱特征的差異性.那么這一現(xiàn)象是否是事實(shí)呢,我們可以對(duì)數(shù)據(jù)進(jìn)行分析來(lái)揭示這一現(xiàn)象.GroupLens小組提供的MovieLens數(shù)據(jù)集是一組從20世紀(jì)90年末到21世紀(jì)初由MovieLens用戶(hù)提供的電影評(píng)分?jǐn)?shù)據(jù),該數(shù)據(jù)集有2113的用戶(hù),有10109部電影.我們的分析和實(shí)驗(yàn)都在該數(shù)據(jù)集上進(jìn)行.
我們先來(lái)定量地分析用戶(hù)的基本特征向量和用戶(hù)在新、舊時(shí)間域上用戶(hù)特征向量的不同.在本算法中用歐式距離來(lái)衡量不同時(shí)間域物品的隱特征及用戶(hù)對(duì)物品的隱特征的差異.兩個(gè)n維向量a(x11,x12,…,x1n)與b(x21,x22,….x2n)的歐式距離:
(1)
如公式(1)中,d是兩個(gè)n維向量的距離.距離值d越小,說(shuō)明兩個(gè)不同域中的同一特征向量的差異小.我們通過(guò)對(duì)不同矩陣的分解可以得到用戶(hù)的特征向量,然后衡量同一用戶(hù)的特征向量的差別.
圖1中橫坐標(biāo)是特征向量的距離,縱坐標(biāo)是落在這個(gè)距離區(qū)間上的用戶(hù)數(shù)量.從圖1上可以看到統(tǒng)一特征向量和舊時(shí)間域上的用戶(hù)特征向量集中落在距離為1.5到3之間,在距離為2.5上的用戶(hù)達(dá)到最高—1200.而統(tǒng)一特征向量和時(shí)間域上的用戶(hù)特征向量在2.5-3.5范圍之間,用戶(hù)量最大的是落在這兩個(gè)區(qū)域?yàn)?的距離上.從圖1中可以看出用戶(hù)對(duì)新舊物品隱特征存在差異,所以不能將用戶(hù)的隱特征看作是同一特征向量,而是應(yīng)該區(qū)別對(duì)待不同的域中的隱特征.接著又計(jì)算了用戶(hù)對(duì)新舊物品的隱特征之間的距離.這兩個(gè)域上的距離在3.5和4的用戶(hù)為600.所以新時(shí)間域和舊時(shí)間域上的用戶(hù)對(duì)物品的隱特征還是有很大區(qū)別的.
圖1 用戶(hù)特征向量之間距離分布圖Fig.1 Distribution of the distance between the user factors
下面考慮物品之間隱特征的區(qū)別,如圖2所示.
圖2中的橫坐標(biāo)是不同域上的特征向量的距離,縱坐標(biāo)上是落入相應(yīng)距離的用戶(hù)數(shù)量.物品在不同時(shí)間域上也是有差異的.而且不同時(shí)間域上的物品和基本域上物品的特征向量也是有很大區(qū)別的.
圖2 物品特征向量之間距離分布圖Fig.2 Distribution of the distance between the item factors
通過(guò)上面的數(shù)據(jù)分析,可以明確看出不同域上的同一物品特征向量確實(shí)有自己的特性.這與我們的經(jīng)驗(yàn)是一致的.用戶(hù)具有基本的喜好趨向,例如,用戶(hù)喜歡的電影題材(動(dòng)作、愛(ài)情、喜劇、災(zāi)難等)等.對(duì)于新電影,用戶(hù)會(huì)根據(jù)這個(gè)時(shí)期的潮流、電影中的新技術(shù)、或者是電影的口碑效益等來(lái)選擇觀看的影片,而對(duì)于以前的老電影的選擇很大程度是源于用戶(hù)對(duì)它的某種情感,帶著懷念的情感來(lái)欣賞的.
基于之前的數(shù)據(jù)分析,我們知道了用戶(hù)對(duì)物品的隱特征或物品的隱特征在不同時(shí)間域上是不同的,而且與用戶(hù)或物品的基本域上的用戶(hù)特征也有很大的區(qū)別.所以?xún)H僅基于CMF模型來(lái)學(xué)習(xí)用戶(hù)的共享特征矩陣對(duì)推薦的精度是不準(zhǔn)確的.需要將用戶(hù)或物品的基本隱特征的信息遷移到用戶(hù)或物品的在新舊時(shí)間域上來(lái).這時(shí)就要通過(guò)學(xué)習(xí)轉(zhuǎn)換矩陣,將基本域上的隱特征轉(zhuǎn)換到特定時(shí)間域上來(lái),挖掘用戶(hù)或物品更多的信息,考慮這些域上的差異性與相關(guān)性,提高推薦的精度.
我們?cè)O(shè)計(jì)出基于轉(zhuǎn)換矩陣區(qū)分物品時(shí)效性的個(gè)性化推薦算法.本算法的核心在于考慮新舊時(shí)間域上的物品或用戶(hù)與基本域上的物品和用戶(hù)差異與聯(lián)系;還有用戶(hù)對(duì)新舊域上物品的選擇的消費(fèi)動(dòng)機(jī)存在差異性.
本模型由三個(gè)矩陣構(gòu)成,分別為Base Matrix,Old Matrix,New Matrix.Rbase(例如用戶(hù)觀看的全部影片的評(píng)分)中填充的是用戶(hù)對(duì)所有物品的評(píng)分,這個(gè)矩陣代表用戶(hù)對(duì)物品基本的喜好特征;Rold(例如觀看的舊電影的評(píng)分)中是對(duì)舊物品的評(píng)分記錄,這里的舊時(shí)間域是在T時(shí)間分界點(diǎn)之前的所有物品的評(píng)分;Rnew(例如觀看的新影片的評(píng)分)是距離T時(shí)間分界點(diǎn)之后出現(xiàn)的物品的評(píng)分.在本算法中,T是一個(gè)變量,可以調(diào)節(jié)T這一參數(shù)來(lái)劃分不同的新舊時(shí)間域,從而導(dǎo)致新時(shí)間域和舊時(shí)間域上用戶(hù)觀看的影片數(shù)量的不同.
p、q分別代表用戶(hù)和物品各自在Rbase的基本特征向量,pold和qold分別代表用戶(hù)和物品在Rold的特征向量,pnew和qnew分別代表用戶(hù)和物品在Rnew的特征向量.將用戶(hù)或物品的基本特征向量遷移學(xué)習(xí)到新時(shí)間域上的用戶(hù)或物品的特征向量的轉(zhuǎn)換矩陣分別為Mpnew、Mqnew;將用戶(hù)和物品的基本特征向量遷移學(xué)習(xí)到舊時(shí)間域上的用戶(hù)或物品的特征向量裝換矩陣分別為Mpold、Mqold.既可以找到不同域上特征向量與基本域特征向量的差異,又能將其緊密聯(lián)系,較好地適應(yīng)數(shù)據(jù)稀疏和冷啟動(dòng)的問(wèn)題.
目標(biāo)函數(shù)涉及三個(gè)域的矩陣分解,并且還有從基本域遷移學(xué)習(xí)到新時(shí)間域的轉(zhuǎn)化矩陣.首先構(gòu)造目標(biāo)函數(shù)如下:
(2)
公式(2)是我們需要構(gòu)建的目標(biāo)函數(shù).其中u代表的是用戶(hù),i代表的是物品(電影).ru,i表示的是用戶(hù)u對(duì)物品i的真實(shí)評(píng)分.wb、wo、wn分別是基本域、舊時(shí)間域、新時(shí)間域上矩陣的權(quán)重.λq、λp、λpold、λqold、λqnew、λpnew分別代表對(duì)應(yīng)矩陣的正則項(xiàng)系數(shù).該目標(biāo)函數(shù)也是我們預(yù)測(cè)出的值相對(duì)于測(cè)試集中一致數(shù)值的偏差.同傳統(tǒng)的MF算法一樣使用梯度下降的訓(xùn)練方法來(lái)進(jìn)行最小化目標(biāo)函數(shù),各個(gè)矩陣求其偏導(dǎo)如下:
對(duì)基本域上的用戶(hù)和物品求偏導(dǎo),如公式(3)、(4).
wo*{2λpold(poldu-Mpold*pu)(-Mpold)}+wn*{2λpnew(pnewu-Mpnew*pu)(-Mpnew)}
(3)
wo*{2λqold(qoldi-Mqold*qi)(-Mqold)}+wn*{2λqnew(qnewi-Mqnew*qi)(-Mqnew)}
(4)
如公式(5)、(6)對(duì)舊時(shí)間域上的用戶(hù)和物品轉(zhuǎn)換矩陣求偏導(dǎo).公式(7)、(8)是對(duì)新時(shí)間域上的用戶(hù)和物品轉(zhuǎn)化矩陣求偏導(dǎo).
(5)
(6)
(7)
(8)
如公式(9)、(10)對(duì)舊時(shí)間域上的用戶(hù)和物品矩陣求偏導(dǎo).新時(shí)間域上的用戶(hù)和物品求偏導(dǎo)如公式(11)、(12).
(9)
(10)
qnewi)(-qnewi)+2λpnew(pnewu-Mpnew*pu)}
(11)
(12)
上面的公式是每次迭代需要更改的變量.這些變量包括基本域上用戶(hù)及物品特征向量,還有新、舊時(shí)間域上的用戶(hù)及物品特征向量以及轉(zhuǎn)換矩陣.
然后變量包括基本域上用戶(hù)及物品特征向量,還有新、舊時(shí)間域上的用戶(hù)及物品特征向量以及轉(zhuǎn)換矩陣每一次迭代按如下的公式(13)-(22)更新.
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
通過(guò)多次迭代更新會(huì)得到我們需要的不同域上的特征向量和轉(zhuǎn)換矩陣,在測(cè)試集上進(jìn)行新時(shí)間域上的推薦或是舊時(shí)間域上推薦.
4.3.1 數(shù)據(jù)預(yù)處理和參數(shù)初始化
本算法實(shí)現(xiàn)的第一步是將數(shù)據(jù)集進(jìn)行相應(yīng)的處理和參數(shù)的初始化.首先將數(shù)據(jù)集填充到Rbase中,在將數(shù)據(jù)集根據(jù)自己預(yù)定的T來(lái)進(jìn)行劃分新舊時(shí)間域:時(shí)間小于T上的產(chǎn)品數(shù)據(jù)填充到Rnew上,時(shí)間大于T上的產(chǎn)品數(shù)據(jù)填充到Rold.然后在給不同域上的用戶(hù)及物品特征向量初始化,并且使得基本域到新舊域上的轉(zhuǎn)換矩陣初始化為單位矩陣.
4.3.2 算法描述
在本算法中涉及到的一系列參數(shù)進(jìn)行了初始化,接下來(lái)就是需要對(duì)這些參數(shù)進(jìn)行訓(xùn)練并使該目標(biāo)函數(shù)達(dá)到收斂.分為以下幾個(gè)步驟:
1)使用遺傳算法得到權(quán)重參數(shù)wb、wo、wn(該算法中用weight是一個(gè)包含基本域、舊時(shí)間域、新時(shí)間域的權(quán)重參數(shù)的數(shù)組);
2)把遺傳算法得到的權(quán)重參數(shù)代入本算法中;
a)使用梯度下降算法訓(xùn)練直到目標(biāo)函數(shù)C的值收斂至最小值;
b)在最后目標(biāo)函數(shù)C值收斂時(shí),計(jì)算測(cè)試集的評(píng)分與預(yù)測(cè)評(píng)分的平均絕對(duì)誤差(RMSE).
偽代碼如下:
Input:sourcefile,n,alpha,lambd,F,T
Output:p,q,pold,pnew,qold,qnew,Mp_new,Mq_new,Mp_old,Mq_old,RMSE
Function:
THMF
//Initialize the Parameters for different time domains
Begin
Initialize{p,q,pold,pnew,qold,qnew,Mp_new,Mq_new,Mp_old,Mq_old}
{Rbase,Rold,Rnew} from sourcefile according to time
// Gradient descent method
do
n←the maximal number of iterations;
t←1;
whilet≤n:
Compute the objective functionf
by Equation (2);
Update{p,q,pold,pnew,qold,qnew,Mp_new,Mq_new,Mp_old,Mq_old} by gradient descent algorithm;(13-22)
if convergence then
break;
Endif
t←t+1;
Endwhile
End
Return{p,q,pold,pnew,qold,qnew,Mp_new,Mq_new,Mp_old,Mq_old}
//calculate the rmse
return RMSE
// Genetic Algorithm
Input:pm,pc,M,G,Tf,Pop
Output:fit
Function:
GA
Begin initialize {pm,pc,M,G,Tf,Pop}
do
Fit:=THMF
Initialize newPop
do
Choose,crossover,mutate individuals
until numbers of elements in newPop grows to beM
Pop=newPop
until fit<=Tf or numbers of generation grows to be G
End
return fit
在上述THMF算法描述中,Input參數(shù)中的n是迭代的最大次數(shù),alpha是步長(zhǎng),也就是每次按照梯度減少的方向變化多少.Lambd是包含多個(gè)域中的正則向系數(shù).F是特征向量中隱類(lèi)的的個(gè)數(shù),T是劃分物品新舊的分界點(diǎn)時(shí)間.下文中對(duì)這些參數(shù)進(jìn)行了實(shí)驗(yàn)與分析,找到適合本算法的參數(shù).本文算法評(píng)價(jià)指標(biāo)是通過(guò)均方根誤差(RMSE)來(lái)計(jì)算.RMSE可以衡量算法的準(zhǔn)確度,通過(guò)將訓(xùn)練出來(lái)的特征向量來(lái)預(yù)測(cè)測(cè)試數(shù)據(jù)集中的評(píng)分,進(jìn)而和測(cè)試集中的實(shí)際評(píng)分比較,預(yù)測(cè)的評(píng)分越接近,說(shuō)明算法的精確度越高.
本節(jié)主要是對(duì)上述的模型算法在相關(guān)的數(shù)據(jù)集上進(jìn)行驗(yàn)證,并按照RMSE評(píng)價(jià)指標(biāo)進(jìn)行相關(guān)的算法效果的比較.
本算法考慮了用戶(hù)和物品在新舊域上特征向量的區(qū)別,所以需要選擇的數(shù)據(jù)集應(yīng)該具有時(shí)效性.我們熟知的電影是具有時(shí)效性的產(chǎn)品,可以滿(mǎn)足本算法的多時(shí)間域劃分.
該數(shù)據(jù)集中每個(gè)條目由用戶(hù)ID、電影ID、評(píng)分和時(shí)間戳這四元數(shù)據(jù)組成.在實(shí)驗(yàn)的時(shí)候按照1:8的比例劃分測(cè)試集、訓(xùn)練集.將訓(xùn)練集中的全部數(shù)據(jù)作為基本域,將訓(xùn)練集的評(píng)分?jǐn)?shù)據(jù)通過(guò)時(shí)間戳將電影劃分為新時(shí)間域和舊時(shí)間域.用該數(shù)據(jù)集來(lái)驗(yàn)證本文提出思想:通過(guò)用戶(hù)對(duì)物品的隱特征,物品隱特征的差異和相關(guān)來(lái)更好的探究用戶(hù)對(duì)不同時(shí)間物品選擇偏好的動(dòng)機(jī).
實(shí)驗(yàn)中實(shí)現(xiàn)了以下的算法:
傳統(tǒng)的MF模型(MF):用單域矩陣分解預(yù)測(cè)用戶(hù)對(duì)電影的評(píng)分.該模型沒(méi)有考慮時(shí)間因素的影響,只是簡(jiǎn)單的學(xué)習(xí)用戶(hù)對(duì)電影的歷史評(píng)分,來(lái)挖掘用戶(hù)對(duì)電影的喜好.
基于CMF模型產(chǎn)品時(shí)效性感知的推薦算法(TCMF):該模型是按照T來(lái)劃分新舊時(shí)間域,將用戶(hù)特征向量作為這兩個(gè)矩陣共享一維,聯(lián)合訓(xùn)練數(shù)據(jù).得到共享用戶(hù)特征矩陣和新舊時(shí)間域上的物品特征向量.
基于轉(zhuǎn)換矩陣考慮的物品時(shí)效性個(gè)性化推薦模型(THMF):該模型有三個(gè)域:基本域、新時(shí)間域、舊時(shí)間域.在實(shí)現(xiàn)時(shí),通過(guò)遺傳算法進(jìn)行了參數(shù)調(diào)優(yōu).
該模型通過(guò)對(duì)轉(zhuǎn)換矩陣的學(xué)習(xí),一方面充分考慮了新舊物品隱特征、用戶(hù)對(duì)新舊物品上的隱特征的差異性,另一方面又考慮了它們的相關(guān)性,能夠較好地適應(yīng)數(shù)據(jù)稀疏和冷啟動(dòng)的問(wèn)題.可以有效的探究用戶(hù)在不同時(shí)間下對(duì)物品選擇偏好的不同的動(dòng)機(jī)趨向:受社會(huì)潮流還是受自身興趣喜好的因素.
如圖3是MovieLens上的數(shù)據(jù)集在MF、TCMF、THMF模型上得到的實(shí)驗(yàn)結(jié)果.
表1 不同迭代次數(shù)下不同算法的rmse的變化
Table 1 Variation of RMSE with different algorithms in different iteration
Algorithm/iterations10204060MF0.85030.81910.80660.8059TCMF0.84230.80940.78820.7811THMF0.82710.79300.77330.7703
從圖3可以看到隨著實(shí)驗(yàn)迭代次數(shù)的增多,RMSE的值是越來(lái)越小的,最后達(dá)到收斂值.多域上的矩陣分解確實(shí)比單域上的矩陣分解的效果要好.并且THMF算法相比TCMF算法的在任何迭代次數(shù)下RMSE的值都是最小的.TCMF在一定程度上解決了數(shù)據(jù)的冷啟動(dòng)問(wèn)題,但該模型的統(tǒng)一特征向量的學(xué)習(xí)還是依賴(lài)于數(shù)據(jù)量稠密和數(shù)目多的時(shí)間域.所以預(yù)測(cè)的評(píng)分要比THMF預(yù)測(cè)評(píng)分誤差大一些.從實(shí)驗(yàn)數(shù)據(jù)中也可以觀察到將電影劃分為新舊電影,來(lái)分開(kāi)考慮用戶(hù)對(duì)電影的選擇偏好的動(dòng)機(jī)比沒(méi)有將電影劃分為新舊電影的預(yù)測(cè)的評(píng)分要準(zhǔn)確很多;而且在本次實(shí)驗(yàn)中通過(guò)轉(zhuǎn)化矩陣來(lái)區(qū)別和聯(lián)系基本域上的隱特征和特定域上的隱特征,也進(jìn)一步提高了預(yù)測(cè)評(píng)分的精度.
圖3 不同迭代次數(shù)下不同算法的RMSE的變化Fig.3 Variation of RMSE with different algorithms in different iteration
接下來(lái)考慮THMF的一些參數(shù)對(duì)該模型的影響.
1)權(quán)重
因?yàn)樵撃P屯ㄟ^(guò)遺傳算法對(duì)不同域進(jìn)行權(quán)重的選擇,最后選擇出來(lái)的權(quán)重是wb=0.2、wo=0.5、wn=0.3,我們也人為賦予了不同的權(quán)重進(jìn)行了比較.wb:wo:wn=2:5:3時(shí),預(yù)測(cè)評(píng)分的結(jié)果誤差是最小的.如圖4橫坐標(biāo)是三個(gè)域權(quán)重之比,縱坐標(biāo)是RMSE.圖4所示基于域的數(shù)據(jù)權(quán)重沒(méi)有很影響預(yù)測(cè)評(píng)分,這里基本域的貢獻(xiàn)通過(guò)轉(zhuǎn)換矩陣將基本隱特征轉(zhuǎn)到各個(gè)特定的域中去.所以預(yù)測(cè)評(píng)分的誤差還是主要取決于時(shí)間的影響.而且當(dāng)舊時(shí)間域上的權(quán)重比新時(shí)間域上的權(quán)重大些,則最后的誤差比較小.這又充分說(shuō)明了用戶(hù)選擇舊物品是基于自己本身的喜好,對(duì)新物品的購(gòu)買(mǎi)是基于沖動(dòng)行為,所以再次推薦新物品給該用戶(hù),該用戶(hù)不再選擇.
2)步長(zhǎng)
如圖5,橫坐標(biāo)是表示步長(zhǎng),縱坐標(biāo)是RMSE的值.步長(zhǎng)也會(huì)影響算法的RMSE,通過(guò)對(duì)該算法進(jìn)行不同步長(zhǎng)的實(shí)驗(yàn),發(fā)現(xiàn)找到最適合的步長(zhǎng)為0.001到0.0012,其RMSE最小.
圖4 不同域的不同權(quán)重比的THMF算法RMSE的比較Fig.4 Comparisons of RMSE between different weights of different domain in THMF
圖5 THMF在不同步長(zhǎng)下的RMSE的比較Fig.5 Comparisons of RMSE with differentstep sizes in THMF
圖6 不同時(shí)間T下的RMSE的變化Fig.6 RMSE withdifferent T
3)時(shí)間T選擇
通過(guò)時(shí)間的劃分為不同的時(shí)間域上的電影,這決定了不同域上電影的數(shù)目.如圖6,橫標(biāo)是T時(shí)間,單位是月,縱坐標(biāo)是RMSE.實(shí)驗(yàn)表明,在T定為24個(gè)月的時(shí)候,其預(yù)測(cè)評(píng)分誤差是最小的.
本文中經(jīng)過(guò)數(shù)據(jù)量化分析,得出統(tǒng)一特征向量和劃分新舊物品形成的不同域上學(xué)習(xí)的特征向量具有差異性,因而,對(duì)這部分差異進(jìn)行建模,會(huì)使預(yù)測(cè)評(píng)分更準(zhǔn)確.文中基于此想法,設(shè)計(jì)了相應(yīng)的算法,算法中通過(guò)轉(zhuǎn)換矩陣,將不同時(shí)間下用戶(hù)對(duì)物品的隱特征及物品隱特征的差異和聯(lián)系充分考慮進(jìn)模型,最終得到用戶(hù)選擇具有不同時(shí)效性物品的偏好模型.實(shí)驗(yàn)表明本算法能夠提高推薦效果.從實(shí)驗(yàn)中可以看出:
1)當(dāng)新物品的權(quán)重比較大時(shí),最終的評(píng)分誤差很大,這反映了新物品并不一定反映用戶(hù)的真正喜好,對(duì)新物品的選擇受到潮流和從眾心理的影響,而相對(duì)而言,舊物品的選擇是跟隨自己內(nèi)心的喜愛(ài)選擇的;
2)用戶(hù)對(duì)物品基本域上隱特征通過(guò)轉(zhuǎn)換矩陣學(xué)習(xí)到各個(gè)時(shí)間域上,將其中的差異區(qū)別開(kāi),又將其聯(lián)系起來(lái),可以得到了很好的推薦精度.
本算法雖然取得了一定的效果,但是仍然有許多值得擴(kuò)展的地方.例如,這里談?wù)摰亩际怯脩?hù)物品和隱類(lèi)的關(guān)系,在后面的研究可以考慮將物品用戶(hù)的顯性特征融合起來(lái),并且還可以加上上下文推薦.這都是后續(xù)將繼續(xù)研究的方向.
[1] Ding Y,Li X.Time weight collaborative filtering[C].ACM CIKM International Conference on Information and Knowledge Management,Bremen,Germany,October 31-November,2005:485-492.
[2] Zimdars A,Chickering D M,Meek C.Using temporal data for making recommendations[C].Morgan Kaufmann Publishers Inc,2001.
[3] Xiong L,Chen X,Huang T K,et al.Temporal collaborative filtering with Bayesian probabilistic tensor factorization[C].Siam International Conference on Data Mining,SDM 2010,April 29-May 1,2010,Columbus,Ohio,Usa,2010:211-222.
[4] Christensen I,Schiaffino S.Matrix factorization in social group recommender systems[C].Mexican International Conference on Artificial Intelligence,IEEE Computer Society,2013:10-16.
[5] Zhao Ting,Xiao Ru-liang,Sun Cong,et al.Personalized recommendation algorithm integrating roulette walk and combined time effect[J].Journal of Computer Applications,2014,34(4):1114-1117.
[6] Singh A P,Gordon G J.Relational learning via collective matrix factorization[C].Proceedings of the 14th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining,ACM,2008:650-658.
[7] Jamali M,Lakshmanan L.HeteroMF:recommendation in heterogeneous information networks using context dependent factor models[C].International Conference on World Wide Web,ACM,2013:643-654.
[8] Xiang L,Yang Q.Time-dependent models in collaborative filtering Based recommender system[C].Ieee/wic/acm International Conference on Web Intelligence,Wi 2009,Milan,Italy,15-18 September 2009,Main Conference Proceedings.DBLP,2009:450-457.
[9] Sun G F,Wu L,Liu Q,et al.Recommendations based on collaborative filtering byexploitingsequential behaviors[J].Journal of Software,2013,24(11):2721-2733.
[10] Liu J,Wu C,Xiong Y,et al.List-wise probabilistic matrix factorization for recommendation[J].Information Sciences,2014,278(1):434-447.
[11] Daneshmand M S,Javari A,Abtahi E S,et al.A time-aware recommender system based on dependency network of items[J].Computer Journal,2014,58(9):1955-1955.
[12] Xiang E W,Liu N N,Pan S J,et al.Knowledge transfer among heterogeneous information networks[C].ICDM Workshops 2009,IEEE International Conference on Data Mining Workshops,Miami,Florida,Usa,6 December,DBLP,2009:429-434.
附中文參考文獻(xiàn):
[5] 趙 婷,肖如良,孫 聰,等.融合時(shí)間綜合影響的輪盤(pán)賭游走個(gè)性化推薦算法[J].計(jì)算機(jī)應(yīng)用,2014,34(4):1114-1117.