目錄
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
《推薦系統實踐》