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

推薦系統(一)評測指標

一、什麼是好的推薦系統

對推薦系統的評價和單純的演算法的評價略有不同,評價一個推薦系統的好壞可以從多個角度去評價。

1.      推薦系統的實驗方法

首先我們先來介紹下獲得這些指標的實驗方法,主要有離線實驗、使用者調查、線上實驗。

離線實驗的資料主要從資料集上完成,不需要從一個實際的系統來獲取實驗,只要提供系統日記即可,缺點是無法獲取商業上的指標,並且離線實驗和商業指標上存在差距。

使用者調查是需要一些真實的使用者,在推薦系統上完成一些任務,根據他們的答案和行為了解系統的效能。可以完成離線時沒有辦法評測的使用者的主觀感受,因為高預測率並不等於高使用者滿意度。但是這種方式成本比較高,同時還要保證樣本使用者的可靠性。

線上實驗主要是AB測試,AB測試是可以公平的獲得不同演算法實際線上時的效能指標,缺點是週期比較長,切分流量也是AB測試的關鍵,因為從前端展示到後端的演算法,中間經過了很多層,我們需要知道結果的改變是推薦演算法的改變還是頁面展示的改變。

總之,一個推薦演算法需要上線,首先,通過離線實驗證明很多的離線指標可以優於上面的演算法,其次通過使用者調查確定它的使用者滿意度不低於現在的演算法,最後通過AB測試確定在我們關心的指標上優於現有演算法。

2.      推薦系統的評測指標

(1)      使用者滿意度

有的網站是通過反饋按鈕來反映使用者的滿意程度、更一般的情況我們可以用點選率、轉化率、使用者停留時長來反映

(2)      預測準確度

l  評分預測

通過均方根誤差(RMSE)和平均絕對誤差(MAE)判斷

lTopN推薦

召回率

準確率

(3)      覆蓋率

覆蓋率是是一個可以描述推薦系統對物品長尾的發掘能力,即推薦系統推薦出來的物品佔總物品集合的比例。

但是覆蓋率為100%的物品的系統可以有無數的物品流行度分佈,如果所有的物品都出現在推薦列表裡,且出現的次數不多,那麼推薦系統的發掘長尾的能力就比較好。有另外兩個指標來衡量,分別是

資訊熵

基尼係數

(4)      多樣性

每個人的興趣是多樣的,類似的,在推薦系統中,如果可以發現使用者不同的興趣點,那麼這樣的推薦系統就會具有多樣性。

我們可以用一個公式來描述推薦系統的多樣性,

先計算使用者u推薦列表的多樣性

再計算推薦系統整體的多樣性

(5)      新穎性

新穎性是指給使用者推薦那些他們以前沒有聽說過沒有看過的物品,評價新穎性的一個方法主要是利用推薦結果的平均流行度,因為越不熱門的物品越有可能讓別人覺得新穎。

(6)      驚喜度

首先區分和新穎性的意義,驚喜度偏向推薦結果和使用者的歷史興趣不相似,但卻讓使用者滿意。

(7)      信任度

可以增加推薦系統的透明度,以及根據好友推薦可以增加信任度。

(8)      實時性

在很多網站中,很多物品具有時效性,比如新聞、微博等。

(9)      健壯性

任何一個可以盈利的系統都會被人攻擊,有人推薦系統是依賴使用者行為的,比如有的人回你僱傭一批人給自己的商品高評分。對於這種方法可以儘量使用代價高的使用者行為(比如有購買記錄的使用者),以及在使用資料前進行清洗。

(10)  商業目標

最終的是目的是盈利,但是計算這種盈利模式的代價比較高。

3.      評測維度

增加評測維度的目的是知道一個推薦系統在什麼情況下效能最好:

使用者維度:使用者活躍度以及是不是新使用者

物品維度:包括物品的流行度以及是不是新加入的物品、屬性資訊、平均分

時間維度:季節、工作日還是週末  白天還是晚上

參考書目:項亮:《推薦系統實戰》