1. 推薦系統的目的
信息過載算法
推薦系統學習
- 推薦系統是信息過載所採用的措施,面對海量的數據信息,從中快速推薦出符合用戶特色的物品。解決一些人的「選擇恐懼症」;面向沒有明確需求的人。
- 解決如何從大量信息中找到本身感興趣的信息。
- 解決如何讓本身生產的信息脫穎而出,受到大衆的喜好。
目的:測試
- 讓用戶更快更好的獲取到本身須要的內容
- 讓內容更快更好的推送到喜歡它的用戶手中
- 讓網站(平臺)更有效的保留用戶資源
![](http://static.javashuo.com/static/loading.gif)
2. 推薦系統的基本思想
- 利用用戶和物品的特徵信息,給用戶推薦那些具備用戶喜歡的特徵的物品。
- 利用用戶喜歡過的物品,給用戶推薦與他喜歡過的物品類似的物品。
- 利用和用戶類似的其餘用戶,給用戶推薦那些和他們興趣愛好類似的其餘用戶喜歡的物品。
知你所想,精準推送網站
- 利用用戶和物品的特徵信息,給用戶推薦那些具備用戶喜歡的特徵的物品。
物以類聚orm
- 利用用戶喜歡過的物品,給用戶推薦與他喜歡過的物品類似的物品。
人以羣分blog
- 利用和用戶類似的其餘用戶,給用戶推薦那些和他們興趣愛好類似的其餘用戶喜歡的物品。
3. 推薦系統的數據分析
![](http://static.javashuo.com/static/loading.gif)
- 要推薦物品或內容的元數據,例如關鍵字,分類標籤,基因描述等;
- 系統用戶的基本信息,例如性別,年齡,興趣標籤等
- 用戶的行爲數據,能夠轉化爲對物品或者信息的偏好,根據應用自己的不一樣,可能包括用戶對物品的評分,用戶查看物品的記錄,用戶的購買記錄等。這些用戶的偏好信息能夠分爲兩類:
①顯式的用戶反饋:這類是用戶在網站上天然瀏覽或者使用網站之外,顯式的提供反饋信息,例如用戶對物品的評分,或者對物品的評論。
②隱式的用戶反饋:這類是用戶在使用網站是產生的數據,隱式的反應了用戶對物品的喜愛,例如用戶購買了某物品,用戶查看了某物品的信息等等。ci
4. 推薦系統的分類
離線推薦
實時推薦資源
基於類似度的推薦
基於知識的推薦
基於模型的推薦數據分析
基於統計的推薦
個性化推薦it
基於人口統計學的推薦
基於內容的推薦
基於協同過濾的推薦
![](http://static.javashuo.com/static/loading.gif)
混合推薦
實際網站的推薦系統每每都不是單純只採用了某一種推薦的機制和策略,每每是將多個方法混合在一塊兒,從而達到更好的推薦效果。比較流行的組合方法有:
加權混合
- 用線性公式(linear formula)將幾種不一樣的推薦按照必定權重組合起來,具體權重的值須要在測試數據集上反覆實驗,從而達到最好的推薦效果
切換混合
- 切換的混合方式,就是容許在不一樣的狀況(數據量,系統運行情況,用戶和物品的數目等)下,選擇最爲合適的推薦機制計算推薦
分區混合
- 採用多種推薦機制,並將不一樣的推薦結果分不一樣的區顯示給用戶
分層混合
- 採用多種推薦機制,並將一個推薦機制的結果做爲另外一個的輸入,從而綜合各個推薦機制的優缺點,獲得更加準確的推薦
5. 推薦系統評測
- 讓用戶更快更好的獲取到本身須要的內容
- 讓內容更快更好的推送到喜歡它的用戶手中
- 讓網站(平臺)更有效的保留用戶資源
6. 推薦系統實驗方法
離線實驗
- 經過體制系統得到用戶行爲數據,並按照必定格式生成一個標準的數據集
- 將數據集按照必定的規則分紅訓練集和測試集
- 在訓練集上訓練用戶興趣模型,在測試集上進行預測
- 經過事先定義的離線指標評測算法在測試集上的預測結果
用戶調查
- 用戶調查須要有一些真實用戶,讓他們在須要測試的推薦系統上完成一些任務;咱們須要記錄他們的行爲,並讓他們回答一些問題;最後進行分析
在線實驗
7. 推薦系統評測指標
預測準確度、用戶滿意度、覆蓋率、多樣性、驚喜度、信任度、實時性、健壯性、商業目標
推薦準確度評測
評分預測
- 不少網站都有讓用戶給物品打分的功能,若是知道用戶對物品的歷史評分,就能夠從中學習一個興趣模型,從而預測用戶對新物品的評分
- 評分預測的準確度通常用均方根偏差(RMSE)或平均絕對偏差(MAE)計算
![](http://static.javashuo.com/static/loading.gif)
Top-N推薦
- 網站提供推薦服務時,通常是給用戶一個個性化的推薦列表,這種推薦叫作 Top-N推薦
- Top-N推薦的預測準確率通常用精確率(precision)和召回率(recall)來度量
準確率、精確率和召回率
假如某個班級有男生80人,女生20人,共計100人,目標是找出全部女生。如今某人挑選出50我的,其中20人是女生,另外還錯誤的把30個男生也看成女生挑選出來了。那麼怎樣評估他的工做?
將挑選結果用矩陣示意表來表示 : 定義 TP,FN,FP,TN 四種分類狀況:
![](http://static.javashuo.com/static/loading.gif)
準確率(accuracy)
- —— 正確分類的 item 數與總數之比:
- A = (20+50) / 100 = 70%
精確率(precision)
- ——全部被檢索到的 item 中,"應該被檢索到"的 item 佔的比例:
- P = 20 / (20+30) = 40%
召回率(recall)
- ——全部檢索到的 item 佔全部"應該檢索到的item"的比例:
- R = 20 / (20 + 0) = 100%