(轉(zhuǎn))Amazon的推薦系統(tǒng)-《Amazon.com Recommendations Item-to-Item Collaborative Filtering》

現(xiàn)在的推薦系統(tǒng)特別火啊肾筐。做得最好的應(yīng)該是Amazon了橡淆。

上面是Amazon的圖書推薦锡宋。

用的就是著名的?協(xié)同過(guò)濾(Collaborative filtering)算法触徐。


我們用一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明夺英。

下面是一個(gè)用戶購(gòu)買的書籍的表格晌涕。


?計(jì)算機(jī)網(wǎng)絡(luò)算法導(dǎo)論人工智能數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)概率統(tǒng)計(jì)GRE?詞匯手冊(cè)

小明101010

小張011010

小李110000

小王000011


上面的1表示購(gòu)買,0表示沒(méi)有購(gòu)買痛悯。

那么我們?cè)趺磥?lái)給小明推薦書籍呢余黎?

先來(lái)看看Amazon之前的傳統(tǒng)的協(xié)同過(guò)濾(Collaborative filtering)是怎么做的。


首先呢载萌,根據(jù)每個(gè)人買的書籍惧财,我們可以將每個(gè)用戶表示成一個(gè)向量。

例如扭仁,

V(小明)=<1, 0, 1, 0, 1, 0>

V(小張)=<0, 1, 1, 0, 1, 0>

V(小李)=<1, 1, 0, 0, 0, 0>

V(小王)=<0, 0, 0, 0, 1, 1>

然后呢垮衷,我們做這樣的假設(shè),買書習(xí)慣跟小明類似的人乖坠,如果購(gòu)買了小明沒(méi)有買的書搀突,那么我們就認(rèn)為,小明很有可能買這本書熊泵。

于是仰迁,問(wèn)題變成了找買書習(xí)慣跟小明類似的人。提到向量跟相似度顽分,我們自然就想到了用余弦來(lái)衡量相似度徐许。

扔個(gè)公式在此給那些忘記了的童鞋們。

接下來(lái)卒蘸,大家動(dòng)手算一下吧雌隅。

cos=0.67

cos=0.41

cos=0.41

呵呵,那么跟小明習(xí)慣最像的就是小張了缸沃。

然后恰起,我們發(fā)現(xiàn)小張買了《算法導(dǎo)論》,但是小明沒(méi)有買趾牧,于是我們就給小明推薦《算法導(dǎo)論》村缸。


這個(gè)方法看起來(lái)很不錯(cuò),那么為什么Amazon提出了另外的一種方法呢武氓?

再來(lái)看看Amazon的item-to-item協(xié)同過(guò)濾系統(tǒng)吧梯皿。

有一天呢仇箱,Amazon的一個(gè)工程師腦袋抽筋,不小心把上面的表格拿錯(cuò)方向了东羹。于是變成了下面的樣子剂桥。



?小明小張小李小王

計(jì)算機(jī)網(wǎng)絡(luò)1010

算法導(dǎo)論0110

人工智能1100

數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)0000

概率統(tǒng)計(jì)0101

GRE?詞匯手冊(cè)0001



如果把書的那一行看成一個(gè)向量,有啥發(fā)現(xiàn)沒(méi)属提?對(duì)了权逗,我們可以找相似的人,我們還可以找相似的書T┮椤U遛薄!

這也就是Amazon的item-to-item協(xié)同過(guò)濾系統(tǒng)恕酸。

很多時(shí)候堪滨,創(chuàng)新就是這么簡(jiǎn)單,寫paper就是這么容易啊?蕊温,換個(gè)方向思考?(呃袱箱,那位童鞋,不是叫你把書拿反了看)义矛。


下面簡(jiǎn)單描述一下方法发笔。

我們可以先算出任意兩個(gè)物品之間的相似度(跟上面類似啊,自己算)凉翻。

接下開(kāi)我們看到小明買了《計(jì)算機(jī)網(wǎng)絡(luò)》和《人工智能》的書了讨,把跟這兩本書類似的書推薦給小明。

跟《計(jì)算機(jī)網(wǎng)絡(luò)》最相似的是?《算法導(dǎo)論》和?《人工智能》制轰,跟?《人工智能》最相似的是?《計(jì)算機(jī)網(wǎng)絡(luò)》和?《算法導(dǎo)論》前计。

