案例|推薦系統的評估指標

推薦系統可以爲用戶提供個性化體驗,如今基本上各大電商平臺、資訊平臺都會用推薦系統爲自家評價下的用戶提供千人千面的服務。平均精度均值(Mean Average Precision,MAP)即是評估推薦系統性能的度量標準之一。html

可是,使用其餘診斷指標和可視化工具可讓模型評估更加深刻,甚至還會帶來一些其餘啓發。本文探討了召回率、覆蓋率、個性化和表內類似性,並使用這些指標來比較三個簡單的推薦系統。git

Movielens數據集

這篇文章中的例子使用的數據是Movielens 20m數據集。這些數據包含用戶對電影的評分以及電影類型的標記。 (爲了延長訓練時間,該數據被下采樣,評分僅包括給超過1000部電影打過度的用戶的評分,以及3星及其以上的評分。)github

用戶電影評級的示例

模型

本文測試並比較了三種不一樣的推薦系統:微信

1.隨機推薦(隨機爲每位用戶推薦10部電影)網絡

2.根據流行度推薦(向每位用戶推薦最受歡迎的10部電影)運維

3.協同過濾器(使用SVD的矩陣分解方法)工具

接下來就讓咱們深刻了解這些指標和診斷圖,並比較這些模型!post

長尾圖

長尾圖用於挖掘用戶-項交互數據中的流行度模式,例如點擊次數、評分或購買行爲等。一般,只有一小部分項目具備大量的交互,咱們稱之爲「頭部」;而大多數項目都集中在「長尾」中,它們只佔交互的一小部分。性能

長尾圖 (Movielens 20m評級數據樣本)

在訓練數據中會對許多熱門項目進行多方觀察,所以,推薦系統想要準確預測這些項目並不難。在電影數據集中,最受歡迎的電影是大片和經典老片。這些電影已爲大多數用戶所熟知,推薦這些電影,對用戶來講可能並不是是個性化推薦,也可能沒法幫助用戶發現其餘新的電影。相關推薦被定義爲用戶在測試數據時給予正面評價的項目的推薦。這裏的指標用來評估推薦系統的相關性和實用性。學習

MAP和MAR

推薦系統會爲測試集中的每一個用戶生成推薦的有序列表。平均精度均值(MAP)可讓開發者深刻了解推薦項目列表的相關性,而召回率可讓開發者深刻了解推薦系統的調試性能,如調試用戶給予正向評價的全部項目。MAP和MAR的詳細描述以下:

Mean Average Precision (MAP) For Recommender Systems​
sdsawtelle.github.io圖標

覆蓋率

覆蓋率是指模型可以在測試集上推薦的項目佔訓練數據的百分比。在此示例中,受歡迎度推薦的覆蓋率僅爲0.05%,它只推薦了10件物品。隨機推薦器的覆蓋率接近100%。出乎意料的是,協同過濾只能推薦其訓練的項目的8.42%。

三個推薦系統的覆蓋率比較:

個性化

個性化是評估模型是否向不一樣用戶推薦相同項目的方法。用戶的推薦列表之間存在差別(1-餘弦類似性)。下邊的例子能很好地說明如何計算個性化程度。

3個不一樣用戶的推薦項目示例列表:

首先,每一個用戶的推薦項目會被表示爲二進制指示符變量(1:向用戶推薦該項目.0:不向用戶推薦該項目)。

而後,跨全部用戶的推薦向量計算餘弦類似度矩陣。

最後,計算餘弦矩陣的上三角的平均值。個性化是1-平均餘弦類似度。

高個性化分數表示用戶的推薦不一樣,這也意味着該模型爲每一位用戶提供個性化體驗。

列表內類似性

列表內類似性是推薦列表中全部項目的平均餘弦類似度。該計算使用推薦項目(例如電影類型)的特徵來計算類似度。該計算方法能夠經過如下示例說明。

針對3個不一樣用戶的電影ID的推薦示例:

這些電影類型特徵用於計算推薦給用戶的全部項目之間的餘弦類似度。該矩陣顯示了向用戶1推薦的全部電影的特徵。

咱們能夠爲每一個用戶計算表內類似性,並對測試集中的全部用戶求平均值,從而獲得對模型的表內類似性的估計。

若是推薦系統向每個用戶推薦很是類似的項目列表(如用戶僅接收浪漫電影的推薦),那麼列表內類似性將很高。

使用正確的訓練數據

咱們能夠對訓練數據進行以下操做,從而快速改進推薦系統:

1.從培訓數據中刪除熱門項目 (這一點適用於用戶能夠自行找到這些項目,以及發現這些項目不具有實用性的狀況)。

2.按照用戶的值來放大項目評級,例如平均交易值。這樣作有助於模型推薦可以帶來忠誠度或高價值客戶的項目。

結論

一個好的推薦系統可以生成兼具實用性和相關性的推薦結果。

使用多個評估指標來評估模型,可以更加全面地衡量一個推薦系統的性能。


原文連接:Evaluation Metrics for Recommender Systems

以上內容由第四範式先薦編譯,僅供於學習交流,版權歸原做者全部。


相關閱讀:

用於推薦系統評估的概念與指標

推薦系統的工做流程

白話推薦系統

想要了解推薦系統?看這裏!(2)——神經網絡方法

想要了解推薦系統?看這裏!(1)——協同過濾與奇異值分解

AutoML如何實現智能推薦系統的自動上線和運維?

入門推薦系統,你不該該錯過的知識清單

如欲瞭解更多,歡迎搜索並關注先薦微信公衆號(ID:dsfsxj)

本帳號爲第四範式智能推薦產品先薦的官方帳號。帳號立足於計算機領域,特別是人工智能相關的前沿研究,旨在把更多與人工智能相關的知識分享給公衆,從專業的角度促進公衆對人工智能的理解;同時也但願爲人工智能相關人員提供一個討論、交流、學習的開放平臺,從而早日讓每一個人都享受到人工智能創造的價值。

相關文章
相關標籤/搜索