<h3>什麼纔是好的推薦系統?</h3> <p> 推薦系統存在三個參與方:用戶、物品提供者和網站(或者手機應用)。好的推薦系統整體來講是一個能令三方雙贏的系統。那麼如何作到三方雙贏呢?<br/> 從用戶角度,推薦系統必須知足用戶的需求,給用戶推薦那些令他們感興趣的圖書。推薦系統還應該可以作到準確預測用戶的行爲,幫助用戶發現那些他們可能感興趣但不易本發現的物品(挖掘物品的長尾)。最後推薦系統也應該可以挖掘用戶潛在的興趣,將那些與用戶興趣無關可是用戶看見以後可能會感興趣的物品推薦給用戶(後文將要說明的驚喜度)。<br/> 從物品提供商角度,推薦系統要讓提供商的物品都可以被推薦給對其感興趣的用戶。<br/> 從網站角度,推薦系統可以讓自己收集到高質量的用戶反饋,不斷完善推薦質量,增長用戶和網站的交互(用戶活躍度和粘稠度?)。<br/> 我的見解,以上狀況很理想,可是現實老是骨幹的,在實際應用中,這可能這是咱們的終極目標。實際應用中可能會根據業務需求進行變更,並採起儘量可行的方案去執行,儘快發佈一個版本,而後在之後不斷去完善(感受與TDD相似)。 </p> <h3>推薦系統的實驗方法</h3> <p> 1.離線實驗<br/> 離線實驗通常有以下幾步構成:<br/> 1) 經過日誌系統獲取用戶行爲數據,並按照必定格式生成一個標準的數據集;<br/> 2) 將數據集按照必定的規則分紅訓練集和測試集;<br/> 3) 在訓練集上訓練用戶興趣模型,在測試集上進行預測;<br/> 4) 經過事先定義好的離線之指標評測算法評測預測結果。<br/> 優勢:不須要用戶參與;速度快,可測試大量算法。<br/> 缺點:離線實驗的指標與商業指標存在差距,而且沒法計算商業上關心的指標(如:點擊率,轉化率等)。<br/> 2.用戶調查<br/> 基於離線實驗的主要缺點,推薦系統在正是上線以前須要進行一次用戶調查。<br/> 優勢:能夠得到許多體現用戶主觀感覺的指標,相對在線實驗風險較低,出現錯誤容易彌補。<br/> 缺點:很難組織大規模的測試用戶,所以會使測試結果的統計意義不足。此外,用戶在測試環境下的行爲與真實環境下的行爲可能有所不一樣。<br/> 3.在線實驗<br/> 推薦系統上線後進行AB測試,經過必定規則將用戶隨機分紅幾組,並對不一樣組的用戶採用不一樣的算法,而後統計不一樣組用戶的各類不一樣的評測指標,比較不一樣的算法。<br/> 優勢:能夠公平得到不一樣算法實際時的性能指標,包括商業上的指標。<br/> 缺點:週期較長,必須進行長期的實驗才能得到可靠結果。所以AB測試主要測試那些在離線實驗和用戶調查中表現很好的算法。<br/> </p> <h3>實驗方法的評測指標</h3> <p> 1.用戶滿意度<br/> 評測推薦系統的最終要指標,通常經過問卷調查的形式。<br/> 2.預測準確度<br/> 最重要的離線評測指標。<br/> a) 評分預測<br/> 評分預測通常經過均方根偏差(RMSE)和平均絕對偏差(MAE)計算。<br/> RMSE=sqrt[square(用戶u對物品i的實際評分 - 用戶u對物品i的預測評分)/物品i的個數]<br/> MAE=( | 用戶u對物品i的實際評分 - 用戶u對物品i的預測評分 | ) / 物品的個數 。<br/> 我的見解,感受就是測量精度的問題,精度越準確就說明你測量的越準確。回頭能夠看看高中的相關知識。<br/> b) TopN推薦<br/> TopN推薦是推薦系統給用戶的一個個性化推薦列表的推薦方式。<br/> TopN推薦的預測準確率通常經過準確率(precision)/召回率(recall)度量。<br/> 相關文章請見:<a href=http://en.wikipedia.org/wiki/Information_retrieval#Precision>維基百科(點擊便可)</a>。<br/> 3.覆蓋率<br/> 暫不介紹,之後會補充。<br/> 4.多樣性<br/> 暫不介紹,之後會補充。<br/> 5.新穎型<br/> 暫不介紹,之後會補充。<br/> 6.驚喜度<br/> 暫不介紹,之後會補充。<br/> 7.信任度<br/> 暫不介紹,之後會補充。<br/> 8.實時性<br/> 暫不介紹,之後會補充。<br/> 9.健壯性<br/> 暫不介紹,之後會補充。<br/> 10.商業指標<br/> 暫不介紹,之後會補充。<br/> </p> <h3>評測維度</h3> <p> 評測維度能夠告訴你一個算法在什麼狀況下性能最好。這樣能夠經過融合不一樣推薦算法取得最好的總體性能。通常有用戶維度、物品維度、時間維度。 </p>算法