日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

物理學(xué)背景的推薦算法與協(xié)同過濾 – 不周山

 ShangShujie 2010-06-01

隨著個(gè)性化推薦技術(shù)的發(fā)展,各種各樣的推薦算法也競(jìng)相參與到這片新興應(yīng)用領(lǐng)域中進(jìn)行開荒,一時(shí)間百花齊放,其中就有一些基于物理學(xué)背景的算法參與其 中,本文闡述的是這篇文章在推薦算法上的主要內(nèi)容,及其與傳統(tǒng)的協(xié)同過濾算法在形式上的對(duì)比。

文章原名為《Solving the apparent diversity-accuracy dilemma of recommender systems》,要解決的正是當(dāng)下推薦系統(tǒng)領(lǐng)域炙手可熱的問題:怎樣平衡推薦的精確度與多樣性。作者的專業(yè)背景是物理學(xué),曾經(jīng)做過復(fù)雜系統(tǒng)、復(fù)雜網(wǎng)絡(luò)方 面的研究,近年來在推薦領(lǐng)域發(fā)表過好幾篇文章,這一篇發(fā)表在著名雜志PNAS上,可以說是對(duì)之前工作的一個(gè)大匯總。

該文章大致的思路就是把推薦系統(tǒng)中用戶與待推薦對(duì)象的關(guān)系類比為二分圖,借用原來研究復(fù)雜網(wǎng)絡(luò)動(dòng)力系統(tǒng)的一些概念與方法來研究推薦領(lǐng)域中的問題。關(guān) 于這樣的解決思路,我一年多前曾經(jīng)就作者的另一篇文章作過一些闡述,欲了解細(xì)節(jié)的可以先看看,看完對(duì)主要思想能有比較清晰的理解,本文將側(cè)重于數(shù)學(xué)方面的推導(dǎo)與比較,不再就細(xì)節(jié)上過多闡述。

下圖是我在稿紙上的推導(dǎo)過程,后面我結(jié)合著每一步的推導(dǎo)過程進(jìn)行說明,每一步以標(biāo)號(hào)標(biāo)示。

0、這里總括一下最終的推薦方式,等式右邊的f是一個(gè)用戶的收藏向量,取值為0-1,W是一個(gè)轉(zhuǎn)移矩陣,等式左邊為最終獲得的推薦向量,刨除用戶已 經(jīng)收藏的對(duì)象,其余的按值排序取出前L個(gè),即可視為對(duì)該用戶的推薦。所以,現(xiàn)在的問題就是,怎么得到W這個(gè)矩陣。

1、這里定義用戶收藏矩陣為A,維度為u*o,行表示用戶,列表示對(duì)象,依據(jù)文中的說法,這里只考慮取值為0-1的情況,取值為1則表示對(duì)應(yīng)位置的 用戶收藏了相應(yīng)的對(duì)象,0則不然。

2、這里定義了用戶與對(duì)象的“度”向量,即對(duì)A矩陣的行與列求和。

3、對(duì)收藏矩陣作行歸一化,在本文,矩陣除以向量的統(tǒng)一意義為該矩陣每一列與該向量對(duì)位相除。

4、文章中提出了兩種算法,ProbS與HeatS,ProbS比較好理解,算法的詳細(xì)解釋見我之前的文章,這里僅列出其迭代公式。拉丁字母的下標(biāo)用以表示對(duì)象,英文字母的下標(biāo)用以表示用戶。這個(gè)迭代式 的涵義是兩對(duì)象之間的影響,或者說是貢獻(xiàn)度。

5、經(jīng)過一番變換之后,可以得到ProbS算法的轉(zhuǎn)移矩陣,這個(gè)正是我們?cè)?步里提到的要尋找的轉(zhuǎn)移矩陣。

6、HeatS算法的迭代式與ProbS的類似,只是最后要除的分母不同,從轉(zhuǎn)移矩陣來看,則僅僅只是轉(zhuǎn)置關(guān)系。

