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

推薦系統評測指標

0前言
什麼才是好的推薦系統?這是推薦系統評測的需要解決的首要問題。那我們怎麼去判斷一個系統的好壞呢?我們認為一個好的推薦系統不僅僅能夠準確的預測使用者的行為,而且還能夠擴充套件使用者的視野,幫助使用者發現那些他們可能會感興趣但卻不那麼容易發現的東西。
評價一個推薦系統的好壞一般有幾個不同的指標,這些指標包括:準確度、覆蓋度、新穎度、驚喜度、信任度等。這些指標中,有些是可以離線計算,有的只能在線計算,有些只能通過使用者反饋才能得到。下面將會依次介紹這些指標。
1推薦系統實驗方法
介紹推薦系統的指標前,先看下計算和獲得這些指標的主要實驗方法。一般有三種:離線實驗、使用者調查和線上實驗。

1.1離線實驗:


(1)通過日誌系統獲得使用者行為資料,並按照一定格式生成一個標準的資料集
(2)將資料集按照一個的規則分為訓練集和測試集
(3)在訓練集上訓練使用者興趣模型,在測試集上進行預測
(4)通過事先定義的離線指標評測演算法在測試集上的預測結果
1.2使用者調查:
使用者調查需要有一些真實的使用者,讓他們在需要測試的推薦系統上完成一些任務,在他們完成任務時,我們需要觀察和記錄使用者的行為,並讓他們回答一些問題。最後,分析他們的行為和答案瞭解測試系統的效能。
1.3線上實驗:
在完成離線實驗和必要的使用者調查後,可以將推薦系統上線做AB測試,將它和舊的演算法進行比較。

一般來說,一個新的推薦演算法最終上線,需要完成上面三個實驗:

  • 首先,需要通過離線實驗證明它在很多離線指標上優於現在的演算法
  • 然後,需要通過使用者調查確定它的使用者滿意度不低於現在的演算法
  • 最後,通過線上的AB測試確定它在我們關心的指標上優於現有的演算法

2評測指標
現在,開始介紹各種推薦系統的評測指標。這些評測指標可用於評價推薦系統各方面的效能。

2.1使用者滿意度
使用者作為推薦系統的重要參與者,其滿意度是評價推薦系統的重要指標,一般來說,使用者滿意度主要通過使用者調查和線上實驗獲得。
使用者調查主要是通過調查問卷的形式。使用者對推薦系統的滿意度分為不同的層次。
線上實驗可以通過分析使用者行為的統計得到。比如使用者購買了推薦的物品,推薦網站設計滿意和不滿意反饋按鈕,還可以用點選率、使用者停留時間和轉化率等指標度量使用者的滿意度。
2.2預測準確度


預測準確度是度量一個推薦系統或者推薦演算法預測使用者行為的能力。這個指標是一個重要的推薦系統離線評測指標。預測準確度可以分為評分預測準確度和TopN推薦準確度。
評分預測:很多提供推薦服務的網站都有一個使用者給物品打分的功能,如IMDB電影網站就會有使用者給電影打分的功能。那麼,如果知道了使用者對物品的歷史評分,就可以從找那個學習得到使用者的興趣模型,並預測該使用者看到一個沒有評分過的物品時會給該物品評多少分。評分預測準確度一般通過均方根無差(RMSE)和平均絕對誤差(MAE)計算。
RMSE定義如下:
這裡寫圖片描述
MAE定義如下:
這裡寫圖片描述
TopN推薦:網站在提付推薦服務時,一般是給使用者返回一個個性化的推薦列表,這種推薦叫做TopN推薦。TopN推薦的準確度一般通過準確率(precision)和召回率(recall)來度量。
準確率定義如下:
這裡寫圖片描述
召回率定義如下:
這裡寫圖片描述
2.3覆蓋率
覆蓋率描述一個推薦系統對物品長尾的發掘能力。覆蓋率有不同的定義,最簡單的定義為推薦系統能夠推薦出來的物品佔總物品集合的比例。這裡對覆蓋率不做過多的介紹,有興趣的可以自行查資料瞭解。
2.4多樣性
使用者的興趣是廣泛的。比如說一個使用者喜歡看《海賊王》等一類的動漫,也可能喜歡看科幻片。那麼,為了滿足使用者廣泛的興趣,推薦列表需要能夠覆蓋到使用者不同的興趣領域,即推薦結果需要具有多樣性。
多樣性描述的是推薦列表中物品兩兩之間的不相似性。
2.5新穎性
新穎的推薦是指給使用者推薦那些他們以前沒有聽過的物品。實現新穎性最簡單的方法是把那些使用者之前在網站中對其有過行為的物品從推薦列表中過濾掉。但是過濾掉這些不能完全實現新穎性,有些無可能使用者在其他的地方有過行為。而評測新穎度的最簡單的方法是利用推薦結果的平均流行度,因為越不熱門的物品越可能讓使用者覺得新穎。因此,如果推薦結果中物品的平均流行度較低,那麼推薦結果就有可能有比較高的新穎性。
2.6驚喜度
驚喜度是最近幾年推薦系統領域熱門的話題。目前對驚喜度沒有公認的定義,一般認為如果推薦結果和使用者的歷史興趣不相似,但卻讓使用者覺得滿意,那麼就可以說推薦結果的驚喜度很高,而推薦的新穎性僅僅取決於使用者是否聽過這個推薦結果。
2.7其他
還有信任度、實時性、健壯性等指標,一般常用的就是上面介紹的幾種指標。