在上一篇博文中,我已經(jīng)總結(jié)了幾種主要的推薦方法,其中,基于內(nèi)容和基于協(xié)同過濾是目前的主流算法,很多電子商務(wù)網(wǎng)站的推薦系統(tǒng)都是基于這兩種算法的?;趦?nèi)容在第一篇博文中已經(jīng)詳細(xì)介紹了,因此本博文主要是介紹基于協(xié)同過濾的個(gè)性化推薦系統(tǒng)。
協(xié)同過濾是一種基于一組興趣相同的用戶或項(xiàng)目進(jìn)行的推薦,它根據(jù)鄰居用戶(與目標(biāo)用戶興趣相似的用戶)的偏好信息產(chǎn)生對目標(biāo)用戶的推薦列表。協(xié)同過濾算法主要分為基于用戶的協(xié)同過濾算法和基于項(xiàng)目的協(xié)同過濾算法。
基于用戶的(Userbased)協(xié)同過濾算法是根據(jù)鄰居用戶的偏好信息產(chǎn)生對目標(biāo)用戶的推薦。它基于這樣一個(gè)假設(shè):如果一些用戶對某一類項(xiàng)目的打分比較接近,則他們對其它類項(xiàng)目的打分也比較接近。協(xié)同過濾推薦系統(tǒng)采用統(tǒng)計(jì)計(jì)算方式搜索目標(biāo)用戶的相似用戶,并根據(jù)相似用戶對項(xiàng)目的打分來預(yù)測目標(biāo)用戶對指定項(xiàng)目的評(píng)分,最后選擇相似度較高的前若干個(gè)相似用戶的評(píng)分作為推薦結(jié)果,并反饋給用戶。這種算法不僅計(jì)算簡單且精確度較高,被現(xiàn)有的協(xié)同過濾推薦系統(tǒng)廣泛采用。User-based協(xié)同過濾推薦算法的核心就是通過相似性度量方法計(jì)算出最近鄰居集合,并將最近鄰的評(píng)分結(jié)果作為推薦預(yù)測結(jié)果返回給用戶。例如,在下表所示的用戶一項(xiàng)目評(píng)分矩陣中,行代表用戶,列代表項(xiàng)目(電影),表中的數(shù)值代表用戶對某個(gè)項(xiàng)目的評(píng)價(jià)值?,F(xiàn)在需要預(yù)測用戶Tom對電影《槍王之王》的評(píng)分(用戶Lucy對電影《阿凡達(dá)》的評(píng)分是缺失的數(shù)據(jù))。
由上表不難發(fā)現(xiàn),Mary和Pete對電影的評(píng)分非常接近,Mary對《暮色3:月食》、《唐山大地震》、《阿凡達(dá)》的評(píng)分分別為3、4、4,Tom的評(píng)分分別為3、5、4,他們之間的相似度最高,因此Mary是Tom的最接近的鄰居,Mary對《槍王之王》的評(píng)分結(jié)果對預(yù)測值的影響占據(jù)最大比例。相比之下,用戶John和Lucy不是Tom的最近鄰居,因?yàn)樗麄儗﹄娪暗脑u(píng)分存在很大差距,所以JohLn和Lucy對《槍王之王》的評(píng)分對預(yù)測值的影響相對小一些。在真實(shí)的預(yù)測中,推薦系統(tǒng)只對前若干個(gè)鄰居進(jìn)行搜索,并根據(jù)這些鄰居的評(píng)分為目標(biāo)用戶預(yù)測指定項(xiàng)目的評(píng)分。由上面的例子不難知道,User一based協(xié)同過濾推薦算法的主要工作內(nèi)容是用戶相似性度量、最近鄰居查詢和預(yù)測評(píng)分。
目前主要有三種度量用戶間相似性的方法,分別是:余弦相似性、相關(guān)相似性以及修正的余弦相似性。
①余弦相似性(Cosine):用戶一項(xiàng)目評(píng)分矩陣可以看作是n維空間上的向量,對于沒有評(píng)分的項(xiàng)目將評(píng)分值設(shè)為0,余弦相似性度量方法是通過計(jì)算向量間的余弦夾角來度量用戶間相似性的。設(shè)向量i和j分別表示用戶i和用戶j在n維空間上的評(píng)分,則用基于協(xié)同過濾的電子商務(wù)個(gè)性化推薦算法研究戶i和用戶j之間的相似性為:

