準確率指標:
該型別的指標大部分是推薦演算法優化的目標,衡量著推薦演算法的優劣。
- 準確率。推薦給使用者的商品中,屬於測試集的比例,數學公式$P(L_{u})=frac{L_{u}igcap B_{u}}{L_{u}}$ 。整個測試集的準確率為 $P_{L}=frac{1}{n}sum_{uepsilon U}P(L_{u})$
- 召回率。測試集中有多少在使用者的推薦列表中。數學公式$R(L_{u})=frac{L_{u}igcap B_{u}}{ B_{u}}$。整個測試集的召回率為$R_{L}=frac{1}{n}sum_{uepsilon U}R(L_{u})$
- F1值。準確率和召回率的加權,數學公式 $F_{eta }=frac{(1+eta ^{2})PR}{eta ^{2}P+R}$。
- Ranking Score。數學公式 $R=frac{1}{|E^{U}|}sum_{uiepsilon E^{U}}frac{p_{ui}}{M-k_{u}}$ 其中$E^{U}$ 表示測試集中所有的邊的集合,如果使用者u對商品i在測試集中,則$E_{ui}=1$,$p_{ui}$表示商品i在使用者u的推薦列表中的位置,分母$M-k_{u}$表示使用者u的所有商品數目中除了使用者已經購買過的商品外的所有商品。該值越小,說明測試集中的商品越靠前。
- Hit ratio。數學公式 $HR@K=frac{Number of Hits @K}{|GT|}$. 分母是所有的測試集合,分子是每個使用者前K箇中屬於測試集合的個數的總和,該指標衡量是召回率,該指標越大越好。
- NDCG。數學定義 $NDCG@=Z_{k}sum_{i=1}^{K}frac{2^{r_{i}}-1}{log_{2}(i+1)}$。ri表示在第i個位置時的“等級關聯性”,一般可以用0/1處理,如果該位置的物品在測試集合中,則ri=1,否則為0。另外ZK是歸一化係數,表示後面的那一個累加求和公式的最好情況下的和的倒數,也就是ri=1都滿足的情況下的後面那一坨的總和,為了使得NDCG計算出來的數值i都在0-1之內。
- 交叉熵。這個指標作為其餘機器學習的優化目標用的比較多,該指標在https://arxiv.org/pdf/1708.05031.pdf中首先被提出來。論文假設如果使用者u購買了物品i,則$y_{ui}=1$否則$y_{ui}=0$,則最終的機器學習的模型的優化目標為 $L=-sum_{(u,i)epsilon mathbf{Y}igcupmathbf{Y^{-}}}(y_{ui}loghat{y}_{ui}+(1-y_{ui})log(1-hat{y}_{ui}))$ 。
- MAE。該指標對適合對資料集擁有打分進行評估,例如豆瓣影評,上面存在對每個電影的1-5的打分。數學公式 $MAE=frac{sum_{(u,i)epsilon E^{U}|y_{ui}-hat{y}_{ui}}|}{|E^{U}|}$ 表示所有測試集中推薦預測的分和實際使用者打的分的差異,該值越小越好。
- RMSE。該指標同樣適用於對評分為數值打分的情景。數學公式 $RMSE=sqrt{frac{sum_{(u,i)epsilon E^{U}}(y_{ui}-hat{y}_{ui})^{2}}{|E^{U}|}}$ 含義類似於MAE。
非準確率指標:
該型別的指標過載衡量推薦的結果的“個性化”“多樣性”“新穎性”等指標,推薦的的願景之一就是“千人千面”,推薦給每個人的商品都是隻是他本人的興趣使然,抑或是根據本人興趣進行擴充套件的商品集合。至於為什麼要進行興趣擴充套件,因為“過擬合”同樣是推薦系統面臨的重要挑戰之一,關於推薦系統的“過擬合”現象,在這裡不做展開。
- Hamming distance. 數學公式 $H=frac{1}{N(N-1)}sum_{(i,j)epsilon N,i
eq j}(1-frac{c(i,j)}{K})$ 其中$c(i,j)$表示使用者 i,j 前K個推薦結果中有多少是相同的個數,N表示所有的使用者數目。海明距離能夠有效衡量兩個使用者推薦列表的差異,該值越大越說明使用者之間的推薦結果越不相同,差異性越大。 - Intrasimilarity ,內部相關性。數學公式 $I=frac{1}{N}sum_{uepsilon U}(frac{1}{K(K-1)sum_{alpha
eq eta }s_{alpha eta }})$ 其中$s_{alpha eta }$表示商品$alpha eta $的相似度,相似的計算方式可以是Jaccard係數,皮爾森相關係數,向量餘弦法等。對於使用者u的推薦列表,如果物品與物品之間的相似度越大,說明推薦給使用者的商品比較單一,推薦演算法越發現不了新的物品;反之,如果該值越小,則推薦的物品越豐富,越有利於對使用者的興趣進行擴充套件。 - Popularity,流行度指標。數學公式 $N=frac{1}{N}sum_{alpha epsilon O_{R}^{u}}frac{d_{alpha }}{K}$ 其中$O_{R}^{u}$表示使用者u的前K個推薦物品的集合,$d_{alpha }$表示$alpha$的被多少使用者購買過,購買次數越多,則該商品越流行。該指標越大,說明推薦演算法傾向於推薦“熱度”越大、越流行的商品;反之,則越傾向於推薦比較冷門的物品,越能反映出使用者的興趣。