最后的結(jié)果,是《算法導(dǎo)論》^_^艇挨。


用這個(gè)方法呢,我們就可以給用戶推薦說(shuō)韭赘,買了這個(gè)商品的用戶還購(gòu)買了***?

那這方法是不是有什么優(yōu)點(diǎn)呢缩滨?(廢話啊,不然Amazon會(huì)拿來(lái)用泉瞻,商人是很聰明的)


Tradition VS?Amazon

??? Amazon的CF算法可以在離線的情況下把item之間的相似度計(jì)算好脉漏。當(dāng)一個(gè)用戶登陸后,我們需要的也只是檢查用戶的購(gòu)買歷史袖牙,然后把跟這些item相似的item按一定的方法(比如受歡迎程度)排序展現(xiàn)給用戶侧巨。一般來(lái)說(shuō),用戶購(gòu)買的東西只是一個(gè)小的集合鞭达,因此不需要花很多的時(shí)間來(lái)計(jì)算司忱。

??? 而且皇忿,如果用戶沒(méi)有登陸,我們依然可以根據(jù)他的瀏覽歷史來(lái)做推薦坦仍。例如鳍烁,上面的圖片就是我在沒(méi)有登陸的情況下查看了一下《Beautiful Architecture》,然后Amazon給我做了推薦繁扎。



??? 對(duì)于Amazon這樣的網(wǎng)站來(lái)說(shuō)幔荒,用戶量是遠(yuǎn)遠(yuǎn)大于商品數(shù)量的。因此梳玫,Amazon的CF算法(計(jì)算商品相似度)比起傳統(tǒng)的CF算法(計(jì)算用戶相似度)爹梁,大大地節(jié)約了資源。

??? 對(duì)于一個(gè)未登陸的用戶來(lái)說(shuō)提澎,傳統(tǒng)的CF算法沒(méi)辦法根據(jù)他的瀏覽歷史來(lái)推薦(在線計(jì)算一個(gè)用戶跟其他所有用戶的相似度顯然不可能)姚垃。

參考資料


Amazon.com recommendations item-to-item collaborative filtering, Greg Linden, Brent Smith, and Jeremy York ? Amazon.com

http://www.cs.umd.edu/~samir/498/Amazon-Recommendations.pdf

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市虱朵,隨后出現(xiàn)的幾起案子莉炉,更是在濱河造成了極大的恐慌,老刑警劉巖碴犬,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件絮宁,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡服协,警方通過(guò)查閱死者的電腦和手機(jī)绍昂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)偿荷,“玉大人窘游,你說(shuō)我怎么就攤上這事√桑” “怎么了忍饰?”我有些...
    開(kāi)封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)寺庄。 經(jīng)常有香客問(wèn)我艾蓝,道長(zhǎng),這世上最難降的妖魔是什么斗塘? 我笑而不...
    開(kāi)封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任赢织,我火速辦了婚禮,結(jié)果婚禮上馍盟,老公的妹妹穿的比我還像新娘于置。我一直安慰自己,他們只是感情好贞岭,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布八毯。 她就那樣靜靜地躺著搓侄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪宪彩。 梳的紋絲不亂的頭發(fā)上休讳,一...
    開(kāi)封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音尿孔,去河邊找鬼俊柔。 笑死,一個(gè)胖子當(dāng)著我的面吹牛活合,可吹牛的內(nèi)容都是我干的雏婶。 我是一名探鬼主播,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼白指,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼留晚!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起告嘲,我...
    開(kāi)封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤错维,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后橄唬,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體赋焕,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年仰楚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了隆判。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡僧界,死狀恐怖侨嘀,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情捂襟,我是刑警寧澤咬腕,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站葬荷,受9級(jí)特大地震影響涨共,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜闯狱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一煞赢、第九天 我趴在偏房一處隱蔽的房頂上張望抛计。 院中可真熱鬧哄孤,春花似錦、人聲如沸吹截。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至晨逝,卻和暖如春蛾默,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背捉貌。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工支鸡, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人趁窃。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓牧挣,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親醒陆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子瀑构,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容