一、推薦系統的目的
- 讓用戶更快更好的獲取到自己需要的內容
- 讓內容更快更好的推送到喜歡它的用戶手中
- 讓網站(平台)更有效的保留用戶資源
二、推薦系統的基本思想
- 利用用戶和物品的特征信息,給用戶推薦那些具有用戶喜歡的特征的物品。
- 利用用戶喜歡過的物品,給用戶推薦與他喜歡過的物品相似的物品。
- 利用和用戶相似的其他用戶,給用戶推薦那些和他們興趣愛好相似的其他用戶喜歡的物品
三、推薦系統分類
1、根據實時性分類
- 離線推薦
- 實時推薦
2、根據推薦原則分類
- 基於相似度的推薦
- 基於知識的推薦
- 基於模型的推薦
3、根據數據源分類
- 基於人口統計學的推薦
- 基於內容的推薦
- 基於協同過濾的推薦
四、推薦算法簡介
1、基於人口統計學的推薦
2、基於內容的推薦:利用用戶評價過的物品的內容特征
3、基於協同過濾的推薦
- 基於近鄰的協同過濾
- 基於用戶(User-CF)
- 基於物品(Item-CF)
- 基於模型的協同過濾
- 奇異值分解(SVD)
- 潛在語義分析(LSA)
- 支撐向量機(SVM)
5、混合推薦
實際網站的推薦系統往往都不是單純只采用了某一種推薦機制和策略,往往是將多個方法混合在一起,從而達到更好的推薦效果。比較流行的組合方法有:
- 加權混合:用線性公式(linear formula)將幾種不同的推薦按照一定權重組合起來,具體權重的值需要在測試數據集上反復實驗,從而達到最好的推薦效果
- 切換混合:切換的混合方式,就是允許在不同的情況(數據量,系統運行狀況,用戶和物品的數目等)下,選擇最為合適的推薦機制計算推薦
- 分區混合:采用多種推薦機制,並將不同的推薦結果分不同的區顯示給用戶
- 分層混合:采用多種推薦機制,並將一個推薦機制的結果作為另一個的輸入,從而綜合各個推薦機制的優缺點,得到更加准確的推薦
五、推薦系統實驗方法
1、離線實驗
- 通過日志系統獲得用戶行為數據,並按照一定格式生成一個標准的數據集
- 將數據集按照一定的規則分成訓練集和測試集
- 在訓練集上訓練用戶興趣模型,在測試集上進行預測
- 通過事先定義的離線指標,評測算法在測試集上的預測結果
2、用戶調查
用戶調查需要有一些真實用戶,讓他們在需要測試的推薦系統上完成一些任務;我們需要記錄他們的行為,並讓他們回答一些問題;最后進行分析
3、在線實驗
在完成離線實驗和用戶調查后,可以將系統上線做AB測試
AB測試:通過一定的規則將用戶隨機分成幾組,對不同組的用戶采用不同的算法,然后通過統計不同組的評測指標,比較不同算法的好壞。
六、推薦系統評測指標
1、預測准確度:是推薦系統最重要的離線評測指標
- 預測評分准確度:衡量的是算法預測的評分與用戶的實際評分的貼近程度。
平均絕對誤差(MAE):
均方根誤差(RMSE):
- TopN推薦:給用戶一個個性化的推薦列表
精確率(precision):針對預測結果而言,它表示預測為正的樣本中有多少是真正的正樣本。那么預測為正就有兩種可能了,一種就是把正類預測為正類(TP),另一種就是把負類預測為正類(FP)
召回率(recall):針對原來的樣本而言,它表示的是樣本中的正例有多少被預測正確了。那也有兩種可能,一種是把原來的正類預測成正類(TP),另一種就是把原來的正類預測為負類(FN)。
2、用戶滿意度:
- 只能通過用戶調查或者在線實驗獲得
- 可以通過用戶點擊率、停留時間、轉化率等指標度量用戶的滿意度
3、覆蓋率:推薦系統推薦出來的物品占總物品的比例。
4、多樣性:推薦系統需要能夠覆蓋用戶不同興趣的領域。
5、新穎性:向用戶推薦非熱門、非流行物品的能力
6、驚喜度:推薦的結果和用戶的歷史興趣不相似,但讓用戶滿意,這就是驚喜度很高
7、信任度:用戶信任推薦系統,就會增加用戶和推薦系統的交互
- 增加信任度的方式:
- 增加系統透明度
- 利用社交網絡
8、實時性
9、健壯性:衡量推薦系統抗擊作弊的能力。
10、商業目標