推薦系統實戰第二部分 評價指標

評測指標用於評價推薦系統各方面的性能。有些可以定量計算,有些只能定性描述,有些可以通過離線實驗計算,有些需要通過用戶調查獲得,還有些只能在線評測。

預測準確度

預測準確度度量一個推薦系統或者推薦算法預測用戶行爲的能力。這個指標是最重要的推薦系統離線評測指標。

在計算該指標時需要有一個離線的數據集,該數據集包含用戶的歷史行爲記錄。然後,將該數據集通過時間分成訓練集和測試集。最後,通過在訓練集上建立用戶的行爲和興趣模型預測用戶在測試集上的行爲,並計算預測行爲和測試集上實際行爲的重合度作爲預測準確度。

主要包含兩種評測方向:

1. 評分預測
很多提供推薦服務的網站都有一個讓用戶給物品打分的功能。那麼,如果知道了用戶對物品的歷史評分,就可以從中習得用戶的興趣模型,並預測該用戶在將來看到一個他沒有評過分的物品時,會給這個物品評多少分。預測用戶對物品評分的行爲稱爲評分預測。


評分預測的預測準確度一般通過均方根誤差(RMSE)和平均絕對誤差(MAE)計算。對於測試集中的一個用戶u和物品i,令

 

是用戶u對物品i的實際評分,而是推薦算法給出的預測評分,那麼RMSE的定義爲:

 MAE採用絕對值計算預測誤差,它的定義爲:

 

2.TopN推薦
網站在提供推薦服務時,一般是給用戶一個個性化的推薦列表,這種推薦叫做TopN推薦。TopN推薦的預測準確率一般通過準確率(precision)/召回率(recall)度量。

令R(u)是根據用戶在訓練集上的行爲給用戶作出的推薦列表,而T(u)是用戶在測試集上的行爲列表。那麼,推薦結果的召回率定義爲:
 

推薦結果的準確率定義爲:

 

覆蓋率


覆蓋率(coverage)描述一個推薦系統對物品長尾的發掘能力。覆蓋率有不同的定義方法,最簡單的定義爲推薦系統能夠推薦出來的物品佔總物品集合的比例。假設系統的用戶集合爲U,推薦系統給每個用戶推薦一個長度爲N的物品列表R(u)。那麼推薦系統的覆蓋率可以通過下面的公式計算:

這種定義比較粗糙,如果所有的物品都出現在推薦列表中,且出現的次數差不多,那麼推薦系統發掘長尾的能力纔會很好。在信息論和經濟學中有兩個著名的指標可以用來定義覆蓋率。第一個是信息熵:

這裏的p(i)是物品i的流行度除以所有物品流行度之和。

第二個是基尼係數

 

這裏,是按照物品流行度p從小到大排序的物品列表中第j個物品。用圖來說明基尼係數的計算原理爲:

 多樣性

 

儘管用戶的興趣在較長的時間跨度中是一樣的,但具體到用戶訪問推薦系統的某一刻,其興趣往往是單一的,那麼如果推薦列表只能覆蓋用戶的一個興趣點,而這個興趣點不是用戶這個時刻的興趣點,推薦列表就不會讓用戶滿意。反之,如果推薦列表比較多樣,覆蓋了用戶絕大
多數的興趣點,那麼就會增加用戶找到感興趣物品的概率。因此給用戶的推薦列表也需要滿足用戶廣泛的興趣,即具有多樣性。

多樣性描述了推薦列表中物品兩兩之間的不相似性。因此,多樣性和相似性是對應的。假設定義了物品i和j之間的相似度,那麼用戶u的推薦列表R(u)的多樣性定義如下:

而推薦系統的整體多樣性可以定義爲所有用戶推薦列表多樣性的平均值:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章