Amazon的推薦系統

2021-07-14 23:38:59 字數 2056 閱讀 3937

現在的推薦系統特別火啊。做得最好的應該是amazon了。

上面是amazon的圖書推薦。

用的就是著名的 協同過濾(collaborative filtering)演算法。

我們用乙個簡單的例子來說明。

下面是乙個使用者購買的書籍的**。

計算機網路

演算法導論

人工智慧

資料庫系統實現

概率統計

gre 詞彙手冊

小明小張

小李小王

上面的1表示購買,0表示沒有購買。

那麼我們怎麼來給小明推薦書籍呢?

首先呢,根據每個人買的書籍,我們可以將每個使用者表示成乙個向量。

例如,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>

然後呢,我們做這樣的假設,買書習慣跟小明類似的人,如果購買了小明沒有買的書,那麼我們就認為,小明很有可能買這本書。

於是,問題變成了找買書習慣跟小明類似的人。提到向量跟相似度,我們自然就想到了用余弦來衡量相似度。

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

接下來,大家動手算一下吧。

cos=0.67

cos=0.41

cos=0.41

呵呵,那麼跟小明習慣最像的就是小張了。

然後,我們發現小張買了《演算法導論》,但是小明沒有買,於是我們就給小明推薦《演算法導論》。

這個方法看起來很不錯,那麼為什麼amazon提出了另外的一種方法呢?

有一天呢,amazon的乙個工程師腦袋抽筋,不小心把上面的**拿錯方向了。於是變成了下面的樣子。

小明小張

小李小王

計算機網路

演算法導論

人工智慧

資料庫系統實現

概率統計

gre 詞彙手冊

如果把書的那一行看成乙個向量,有啥發現沒?對了,我們可以找相似的人,我們還可以找相似的書!!!

這也就是amazon的item-to-item協同過濾系統。

很多時候,創新就是這麼簡單,寫*****就是這麼容易啊 ,換個方向思考 (呃,那位童鞋,不是叫你把書拿反了看)。

下面簡單描述一下方法。

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

接下開我們看到小明買了《計算機網路》和《人工智慧》的書,把跟這兩本書類似的書推薦給小明。

跟《計算機網路》最相似的是 《演算法導論》和 《人工智慧》,跟 《人工智慧》最相似的是《計算機網路》和 《演算法導論》。

最後的結果,是《演算法導論》^_^。

用這個方法呢,我們就可以給使用者推薦說,買了這個商品的使用者還購買了*** 

那這方法是不是有什麼優點呢?(廢話啊,不然amazon會拿來用,商人是很聰明的)

tradition vs amazon

amazon的cf演算法可以在離線的情況下把item之間的相似度計算好。當乙個使用者登陸後,我們需要的也只是檢查使用者的購買歷史,然後把跟這些item相似的item按一定的方法(比如受歡迎程度)排序展現給使用者。一般來說,使用者購買的東西只是乙個小的集合,因此不需要花很多的時間來計算。

而且,如果使用者沒有登陸,我們依然可以根據他的瀏覽歷史來做推薦。例如,上面的就是我在沒有登陸的情況下檢視了一下《beautiful architecture》,然後amazon給我做了推薦。

對於amazon這樣的**來說,使用者量是遠遠大於商品數量的。因此,amazon的cf演算法(計算商品相似度)比起傳統的cf演算法(計算使用者相似度),大大地節約了資源。

amazon.com recommendations item-to-item collaborative filtering, greg linden, brent smith, and jeremy york • amazon.com

推薦系統實踐 好的推薦系統

一 好的推薦系統 1.什麼是推薦系統 從某種意義上說,推薦系統和搜尋引擎對於用語來說是兩個互補的工具。搜尋引擎滿足了使用者有明確目的時的主動查詢需求,而推薦系統能夠在使用者沒有明確目的的時候幫助他們發現感興趣的內容。分為社會化推薦,基於內容的推薦和基於協同過濾的推薦。目前廣告投放的技術主要分三種 上...

推薦系統 推薦系統的常用演算法概述

前一陣子準備畢業 的開題,一直在看推薦系統相關的 對推薦系統有了乙個更加清晰和理性的認識,也對推薦演算法有了深入了解。藉此機會總結分享一下,大家多多拍磚。推薦系統的出現 隨著網際網路的發展,人們正處於乙個資訊 的時代。相比於過去的資訊匱乏,面對現階段海量的資訊資料,對資訊的篩選和過濾成為了衡量乙個系...

有名的推薦系統 推薦系統理論

前面我們都一直在講各種資料結構和重點排序演算法,今天我們來換一種口味吧,那就是有名的推薦演算法 1 推薦演算法 實際上解決推薦這個問題,不需要太多的理論,解決思路的核心思想非常簡單,a 乙個是基於使用者進行推薦 換種說法就是尋找和你口味差不多的人,進行相互推薦 b 乙個是基於商品進行推薦,換句話說就...