#2.基於鄰域的推薦演算法
#2.1 user-cf演算法
1.計算使用者之間的相似度,得到目標使用者的興趣相似的集合
2.從這個集合中選取目標使用者沒有使用的物品作為推薦
流程
計算使用者的相似度 余弦相似度
1.建立物品-使用者的倒排索引表,通過將此表每個物品的對應使用者"兩兩標記"
2.關於所有使用者的相似度矩陣c
定義:定義: 目標使用者u對於新物品i的感興趣程度: 和自己最類似的k個使用者對於物品i的評分之和
結論:1.k=80左右 precision&recall較好
2.k越大,參考的鄰域人數越多,越接近於全域性熱門物品
3.k越大,推薦的覆蓋率越低
改進
思路:兩個使用者對於"冷門物品"有相同的行為,更能說明其興趣的相似程度
==》 懲罰使用者u和使用者v共同興趣列表中"全域性熱門"物品對於其相似度的影響
p66user-iif演算法 計算使用者相似度
#2.2 item-cf演算法
1.計算物品之間相似度
2.基於使用者的歷史行為,將其物品top k推薦給使用者
流程
計算物品之間的相似度 余弦相似度
note: 余弦相似度的分母具有對"熱門物品"一定的懲罰意義
1.建立使用者-物品倒排表(每乙個使用者有其喜歡的物品列表),對於每個使用者種物品進行 「兩兩統計」
2.得到所有物品的相似度矩陣
定義: 使用者u對於物品j的感興趣程度: 將物品j最相似的k個物品,與使用者u的歷史列表中的物品計算相似度之和
==》使用者u歷史上感興趣的物品越相似的物品,越有可能在使用者的推薦列表中獲得比較高的排名
結論:1.k的取值很關鍵 非線性 不過k=10效果不錯
2.覆蓋率明顯低於user-cf
改進
思路:特別活躍的使用者對於物品的相似度的貢獻 < 不經常活躍的使用者
p74=》 避免物品相似度矩陣過於稠密,往往直接忽略過於活躍的使用者的興趣列表
#2.3 物品相似度歸一化
提高推薦的多樣性
原因p76 舉例p76
item-cf 和 user-cf的使用場景
1.新聞**同注重熱門程度+時效性 = user-cf
2.圖書,電子商務,電影** = item-
#2.4 哈利波特問題
為什麼原始item-cf會出現覆蓋率低情況
如何解決 兩個不同領域的最熱門物品往往具有比較高的相似度(導致同乙個領域物品反而不容易被推薦)
思路1:
(經典的item-cf公式上) 繼續加大對於熱門物品的懲罰 p80
思路2:
p81 感覺不太重要 不討論了
基於鄰域的推薦演算法
使用者相似度 w uv n u n v n u n v w frac wuv n u n v n u n v w uv n u n v n u n v w frac wuv n u n v n u n v 建立物品 使用者倒排表,轉化為使用者相似度矩陣 def usersimilarity trai...
推薦系統實踐 閱讀筆記4
latent factor model 演算法理論 對於某個使用者,首先得到他的興趣分類,再從分類中挑選他可能喜歡的物品 基於使用者行為的自動聚類 p83 迭代優化p q兩個引數 負樣本採集問題 熱門商品卻沒有被使用者喜歡的商品作為該使用者的負樣本 重要的引數有 1.隱藏的特徵個數f 2.學習速率a...
《推薦系統實踐》閱讀筆記四 TF IDF
定義 tf idf是一種用於資訊檢索與資訊探測的常用加權技術。tf idf是一種統計方法,用以評估乙個字或者詞語對於乙個檔案集合或者語料庫中的乙份檔案的重要程度。其實它的原理也很容易理解的,乙個詞語的重要性隨著它在檔案中出現的次數增加而增加,但會同時隨著它在語料庫中出現的頻率成反比下降。tf idf...