推薦系統的本思想
• 利用用戶和物品的特征信息,給用戶推薦那些具有用戶喜歡的特征的物品。
• 利用用戶喜歡過的物品,給用戶推薦與他喜歡過的物品相似的物品。
• 利用和用戶相似的其他用戶,給用戶推薦那些和他們興趣愛好相似的其他用
戶喜歡的物品。

• 知你所想,精准推送
– 利用用戶和物品的特征信息,給用戶推薦那些具有用戶喜歡的特征的物品。
• 物以類聚
– 利用用戶喜歡過的物品,給用戶推薦與他喜歡過的物品相似的物品。
• 人以群分
– 利用和用戶相似的其他用戶,給用戶推薦那些和他們興趣愛好相似的其他用戶喜
歡的物品。
推薦系統的數據分析

• 要推薦物品或內容的元數據,例如關鍵字,分類標簽,基因描述等;
• 系統用戶的基本信息,例如性別,年齡,興趣標簽等
• 用戶的行為數據,可以轉化為對物品或者信息的偏好,根據應用本身的不同,
可能包括用戶對物品的評分,用戶查看物品的記錄,用戶的購買記錄等。這
些用戶的偏好信息可以分為兩類:
– 顯式的用戶反饋:這類是用戶在網站上自然瀏覽或者使用網站以外,顯式的提供
反饋信息,例如用戶對物品的評分,或者對物品的評論。
– 隱式的用戶反饋:這類是用戶在使用網站是產生的數據,隱式的反應了用戶對物
品的喜好,例如用戶購買了某物品,用戶查看了某物品的信息等等。
推薦系統的分類
• 根據實時性分類
– 離線推薦
– 實時推薦
• 根據推薦原則分類
– 基於相似度的推薦
– 基於知識的推薦
– 基於模型的推薦
• 根據推薦是否個性化分類
– 基於統計的推薦
– 個性化推薦
• 根據數據源分類
– 基於人口統計學的推薦
– 基於內容的推薦
– 基於協同過濾的推薦

推薦算法簡介
• 基於人口統計學的推薦
• 基於內容的推薦
• 基於協同過濾的推薦
• 混合推薦
基於人口統計學的推薦算法

基於內容的推薦算法

基於協同過濾的推薦算法
• 協同過濾(Collaborative Filtering,CF)
• 基於近鄰的協同過濾
– 基於用戶(User-CF)
– 基於物品(Item-CF)
• 基於模型的協同過濾
– 奇異值分解(SVD)
– 潛在語義分析(LSA)
– 支撐向量機(SVM)

協同過濾(CF)推薦方法
•基於內容(Content based, CB)主要利用的是用戶評價過的物品的內 容特征,
而CF方法還可以利用其他用戶評分過的物品內容
• CF可以解決CB的一些局限 -物品內容不完全或者難以獲得時,依然可以通過
其他用戶的反饋給出推薦 -CF基於用戶之間對物品的評價質量,避免了CB僅
依賴內容可能造成的對物品質量 判斷的干擾 -CF推薦不受內容限制,只要其他
類似用戶給出了對不同物品的興趣,CF就可以給 用戶推薦出內容差異很大的
物品(但有某種內在聯系)
分為兩類:基於近鄰和基於模型
基於用戶的協同過濾

基於物品的協同過濾

混合推薦
• 實際網站的推薦系統往往都不是單純只采用了某一種推薦的機制和策略,往往是將多
個方法混合在一起,從而達到更好的推薦效果。比較流行的組合方法有:
• 加權混合
– 用線性公式(linear formula)將幾種不同的推薦按照一定權重組合起來,具體權重的值需要
在測試數據集上反復實驗,從而達到最好的推薦效果
• 切換混合
– 切換的混合方式,就是允許在不同的情況(數據量,系統運行狀況,用戶和物品的數目等)下,
選擇最為合適的推薦機制計算推薦
• 分區混合
– 采用多種推薦機制,並將不同的推薦結果分不同的區顯示給用戶
• 分層混合
– 采用多種推薦機制,並將一個推薦機制的結果作為另一個的輸入,從而綜合各個推薦機制的優
缺點,得到更加准確的推薦
推薦系統評測
• 讓用戶更快更好的獲取到自己
需要的內容
• 讓內容更快更好的推送到喜歡
它的用戶手中
• 讓網站(平台)更有效的保留
用戶資源

推薦系統實驗方法
• 離線實驗
– 通過體制系統獲得用戶行為數據,並按照一定格式生成一個標准的數據集
– 將數據集按照一定的規則分成訓練集和測試集
– 在訓練集上訓練用戶興趣模型,在測試集上進行預測
– 通過事先定義的離線指標評測算法在測試集上的預測結果
• 用戶調查
– 用戶調查需要有一些真實用戶,讓他們在需要測試的推薦系統上完成一些任務;我們需要記錄
他們的行為,並讓他們回答一些問題;最后進行分析
• 在線實驗
– AB測試
推薦系統評測指標
• 預測准確度
• 用戶滿意度
• 覆蓋率
• 多樣性
• 驚喜度
• 信任度
• 實時性
• 健壯性
• 商業目標
推薦准確度評測
• 評分預測
– 很多網站都有讓用戶給物品打分的功能,如果知道用戶對物品的歷史評分,就可
以從中學習一個興趣模型,從而預測用戶對新物品的評分
– 評分預測的准確度一般用均方根誤差(RMSE)或平均絕對誤差(MAE)計算

• Top-N推薦
– 網站提供推薦服務時,一般是給用戶一個個性化的推薦列表,這種推薦叫做
Top-N推薦
– Top-N推薦的預測准確率一般用精確率(precision)和召回率(recall)來度量
准確率、精確率和召回率
•假如某個班級有男生80人,女生20人,共計100人,目標是找出所有女生。
現在 某人挑選出50個人,其中20人是女生,另外還錯誤的把30個男生也當作女生
挑選出來了。那么怎樣評估他的工作?
•將挑選結果用矩陣示意表來表示:定義TP, FN, FP, TN四種分類情況

•准確率(accuracy)
——正確分類的item數與總數之比
A =(20+50)/100 = 70%
•精確率(precision)
——所有被檢索到的item中,"應該被檢索到"的item占的比例
P = 20/ (20+30) = 40%
•召回率(recall)
——所有檢索到的item占所有"應該檢索到的item"的比例
R = 20 / (20+0) = 100%