1. 程式人生 > >推薦系統測評指標

推薦系統測評指標

一個完整的推薦系統一般含3個參與方:使用者、物品提供者和提供推薦系統的網站。一個好的推薦系統是能令三方共贏的系統。好的推薦系統不僅能準確預測使用者的行為,還能擴充套件使用者的視野,幫助使用者發現那些他們可能會感興趣,但卻不容易發現的東西。自己的理解:對使用者來說,好推薦系統有較好的新穎性和驚喜度。對提供者來說,要有較高的使用者滿意度和覆蓋率

一、實驗方法

1.離線實驗

需要有一個日誌資料集,不需一個實際的系統來供它實驗。

優點:不需真實使用者參與,直接快速、方便,可測試大量演算法。

缺點:無法獲得很多商業上關注的指標,如點選率、轉化率等。離線實驗的指標和商業指標存在差距,如預測準確率和使用者滿意度間存在很大差別。

2.使用者調查

在上線測試前需做一次使用者調查。

優點:得到與使用者主觀感受有關的指標,相對線上實驗風險很低,出現錯誤後很容易彌補

缺點:調查成本很高,需使用者花大量時間完成一個任務並回答相關問題。需花錢僱傭測試使用者,大多數情況下很難進行大規模的使用者調查,得出的結果大多沒有統計意義。設計雙盲實驗非常困難,且結果在真實環境下無法重現。

3.線上實驗

在離線實驗和使用者調查後將推薦系統上線做AB測試,將新系統和舊演算法進行比較。將使用者隨機分成幾組,對不同組使用者採用不同演算法,比較不同演算法效能。

優點:可公平獲得不同演算法實際線上時的效能指標,包括商業上關注的指標

缺點:週期較長,需進行長期實驗才能得到可靠的結果。故只測試在離線實驗和使用者調查中表現較好的演算法

一般來說,一個新推薦演算法上線要完成上述的3個實驗。首先,須通過離線實驗證明它在很多離線指標上優於現有的演算法;然後,通過使用者調查確定它的使用者滿意度不低於現有的演算法;最後,通過線上AB測試確定它在我們關心的指標上優於現有的演算法

二、測評指標

1.使用者滿意度:只能通過使用者調查或線上實驗獲得

對於使用者調查方式,用調查問卷方式;對於線上實驗方式,主要通過一些對使用者行為的統計得到。

對於使用者行為,可分為顯性和隱性之分。若使用者購買了推薦的商品,則說明在一定程度上滿意,可用購買率度量。還可用使用者反饋介面收集,通過統計兩種按鈕的單擊情況度量。更一般的情況下,用點選率、使用者停留時間和轉化率

等指標度量。

2.預測準確度:離線實驗測評

表示一個推薦演算法預測使用者行為的能力。

2.1  評分預測(即打分)

一般用RMSE(均方根誤差)和MAE(平均絕對誤差)計算。RMSE加大了對預測不準的使用者物品評分的懲罰,對系統的測評更加苛刻。

2.2  Top N推薦(即個性化推薦)

一般用準確率(precision)和召回率(recall)計算。準確率和召回率的定義如下:其中R(u)表示推薦的列表,T(u)表示真實的行為列表

為了全面測評TopN推薦,一般會選取不同的推薦列表長度計算出一組準確率和召回率,畫出對應的曲線。

3.覆蓋率

描述一個演算法對長尾物品的挖掘能力。定義為推薦演算法能推薦出的物品佔總物品集合的比例,是內容提供商會關心的指標,熱門排行榜的推薦覆蓋率是很低的。

為了更細緻地描述演算法挖掘長尾的能力,需統計推薦列表中不同物品出現次數的分佈。若所有的物品均出現在推薦列表中,且出現的次數差不多,則推薦系統發掘長尾的能力較好(這一點和最大熵模型很像!)。可用資訊熵和基尼係數來表述

       很多研究表明,現在的主流推薦演算法(如協同過濾演算法)具有馬太效應,即強者更強。測評一個推薦演算法是否有馬太效應的簡單辦法是使用基尼係數。具體方法是:分別計算推薦列表和初始使用者行為的物品流行度的基尼係數,若推薦列表的基尼係數大,則推薦演算法具有馬太效應。

4.多樣性

滿足使用者廣泛的興趣需求。描述了推薦列表中物品兩兩之間的不相似性。多樣性和相似性對應

5.新穎性

在網站中實現的最簡單的做法是,把使用者之前在網站中對其有過行為的物品從推薦列表中過濾掉,但金過濾掉本網站中使用者有過行為的物品不能完全實現新穎性。

測評的最簡單方法是利用推薦結果的平均流行度,越不熱門的物品越可能讓使用者覺得新穎。要準確統計新穎性需作使用者調查。

6.驚喜度(熱點)

和新穎性的區別:若推薦結果和使用者的歷史興趣不相似,但卻讓使用者覺得滿意,則表示驚喜度很高;而推薦結果的新穎性僅取決於使用者是否聽說過這個推薦結果。

7.信任度

只能通過問卷調查來度量。

提高信任度的方法主要有兩種:首先需增加推薦系統的透明度,主要是提供推薦解釋。其次是考慮使用者的社交網路資訊,即好友推薦。

8.實時性(常在物品和新聞類網站中要求)

實時更新推薦列表來滿足使用者新的行為變化。很多推薦系統都會在離線狀態每天計算一次使用者推薦列表,然後於線上期間將推薦列表展示給使用者,這樣很不及時,效果不好。可通過推薦列表的變化速率測評。需能將新加入的物品推薦給使用者,考驗推薦系統處理物品的冷啟動能力。可用使用者推薦列表中有多大比例的物品是當天新加的來測評。

9.健壯性

衡量演算法抗擊作弊的能力。最著名的是行為注入攻擊。主要用模擬攻擊測評。

??如何優化離線指標來提高線上指標??

對於可以離線優化的指標,書中作者的看法是應在給定覆蓋率、多樣性、新穎性等限制條件下儘量優化預測準確度。