1.1 什么是推薦系統
80/20原則:80%的銷售額來自於20%的熱門品牌
不熱門的商品數量極其龐大,這些長尾商品的總銷售額將是一個不可小覷的數字,也許會超過熱門商品帶來的銷售額。
主流商品代表了絕大多數用戶的需求,而長尾商品代表了一小部分用戶的個性化需求。
推薦系統通過發掘用戶的行為,找到用戶的個性化需求,從而將長尾商品准確地推薦給需要它的用戶,幫助用戶發現那些他們感興趣但很難發現的商品。
社會化推薦:朋友推薦
基於內容的推薦:通過分析用戶曾經看過的電影找到用戶喜歡的演員和導演。
基於協同過濾的推薦:找到和自己歷史興趣相似的一群用戶,得到更能符合自己興趣的電影。。
1.2 個性化推薦系統的應用
所有推薦系統應用都是由前台的展示頁面、后面的日志系統以及推薦算法系統3部分構成。
1.2.1 電子商務
1.2.2 電影和視頻網站
1.2.3 個性化音樂網絡電台
1.2.4 社交網絡
1.2.5 個性化閱讀
1.2.6 基於位置的服務
1.2.7 個性化郵件
1.2.8 個性化廣告
1.3 推薦系統評測
好的推薦系統不僅僅能夠准確預測用戶的行為,而且能夠擴展用戶的視野,幫助用戶發現那些他們可能會感興趣,但卻不那么容易發現的東西。
同時,推薦系統還要能夠幫助商家將那些被埋沒在長尾中的好商品介紹給可能會對它們感興趣的用戶。
1.3.1 推薦系統實驗方法
1.離線實驗
(1)通過日志系統獲得用戶行為數據,並按照一定格式生成一個標准的數據集
(2)將數據集按照一定的規則分成訓練集和測試集
(3)在訓練集上訓練用戶興趣模型,在測試集上進行預測
(4)通過事先定義的離線指標評測算法在測試集上的預測結果
優點: 不需要有對實際系統的控制權
不需要用戶參與實驗
速度快,可以測試大量算法
缺點: 無法計算商業上關心的指標
離線實驗的指標和商業指標存在差距
2.用戶調查
3.在線實驗
A/B測試:通過一定的規則將用戶隨機分成幾組,並對不同的組的用戶采用不同的算法,然后通過統計不同組用戶的各種不同的評測指標比較不同算法,比如可以統計不同組用戶的點擊率,通過點擊率比較不同算法的性能。
優點:可以公平獲得不同算法實際在線時的性能指標
缺點:周期長,必須進行長期實驗才能得到可靠的結果
一個新的推薦算法上線,需要完成
(1)離線實驗
(2)用戶調查滿意度
(3)AB測試
1.3.2 評測指標
1.用戶滿意度
電商:用戶是否購買,即購買率
反饋:滿意/不滿意
還可以通過點擊率、用戶停留時間、轉化率等度量用戶的滿意度
2.預測准確度:最重要的推薦系統離線評測指標
(一)評分預測:預測用戶對物品的評分。一般RMSE和MAE計算。
Netflix認為RMSE加大了對預測不准的用戶物品評分的懲罰(平方)。
研究表明,如果評分系統是基於整數建立的,那么對預測結果取整會降低MAE的誤差。
(二)TopN推薦:一般通過准確率/召回率度量
一般是選取不同的推薦列表長度N,計算出一組准確率/召回率,畫出准確率/召回率曲線
(三)覆蓋率:描述一個推薦系統對物品長尾的發掘能力,可以采用熵和基尼系數
一個好的推薦系統不僅需要有比較高的用戶滿意度,也要有較高的覆蓋率
如果所有的物品都出現在推薦列表中,且出現的次數差不多,那么推薦系統發掘長尾的能力就很好。
排行榜和PageRank算法都有馬太效應。推薦系統的初衷是要消除馬太效應,使得各種物品都能被展示給對它們感興趣的某一類人群。
評測推薦系統是否具有馬太效應的簡單辦法就是使用基尼系數。如果G1是初始用戶行為中計算出來的物品流行度的基尼系數,G2是從推薦列表中計算出的物品流行度的基尼系數,如果G2>G1,說明推薦算法具有馬太效應。
(四)多樣性:描述推薦列表中物品兩兩之間的不相似性。
(五)新穎性:給用戶推薦那些以前沒聽說的物品。
評測新穎性的最簡單方法是利用推薦結果的平均流行主芭,因為越不熱門的物品越可能讓用戶覺得新穎。因此,如果推薦結果中物品的平均熱門程度較低,那么推薦結果就可能有比較高的新穎性。
(六)驚喜度
如果推薦結果和用戶的歷史興趣不相似,但卻讓用戶覺得滿意,那么就可以說推薦結果的驚喜度很高,而推薦的新穎性僅僅取決於用戶是否聽說過這個推薦結果。
令用戶驚嘉的推薦結果是和用戶歷史上喜歡的物品不相似,但用戶卻覺得滿意的推薦,那么,定義驚喜度需要首先定義推薦結果和用戶歷史上喜歡的物品的相似度,其次需要定義用戶對推薦結果的滿意度。
提高推薦驚喜度需要提高推薦結果的用戶滿意度,同時降低推薦結果和用戶歷史興趣的相似度。
(七)信任度
例:Epinion推薦系統,當用戶在Epinion上瀏覽一個商品時,會通過用戶評論判斷是否購買該商品,Epinion為了防止垃圾評論或者廣告評論影響用戶的決策,在每條用戶評論的右側都顯示了評論作者的信息,並且讓用戶判斷是信任該評論人還是將他加入黑名單。如果網站具有Epinion的用戶信任系統,那么可以在給用戶做推薦時,盡量推薦他信任的其他用戶評論過的物品。
(八)實時性
如果推薦列表在用戶有行為后變化不大,或者沒有變化,說明推薦系統的實時性不高。
(九)健壯性