②修正的余弦相似性(AdjustedCosine):余弦相似度未考慮到用戶評(píng)分尺度問題,如在評(píng)分區(qū)間[1一5]的情況下,對用戶甲來說評(píng)分3以上就是自己喜歡的,而對于用戶乙,評(píng)分4以上才是自己喜歡的。通過減去用戶對項(xiàng)的平均評(píng)分,修正的余弦相似性度量方法改善了以上問題。用幾表示用戶i和用戶j共同評(píng)分過的項(xiàng)集合,Ii和壽分別表示用戶i和用戶j評(píng)分過的項(xiàng)集合,則用戶i和用戶j之間的相似性為:
③相關(guān)相似性(Correlation)此方法是采用皮爾森(Pearson)相關(guān)系數(shù)來進(jìn)行度量。設(shè)Iij表示用戶i和用戶j共同評(píng)分過的項(xiàng)目集合,則用戶i和用戶j之間相似性為:
在得到目標(biāo)用戶的最近鄰居以后,接著就要產(chǎn)生相應(yīng)的推薦結(jié)果。設(shè)NNu為用戶u的最近鄰居集合,則用戶u對————項(xiàng)j的預(yù)測評(píng)分Puj計(jì)算公式如下:
基于項(xiàng)目的(Item一based)協(xié)同過濾是根據(jù)用戶對相似項(xiàng)目的評(píng)分?jǐn)?shù)據(jù)預(yù)測目標(biāo)項(xiàng)目的評(píng)分,它是建立在如下假設(shè)基礎(chǔ)上的:如果大部分用戶對某些項(xiàng)目的打分比較相近,則當(dāng)前用戶對這些項(xiàng)的打分也會(huì)比較接近。ltem一based協(xié)同過濾算法主要對目標(biāo)用戶所評(píng)價(jià)的一組項(xiàng)目進(jìn)行研究,并計(jì)算這些項(xiàng)目與目標(biāo)項(xiàng)目之間的相似性,然后從選擇前K個(gè)最相似度最大的項(xiàng)目輸出,這是區(qū)別于User-based協(xié)同過濾。仍拿上所示的用戶一項(xiàng)目評(píng)分矩陣作為例子,還是預(yù)測用戶Tom對電影《槍王之王》的評(píng)分(用戶Lucy對電影《阿凡達(dá)》的評(píng)分是缺失的數(shù)據(jù))。
通過數(shù)據(jù)分析發(fā)現(xiàn),電影《暮色3:月食》的評(píng)分與《槍王之王》評(píng)分非常相似,前三個(gè)用戶對《暮色3:月食》的評(píng)分分別為4、3、2,前三個(gè)用戶對《槍王之王》的評(píng)分分別為4、3、3,他們二者相似度最高,因此電影《暮色3:月食》是電影《槍王之王》的最佳鄰居,因此《暮色3:月食》對《槍王之王》的評(píng)分對預(yù)測值的影響占據(jù)最大比例。而《唐山大地震》和《阿凡達(dá)》不是《槍王之王》的好鄰居,因?yàn)橛脩羧后w對它們的評(píng)分存在很大差距,所以電影《唐山大地震》和《阿凡達(dá)》對《槍王之王》的評(píng)分對預(yù)測值的影響相對小一些。在真實(shí)的預(yù)測中,推薦系統(tǒng)只對前若干個(gè)鄰居進(jìn)行搜索,并根據(jù)這些鄰居的評(píng)分為目標(biāo)用戶預(yù)測指定項(xiàng)目的評(píng)分。
由上面的例子不難知道,Item一based協(xié)同過濾推薦算法的主要工作內(nèi)容是最近鄰居查詢和產(chǎn)生推薦。因此,Item一based協(xié)同過濾推薦算法可以分為最近鄰查詢和產(chǎn)生推薦兩個(gè)階段。最近鄰查詢階段是要計(jì)算項(xiàng)目與項(xiàng)目之間的相似性,搜索目標(biāo)項(xiàng)目的最近鄰居;產(chǎn)生推薦階段是根據(jù)用戶對目標(biāo)項(xiàng)目的最近鄰居的評(píng)分信息預(yù)測目標(biāo)項(xiàng)目的評(píng)分,最后產(chǎn)生前N個(gè)推薦信息。
ltem一based協(xié)同過濾算法的關(guān)鍵步驟仍然是計(jì)算項(xiàng)目之間的相似性并選出最相似的項(xiàng)目,這一點(diǎn)與user一based協(xié)同過濾類似。計(jì)算兩個(gè)項(xiàng)目i和j之間相似性的基本思想是首先將對兩個(gè)項(xiàng)目共同評(píng)分的用戶提取出來,并將每個(gè)項(xiàng)目獲得的評(píng)分看作是n維用戶空間的向量,再通過相似性度量公式計(jì)算兩者之間的相似性。
分離出相似的項(xiàng)目之后,下一步就要為目標(biāo)項(xiàng)目預(yù)測評(píng)分,通過計(jì)算用戶u對與項(xiàng)目i相似的項(xiàng)目集合的總評(píng)價(jià)分值來計(jì)算用戶u對項(xiàng)目i的預(yù)期。這兩個(gè)階段的具體公式和操作步驟與基于用戶的協(xié)同過濾推薦算法類似,所以在此不再贅述。
與基于內(nèi)容的推薦算法相比,協(xié)同過濾有下列優(yōu)點(diǎn):能夠過濾難以進(jìn)行機(jī)器自動(dòng)基于內(nèi)容分析的信息。如藝術(shù)品、音樂;能夠基于一些復(fù)雜的,難以表達(dá)的概念(信息質(zhì)量、品位)進(jìn)行過濾;推薦的新穎性。
然而,協(xié)同過濾也存在著以下的缺點(diǎn):用戶對商品的評(píng)價(jià)非常稀疏,這樣基于用戶的評(píng)價(jià)所得到的用戶間的相似性可能不準(zhǔn)確(即稀疏性問題);隨著用戶和商品的增多,系統(tǒng)的性能會(huì)越來越低(即可擴(kuò)展性問題);如果從來沒有用戶對某一商品加以評(píng)價(jià),則這個(gè)商品就不可能被推薦(即最初評(píng)價(jià)問題)。
愛華網(wǎng)



