小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Slope One:簡(jiǎn)單高效的協(xié)同過(guò)濾算法

 石頭狗 2009-01-20

Slope One:簡(jiǎn)單高效的協(xié)同過(guò)濾算法

  發(fā)布日期: 2008-6-10 17:37:00 作者:  摘自來(lái)源: 博客園-首頁(yè)原創(chuàng)區(qū) 

 


在做的一個(gè)項(xiàng)目中需要用到推薦算法, 在網(wǎng)上查了一下. Beyond Search介紹了一個(gè)協(xié)同過(guò)濾算法(Collaborative Filtering) : SlopeOne;和其它類(lèi)似算法相比, 它的最大優(yōu)點(diǎn)在于算法很簡(jiǎn)單, 易于實(shí)現(xiàn), 執(zhí)行效率高, 同時(shí)推薦的準(zhǔn)確性相對(duì)很高;

基本概念
SlopeOne的基本概念很簡(jiǎn)單, 例子1, 用戶X, Y和A都對(duì)Item1打了分. 同時(shí)用戶X,Y還對(duì)Item2打了分, 用戶A對(duì)Item2可能會(huì)打多少分呢?
User Rating to Item 1 Rating to Item 2
X 5 3
Y 4 3
A 4 ?

根據(jù)SlopeOne算法, 應(yīng)該是:4 - ((5-3) + (4-2))/2 = 2.5.
解釋一下. 用戶X對(duì)Item1的rating是5, 對(duì)Item2的rating是3, 那么他可能認(rèn)為Item2應(yīng)該比Item1少兩分. 同時(shí)用戶Y認(rèn)為Item2應(yīng)該比Item1少1分. 據(jù)此我們知道所有對(duì)Item1和Item2都打了分的用戶認(rèn)為Item2會(huì)比Item1平均少1.5分. 所以我們有理由推薦用戶A可能會(huì)對(duì)Item2打(4-1.5)=2.5分;

很簡(jiǎn)單是不是? 找到對(duì)Item1和Item2都打過(guò)分的用戶, 算出rating差的平均值, 這樣我們就能推測(cè)出對(duì)Item1打過(guò)分的用戶A對(duì)Item2的可能Rating, 并據(jù)此向A用戶推薦新項(xiàng)目.
這里我們能看出SlopeOne算法的一個(gè)很大的優(yōu)點(diǎn), 在只有很少的數(shù)據(jù)時(shí)候也能得到一個(gè)相對(duì)準(zhǔn)確的推薦, 這一點(diǎn)可以解決Cold Start的問(wèn)題.

加權(quán)算法
接下來(lái)我們看看加權(quán)算法(Weighted SlopeOne). 如果有100個(gè)用戶對(duì)Item1和Item2都打過(guò)分, 有1000個(gè)用戶對(duì)Item3和Item2也打過(guò)分. 顯然這兩個(gè)rating差的權(quán)重是不一樣的. 因此我們的計(jì)算方法是
(100*(Rating 1 to 2) + 1000(Rating 3 to 2)) / (100 + 1000)

上面討論的是用戶只對(duì)項(xiàng)目的喜好程度打分.還有一種情況下用戶也可以對(duì)項(xiàng)目的厭惡程度打分. 這時(shí)可以使用雙極SlopeOne算法(BI-Polar SlopeOne). 我還在研究這篇論文,搞懂了再寫(xiě)吧, 呵呵;

參考資料
Slope One 算法是由 Daniel Lemire 教授在 2005 年提出. 這里可以找到論文原文(PDF);上面也列出了幾個(gè)參考實(shí)現(xiàn). 現(xiàn)在有Python, Java和Erlang, 還沒(méi)有C#.
這篇: tutorial about how to implement Slope One in Python是一個(gè)很好的怎么實(shí)現(xiàn)SlopeOne并使用它來(lái)推薦的例子. 但是現(xiàn)在好像不能訪問(wèn)了 :-(  參考這篇文章, 我會(huì)在下一篇用C#代碼講解怎么實(shí)現(xiàn)Weighted SlopeOne;

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(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)論公約

    類(lèi)似文章 更多