推薦算法學習小結

推薦系統知識點

  • 推薦系統架構上,佔比分別爲:數據 60%,產品30%,算法10%。
  • 推薦算法主要包括:基於人口統計學的推薦,基於內容的推薦,協同過濾三種。
  • 冷啓動分爲用戶冷啓動和物品冷啓動。
  • 用戶冷啓動通常是指用戶沒有在產品上留下任何歷史數據,無法獲取其喜好。常用的解決方法是根據用戶的背景資料,或引導性讓用戶進行選擇,從而暫時讓用戶適應熱啓動。在線推薦系統可以做到讓用戶產生了行爲後立馬更新推薦列表。
  • 物品冷啓動也類似,對於新物品來說沒有用戶歷史數據,這事會採用物品屬性之間的相關程度來解決。

基於人口學的推薦

人口學推薦
如上圖所示,該推薦方法根據用戶的基本信息發現用戶之間的相關程度,然後把相似用戶喜愛的其他物品推薦給當前用戶。

方法:

常常使用用戶年齡,性別,興趣等信息計算用戶間的相似度。

優勢:
  1. 不需要歷史數據,沒有冷啓動問題。
  2. 不依賴於物品的屬性,因此其他領域的問題都可無縫接入。
劣勢:

算法比較粗糙,效果很難令人滿意,只適合簡單的推薦


基於內容的推薦

在這裏插入圖片描述
與上文提到的方法類似,只不過用到的不是用戶之間的相似度而是物品間的相似度。

方法:

對物品屬性進行建模,如果兩個物品擁有比較相似屬性,那麼某用戶喜歡物品a的情況下很大可能喜歡物品b。

優勢:

對用戶興趣可以很好的建模,並通過對物品屬性維度的增加,獲得更好的推薦精度。

劣勢:
  1. 物品的屬性有限,很難有效的得到更多數據。
  2. 物品相似度的衡量標準只考慮到了物品本身,有一定的片面性。
  3. 需要用戶的物品的歷史數據,有冷啓動的問題。

協同過濾

核心:用戶交互數據建模
基於協同過濾的推薦可以分爲三個子類:

  1. 基於用戶的推薦(User-based Recommendation)
  2. 基於項目的推薦(Item-based Recommendation)
  3. 基於模型的推薦(Model-based Recommendation)
基於用戶的協同過濾推薦

基本假設:喜歡類似物品的用戶可能擁有相同的口味或偏好。
在這裏插入圖片描述

方法:

根據所有用戶的偏好信息,根據k近鄰等算法構建相似用戶羣,根據這羣用戶的歷史信息進行推薦。

與基於人口統計學方法的異同:

都是計算用戶相似度進行推薦。不同的是,人口學方法是根據用戶的特徵信息進行計算,而協同過濾方法是根據用戶的行爲特徵劃分相似用戶族羣。

基於項目的協同過濾推薦

與基於用戶的協同過濾方法類似,基於項目的方法能夠從項目歷史信息中發掘出具有相似性的物品,從而將類似信息的物品推薦給用戶。
在這裏插入圖片描述

基於模型的協同過濾

根據用戶樣本的喜好信息,通過機器學習方法訓練出推薦模型,根據實時的用戶喜好信息進行推薦。

主流方法:
協同過濾小結
優點:
  1. 不需要對物品或者用戶進行嚴格的建模,而且不要求物品的描述是機器可理解的,所以這種方法也是領域無關的。
  2. 這種方法計算出來的推薦是開放的,可以共用他人的經驗,很好的支持用戶發現潛在的興趣偏好。
缺點:
  1. 方法的核心是基於歷史數據,所以對新物品和新用戶都有“冷啓動”的問題。
  2. 推薦的效果依賴於用戶歷史偏好數據的多少和準確性。
  3. 在大部分的實現中,用戶歷史偏好是用稀疏矩陣進行存儲的,而稀疏矩陣上的計算有些明顯的問題,包括可能少部分人的錯誤偏好會對推薦的準確度有很大的影響等等。
  4. 對於一些特殊品味的用戶不能給予很好的推薦。
  5. 由於以歷史數據爲基礎,抓取和建模用戶的偏好後,很難修改或者根據用戶的使用演變,從而導致這個方法不夠靈活。

參考資料

[1] 常用的推薦算法小結
[2] 協同過濾推薦算法總結

發佈了67 篇原創文章 · 獲贊 94 · 訪問量 39萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章