7、從第0步的對(duì)每個(gè)用戶的推薦過程,我們可以得到對(duì)所有用戶的推薦公式,其中W可為第5或第6步算出來的轉(zhuǎn)移矩陣。

8、再回顧一下我們熟悉item-based協(xié)同過濾(CF)的推薦過程,從矩陣的角度來描述,就是如8式所示,其中mod(A)表示A矩陣各列的 模所組成的向量。形式與上面的算法類似,但相乘的順序不一樣,而且這里的W表示的是對(duì)象相似度矩陣。

9、這一番變換可以生成跟CF類似的推薦形式,WH就可以看作是CF中的相似度矩陣了(但計(jì)算方法不一樣)。殊途同歸,兩種算法就統(tǒng)一到一種形式上 去了。但不要試圖用數(shù)學(xué)的方式來解釋這個(gè)式子,我嘗試過,無論如何解釋不通,只能從物理的角度來進(jìn)行描述。原文章中對(duì)此沒有作數(shù)學(xué)分析,只是從實(shí)驗(yàn)角度來 論證算法的有效性。

10、第10步是該文的最終算法,即混合之前的兩種算法,得到一個(gè)并不太會(huì)增加計(jì)算消耗的混合推薦算法。跟上面兩種算法的介紹類似,我在把迭代式列 出來后,又把它轉(zhuǎn)換成矢量運(yùn)算的形式,即最終結(jié)果是兩個(gè)矩陣的點(diǎn)乘。

除了上述我介紹的算法外,該文還有一部分重要的內(nèi)容是定義兩個(gè)精確度指標(biāo)、兩個(gè)多樣性指標(biāo),并在三個(gè)數(shù)據(jù)集上對(duì)幾種推薦算法的效果進(jìn)行了對(duì)比,結(jié)論 是:ProbS算法在精確度上表現(xiàn)更好,HeatS算法在多樣性上表現(xiàn)更好,而混合式的算法能得到精確度與多樣性兩全其美的效果,有興趣的讀者可以讀讀原 文。

對(duì)于這篇文章,我存留有幾點(diǎn)疑問:

1、初始資源(即用戶收藏矩陣A)除了0-1,是否可以是別的值,這樣rating數(shù)據(jù)集也可以引入進(jìn)來?

2、W矩陣為什么不可以多步迭代生成?原文中用資源分配來描述W矩陣的轉(zhuǎn)移作用,從動(dòng)力學(xué)的角度來說,這樣的迭代分配可以無限進(jìn)行下去直到達(dá)到一個(gè) 穩(wěn)態(tài),但為什么只迭代一次就用作推薦計(jì)算的轉(zhuǎn)換矩陣(即對(duì)用戶收藏矩陣的加權(quán)變換),這是何道理?

3、數(shù)學(xué)上的不可解釋性。正如第9步所得到的結(jié)果,該算法與CF有異曲同工之處,但CF算法可以從余弦距離的角度加以解釋,而你無法從推薦表達(dá)式上 解釋為什么ProbS算法在精確度上表現(xiàn)更好,而HeatS在多樣上表現(xiàn)更好。

對(duì)以上前兩點(diǎn)文中沒有作過多的解釋,而從第三點(diǎn)來說由于整個(gè)推薦算法的有效性并不能從數(shù)學(xué)上得到解釋,而只是通過實(shí)驗(yàn)對(duì)比結(jié)果進(jìn)行說明,所以對(duì)于這 兩點(diǎn)疑慮,我也只能從實(shí)驗(yàn)結(jié)果上進(jìn)行猜測(cè):即以上兩步的嘗試會(huì)導(dǎo)致實(shí)驗(yàn)結(jié)果變壞。

更新:我實(shí)現(xiàn)了兩個(gè)算法,并做了實(shí)驗(yàn),從簡(jiǎn)單的觀測(cè)結(jié)果來看,兩種算法的TopK推薦結(jié)果都差不多,accuracy還可以,diversity沒 有體現(xiàn)出來。可以到此為止了。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多