[近鄰推薦]基於鄰域的算法-協同過濾算法

目錄

1、相似度的度量

2、基於用戶的協同過濾算法

2.1 算法原理

2.2 用戶相似度計算的改進

2.3 使用的場景

3、基於物品的協同過濾算法

3.1 算法原理

3.2 物品相似度計算的改進

3.3 使用的場景

4、userCF和itemCF比較


1、相似度的度量

歐氏距離,度量的是空間中兩個點的絕對差異,適用於分析用戶能力模型之間的差異:

餘弦相似度,度量的是兩個向量之間的夾角:

皮爾遜相似度先對向量做了中心化,向量p和q各自減去向量的均值後,再計算餘弦相似度,皮爾遜相似度計算結果在-1到1,-1表示負相關,1表示正相關:

Jaccard相似度,是兩個集合的交集元素個數在並集中所佔的比例:

擴展,在社交網絡中,如何計算好友的相似度。1)選取一些標籤特徵,如職業、愛好、營銷號、是否大v等,計算Jaccord相似度;2)選取帖子關鍵詞向量,計算餘弦相似度;3)選取帖子發佈量、月帖數量、帖子字數等,計算歐氏距離。最終將這幾個相似度融合得到總相似度。

2、基於用戶的協同過濾算法

2.1 算法原理

usercf會給用戶推薦和他興趣最相似的K個用戶喜歡的物品,主要包括兩個步驟:

1、找到和目標用戶興趣相似的用戶集合。用戶相似度採用餘弦相似度

2、找到這個集合中的用戶喜歡的,且目標用戶沒有聽說過的物品推薦給目標用戶

2.2 用戶相似度計算的改進

兩個用戶對冷門物品採取過同樣的行爲更能說明他們興趣的相似度,懲罰熱門物品對用戶相似度的影響

2.3 使用的場景

userCF適用於新聞資訊推薦,如Digg,不同用戶羣體之間的興趣差別很大,推薦結果反映與用戶興趣相似的小羣體的熱點,保證推薦結果的熱門和實時性。同時,資訊更新很快,userCF可以將新資訊推薦給用戶

3、基於物品的協同過濾算法

3.1 算法原理

ItemCF根據用戶行爲,爲用戶推薦可能感興趣的相似商品,主要分爲兩步

1、計算物品之間的相似度

2、根據物品的相似度和用戶的歷史行爲爲用戶生成推薦列表

3.2 物品相似度計算的改進

熱門物品會獲得較大的相似度,導致推薦結果集中在熱門物品,解決方案如下

其一,加大對熱門物品的懲罰

其二,引入物品的內容相似度,提高推薦結果的覆蓋率和新穎性。

3.3 使用的場景

ItemCF更適合應用在電商網站,如亞馬遜,因爲在電商網站,用戶興趣比較固定和持久,itemcf 根據用戶感興趣的商品,推薦相似商品,推薦結果反映用戶自身的興趣偏好物品更新速率比較慢,並且用戶數遠遠大於商品數,物品的相似度矩陣更容易計算,物品的相似度矩陣可以每日更新一次;itemCF能夠捕捉到用戶實時的興趣偏好變化,用戶有新行爲時,推薦結果能夠實時更新。

4、userCF和itemCF比較

 

UserCF

ItemCF

性能

用戶數遠遠小於物品數;物品實時更新

物品數遠遠小於用戶數;

領域

資訊領域,時效性較強,用戶個性化興趣不太明顯

電商、音樂、電影等領域,用戶個性化需求強烈

實時性

用戶有新行爲,推薦結果不能立即變化

用戶有新行爲,一定會導致推薦結果的實時變化

冷啓動

新物品上線後,一旦有用戶對物品產生行爲,就可以把新物品推薦給興趣相似的其他用戶

新用戶只要對一個物品產生行爲,就可以推薦相似的其他物品

推薦理由

很難解釋

利用用戶的歷史行爲給用戶做推薦解釋,用戶比較信服

 

 

參考資料:

https://time.geekbang.org/column/74

《推薦系統實踐》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章