Paper Reading:推薦系統評價指標綜述


論文:推薦系統評價指標綜述
發表時間:2012
發表作者:朱郁筱,呂琳媛
論文鏈接:論文鏈接

本文對現有的推薦系統評價指標進行了系統的回顧,總結了推薦系統評價指標的最新研究進展,從准確度、 多樣性、新穎性及覆蓋率等方面進行多角度闡述,並對各自的優缺點以及適用環境進行了深入的分析。特別討論了基於排序加權的指標,強調了推薦列表中商品排序對推薦評價的影響。最后對以用戶體驗為中心的推薦系統進行了詳細的討論,並指出了一些可能的發展方向。

目前的推薦算法主要包括協同過濾算法、基於內容的推薦算法、譜分析、基於擴散的方法以及混合推薦算法。面對眾多的推薦算法,如何有效客觀地評價推薦系統的優劣卻是頗具挑戰的問題。

1.測評方法

推薦系統的評價可分為在線評價和離線評價兩種方式。在線評價其實就是設計在線用戶實驗,根據用戶在線實時反饋或事后問卷調查等結果來衡量推薦系統的表現。目前最常用的在線測試方法之一是 A/B測試,所謂A/B測試,簡單說來,就是為了同一個目標制定兩個方案,讓一部分用戶使用A方案,另一部分用戶使用B方案,記錄下用戶的使用情況,看哪個方案更符合設計目標。它的核心思想是:1) 多個方案並行測試; 2) 每個方案只有一個變量不同; 3) 以某種規則優勝劣汰。其中第2點暗示了A/B測試的應用范圍: A/B測試必須是單變量。待測試方案有非常大的差異時一般不太適合做A/B測試,因為它們的變量太多了,變量之間會有很多的干擾, 所以很難通過A/B測試的方法找出各個變量對結果的影響程度。 顯然, A/B測試用於在推薦系統的評價中就對應於唯一的變量——推薦算法。目前的大部分研究都集中於離線測評上。所謂的離線測評也即是根據待評價的推薦系統在實驗數據集上的表現,然后再根據下文將要提到的評價指標來衡量推薦系統的質量。相對於在線評價,離線評價方法更方便更經濟,一旦數據集選定,只需要將待評測的推薦系統在此數據集上運行即可 。
離線評價也面臨着以下問題 :

  • 數據集的稀疏性限制了適用范圍,例如不能用一個不包含某用戶任何歷史記錄的數據集來評價推薦系統對該用戶的推薦結果。
  • 評價結果的客觀性,由於用戶的主觀性,不管離線評測的結果如何好,都不能得出用戶是否喜歡某推薦系統的結論。
  • 難以找到離線評價指標和在線真實反饋(如點擊率、轉化率、點擊深度、購買客單價、購買商品類別等)之間的關聯關系。

2.准確度指標

推薦的准確度是評價推薦算法最基本的指標。它衡量的是推薦算法在多大程度上能夠准確預測用戶對推薦商品的喜歡程度。本文將准確度指標分為4類,即預測評分准確度、預測評分關聯性、分類准確度和排序准確度

預測評分的准確度

顧名思義,預測評分的准確度衡量的是算法預測的評分和用戶的實際評分的貼近程度。這個指標在需要向用戶展示預測評分的系統中尤為重要。
預測評分的准確度指標目前有很多,這類指標的思路大都很簡單,就是計算預測評分和真實評分的差異。最經典的是平均絕對誤差(mean absolute error, MAE):

\[|MAE| = \frac{1}{N} \sum |r_{ra}-r_{ra}'| \]

MAE因其計算簡單、通俗易懂得到了廣泛的應用。

不過MAE指標也有一定的局限性,因為對MAE指標貢獻比較大的往往是那種很難預測准確的低分商品,所以即便推薦系統A的MAE值低於系統B,很可能只是由於系統A更擅長預測這部分低分商品的評分,也即是系統A比系統B能更好的區分用戶非常討厭和一般討厭的商品罷了,顯然這樣的區分意義並不大

此外,平均平方誤差(mean squared error, MSE)均方根誤差(root mean squared error, RMSE)以及標准平均絕對誤差(normalized mean absolute error,NMAE)都是與平均絕對誤差類似的指標。它們分別定義為:

\[MSE = \frac{1}{N} \sum (r_{ra}-r_{ra}')^2 \\ RMSE = \sqrt{\frac{1}{N} \sum (r_{ra}-r_{ra}')^2} \\ NMAE = \frac{MAE}{r_{max}-r_{min}} \]

式中,\(r_{max}\) 和$ r_{min} $分別為用戶評分區間的最大值和最小值。由於MSE和RMSE指標對每個絕對誤差首先做了平方,所以這兩個指標對比較大的絕對誤差有更重的懲罰。 NMAE由於在評分區間上做了歸一化,從而可以在不同的數據集上對同一個推薦算法表現進行比較。

預測評分關聯

預測評分關聯是用來衡量預測評分和用戶真實評分之間的相關性的,最常見的3種相關性指標分別是Pearson積距相關Spearman相關Kendall’s Tau。Pearson積距相關系數衡量的是預測評分和真實評分的線性相關程度,定義為:

\[PCC = \frac{\sum_{\alpha}(r'_{\alpha}-\overline r')(r_{\alpha}-\overline r')} {\sqrt{\sum_{\alpha}(r'_{\alpha}-\overline r')^2} \sqrt{\sum_{\alpha}(r_{\alpha}-\overline r')^2}} \]

式中, \(r_{\alpha}\)\(r'_{\alpha}\)分別表示商品\(\alpha\)的真實評分和預測評分。 Spearman關聯和Pearson關聯定義的形式是一樣的,唯一不同的是Spearman關聯考慮的不是預測評分值,而是根據預測評分值所得到的排序值,即將式中的 \(r_{\alpha}\)\(r'_{\alpha}\)別替換成商品\(\alpha\)的真實排名和預測排名。
與Spearman類似, Kendall’s Tau也是刻畫兩種排序值的統一程度的,它定義為:

\[\tau = \frac{C-D}{C+D} \]

式中, C為正序對的數目; D表示逆序對的數目。顯然當所有的商品對都是正序對時\(\tau=1\),當所有的商品對都是逆序對時\(\tau=1\)
預測評分關聯指標盡管計算簡單,但是卻沒有在推薦系統評價中被廣泛采納。因為以上指標都有一定的不足之處。以Kendall’s Tau為例,它對於所有的排名偏差都分配相等的權重,而不管具體的排序值。但是不同的排名偏差顯然是不能同等對待的。
另外,在實際系統中可能有某用戶對某兩個或者兩個以上的商品評分一致的情況,也即是所謂的弱關系排序問題。顯然以上所提及的預測評分關聯指標都不適用於此種情形。當真實排名或預測排名有並列情況出現時,可以用基於Kendall’s Tau改進的一個指標來衡量,定義為:

\[\tau = \frac{C-D}{\sqrt{(C+D+S_p)(C+D+S_T)}} \]

式中,$ S_T \(表示真實評分相同的商品對數量;\)S_P$表示預測評分相同的商品對數量。

值得注意的是,這些預測評分關聯性指標都是只關注於預測排序值而不關注具體的預測評分值,所以它們都不適用於那些旨在為用戶提供精確預測評分值的系統。

分類准確度

分類准確度指標衡量的是推薦系統能夠正確預測用戶喜歡或者不喜歡某個商品的能力。它特別適用於那些有明確二分喜好的用戶系統,即要么喜歡要么就不喜歡。對於有些非二分喜好系統,在使用分類准確度指標進行評價的時候往往需要設定評分閾值來區分用戶的喜好。如在5分制系統中,通常將評分大於3的商品認為是用戶喜歡,反之認為用戶不喜歡。與預測評分准確度不同的是,分類准確度指標並不是直接衡量算法預測具體評分值的能力,只要是沒有影響商品分類的評分偏差都是被允許的。
目前最常用的分類准確度指標有准確率(precision)召回率(recall)F1指標AUC
在線下測試中,准確率會受評分稀疏性的影響。例如系統對一個只給很少部分的商品打過分的用戶的推薦
准確率往往很低。但這並不能說明推薦系統的效果很差,因為很有可能系統推薦的商品中有很多是用戶沒有打過分但是確實很喜歡的商品。在這種情況下,在線的測試結果,即用戶的真實反饋,更能夠准確地反應推薦系統的表現。
召回率表示一個用戶喜歡的商品被推薦的概率,定義為推薦列表中用戶喜歡的商品與系統中用戶喜歡的所有商品的比率。召回率很難應用於在線評估。
上述的一系列指標對於沒有二分喜好的系統都是不太適用的。 即給定一個推薦列表,當推薦的閥值不確定的時候,上述指標不再適用。在這種情況下,往往采用AUC指標來衡量推薦效果的准確性。由於不受推薦列表長度和喜好閥值的影響, AUC指標被廣泛應用於評價推薦系統中。AUC指標表示ROC(receiver operator curve)曲線下的面積,它衡量一個推薦系統能夠在多大程度上將用戶喜歡的商品與不喜歡的商品區分出來。但是AUC指標沒有考慮具體排序位置的影響,導致在ROC曲線面積相同的情況下很難比較算法好壞,所以它的適用范圍也受到了一些限制。

排序准確度

對於推薦排序要求嚴格的推薦系統而言, 如果用評分准確度、評分相關性或者是分類准確度等指標來評價此類系統的好壞顯然是不合適的。這類系統需要用排序准確度指標來度量算法得到的有序推薦列表和用戶對商品排序的統一程度。排序准確度對於只注重分類准確度的系統來說太敏感了,它更適合於需要給用戶提供一個排序列表的系統。
使用平均排序分(average rank score)來度量推薦系統的排序准確度。對於某一用戶\(u\)來說,商品\(\alpha\)的排序分定義如下:

\[RS_{u \alpha}=\frac{l_{u \alpha}}{L_u} \]

式中,\(L_u\)表示用戶\(u\)的待排序商品個數。在離線測試中\(L_u\)等於\(|O-E_u^T |\),也即用戶\(u\)在測試集中的商品數目($ |E_u^p | \()加上未選擇過的商品數目(\)|O-E_u|\()。\) l_{u \alpha}\(為待預測商品\)\alpha\(在用戶\)u\(的推薦列表中的排名(此時薦列表長度為\)L_u\()。離線測試中,\)L_u\(就等於用戶\)u\(未選擇過的商品數目。 將所有用戶的排序分求平均即得到系統的排序分\)RS$。排序分值越小,說明系統越趨向於把用戶喜歡的商品排在前面。反之,則說明系統把用戶喜歡的商品排在了后面。由於平均排序分不需要額外的參數,而且不需要事先知道用戶對商品的具體評分值,因此可以很好的比較不同算法在同一數據集上的表現。值得注意的是,在系統尺度 ( 訓練集和測試集 ) 足夠大的情況下,有

\[AUC + RS \approx 1 。 \]

3.基於排序加權的指標

用戶體驗的滿意度往往會受到用戶喜歡的商品在推薦列表中位置的影響,這里介紹3個具有代表性的評價指標。
半衰期效用指標(half-life utility) 是在用戶瀏覽商品的概率與該商品在推薦列表中的具體排序值呈指數遞減的假設下提出的,它度量的是推薦系統對一個用戶的實用性也即是用戶真實評分和系統默認評分值的差別。用戶$ u $的期望效用定義為:

\[HL_u=\sum_{\alpha}\frac{max(r_{u \alpha}-d,0)}{2^{(l_{ua}-1)/(h-1)}} \]

式中,\(r_{u \alpha}\)表示用戶\(u\)對商品\(\alpha\)的實際評分; 而\(l_{u \alpha}\)為商品\(\alpha\)在用戶\(u\)的推薦列表中的排名;$ d \(為默認評分(如說平均評分值);\) h $為系統的半衰期,也即是有50%的概率用戶會瀏覽的推薦列表的位置。顯然,當用戶喜歡的商品都被放在推薦列表的前面時,該用戶的半衰期效用指標達到最大值。系統的半衰期效用值定義為:

\[HL=100 \frac{\sum_u HL_u}{\sum_u HL_u^{max}} \]

式中,\(HL_u^{max}\)為用戶\(u\)的期望效用能達到的最大值。目前半衰期效用指標的使用仍然是有很大的局限性。首先參數的選取尚未有統一的標准,不同的學者可能會選擇不同的參數,這樣難免會造成混亂。另外,用戶的瀏覽概率與商品在推薦列表中的位置呈指數遞減這一假設並不是在所有系統中都適用。
折扣累計利潤(discounted cumulative gain,DCG) 的主要思想是用戶喜歡的商品被排在推薦列表前面比排在后面會更大程度上增加用戶體驗,定義為:

\[DCG(b,L)=\sum_{i=1}^b r_i + \sum_{i=b+1}^L \frac{r_i}{log_b i} \]

式中,$ r_i \(表示排在第\) i \(位的商品是否是用戶喜歡的;\)r_i=1\(表示用戶喜歡該商品;\)r_i=0$ 表示用戶不喜歡該商品;$ b\(是自由參數多設為2;\) L \(為推薦列表長度。 與DCG指標不同,**排序偏差准確率 (rank-biased precision, RBP)** 假設用戶往往先瀏覽排 在推薦列表首位的商品然后依次以固定的概率\)p$瀏覽下一個,以\(1-p\)的概率不再看此推薦列表。RBP定義為:

\[RBP(p,L)=(1-p) \sum_{i=1}^L r_i p^{i-1} \]

RBP和DCG指標的唯一不同點在於RBP把推薦列表中商品的瀏覽概率按等比數列遞減,而DCG則是按照log調和級數形式。

4.覆蓋率

覆蓋率指標是指算法向用戶推薦的商品能覆蓋全部商品的比例,如果一個推薦系統的覆蓋率比較低,那么這個系統很可能會由於其推薦范圍的局限性而降低用戶的滿意度,因為低的覆蓋率意味着用戶可選擇的商品很少。覆蓋率尤其適用於那些需要為用戶找出所有感興趣的商品的系統。覆蓋率可以分為預測覆蓋率(prediction coverage),推薦覆蓋率 (recommendation coverage) 和種類覆蓋 (catalog
coverage)3 種:

  • 預測覆蓋率表示系統可以預測評分的商品占所有商品的比例
  • 推薦覆蓋率表示系統能夠為用戶推薦的商品占所有商品的比例,顯然這個指標與推薦列表的長度$ L $相關。
  • 種類覆蓋率( COVC )表示推薦系統為用戶推薦的商品種類占全部種類的比例。

5.多樣性和新穎性

實際應用中,已經發現即使是准確率比較高的推薦系統也不能保證用戶對其推薦結果滿意。一個好的推薦系統應該向用戶推薦准確率高並且又有用的商品。譬如,系統推薦了非常流行的商品給用戶,雖然可能使得推薦准確度非常高,但是對於這些信息或者商品用戶很可能早已從其他渠道得到,因此用戶不會認為這樣的推薦是有價值的。
在推薦系統中,多樣性體現在以下兩個層次,用戶間的多樣性(inter-user diversity),衡量推薦系
統對不同用戶推薦不同商品的能力;另一個是用戶內的多樣性(intra-user diversity),衡量推薦系統對一個用戶推薦商品的多樣性。對於用戶$ u \(和\) t $,可以用 漢明距離(hamming distance) 來衡量這兩個用戶推薦列表的不同程度,具體定義為:

\[H_{ut}(L)=1-\frac{Q_{ut}(L)}{L} \]

式中,\(Q_{ut}(L)\)表示用戶$ u \(和\) t \(推薦列表中相同商品的個數 。如果兩個推薦列表是完全一致的,那么\)H_{ut}(L)=0\(,反之如果兩個推薦列表沒有任何重疊的商品則\)H_{ut}(L)=1\(。所有的用戶對的漢明距離的平均值即是整個系統的漢明距離\)H(L)\(。漢明距離越大,表示推薦的多樣性越高。 將系統為用戶\) u \(推薦的商品集合記為:\)Q_R''={\alpha,\beta,...}\(, 那么用戶\) u $的Intra-user diversity定義為:

\[I_u (L) = \frac{1}{L(L-1)} \sum_{\alpha \neq \beta} s(\alpha,\beta) \]

式中,\(s(\alpha,\beta)\)表示商品\(\alpha\)\(\beta\)的相似度,系統的Intra-user diversity即是所有用戶的平均值。

除了多樣性以外,新穎性也是影響用戶體驗的重要指標之一。它指的是向用戶推薦非熱門非流行商品的能力。前面已經提到推薦流行的商品縱然可可能在一定程度上提高了推薦准確率但是卻使得用戶體驗的滿意度降低了。度量推薦新穎性最簡單的方法是利用推薦商品的平均度。推薦列表中商品的平均度越小,對於用戶來說,其新穎性就越高。
由此得到推薦新穎性指標:

\[N(L) = \frac{1}{ML} \sum_u \sum_{\alpha \in O_R^U} k_{\alpha} \]

式中,\(k_{\alpha}\)是商品\(\alpha\)的度; 流行度越低表示推薦的結果越新穎。自信息(self-information)也是可以用來衡量推薦出奇意外程度的指標。對於商品\(\alpha\),一個隨機選取的用戶選到它的概率是\(\frac{k_{\alpha} L}{MML}=\frac{k_{\alpha}}{M}\),所以該商品的自信息量可以表示為:
\(U_{\alpha}=log_2 \frac{M}{k_\alpha}\)
系統的自信息量\(U(L)\)也是所有用戶的推薦列表中商品的自信息量的均值。
以上所述的多樣性和新穎性指標雖然計算簡單,但是大都比較粗糙有一定的局限性,DRC除了考慮商品間的相似性外,還考慮了 Discovery ( 用戶是否知道該商品 ) 、Relevance (推薦系統預測的用戶是否喜歡該商品)、Choice (用戶是否喜歡該商品)等3個方面,並由此提出了更廣義的多樣性指標,其定義為:

\[DRC_u = \frac{1}{\sum_{\alpha}dc(l_{u \alpha})}\sum_{\alpha} dc(l_{u \alpha}) Pr_{u \alpha} f_u(\alpha) \]

式中,\(dc(l_{u \alpha})\)表示推薦列表排序偏差的折扣函數;\(l_{u \alpha}\)表示商品\(\alpha\)在推薦列表中的排序;\(Pr_{u \alpha}\)表示推薦系統預測的用戶\(u\)喜歡商品\(\alpha\)的概率; \(f_u(\alpha)\)則可以是普適的衡量對於用戶\(u\)來說商品\(\alpha\)多樣性或者新穎性的函數。當令 \(dc(l_{u \alpha})=1\)時相當於不考慮推薦列表排序偏差的影響。當令$ Pr_{u \alpha} =1$時相當於不考慮商品預測排序值的影響,也即是將推薦列表中的所有商品同等看待。在此框架下,我們可以對前面提到的Intra-user Similarity做如下改進:

\[I_u = \frac{1}{\sum_{\alpha}dc(l_{u \alpha})} \sum_{\alpha} dc(l_{u \alpha}) Pr_{u \alpha} I_u (\alpha,L) \]

式中,$ I_u (\alpha,L)\(為對於用戶\)u\(來說商品\)\alpha$對其Intra-user similarity 的 貢 獻
將本文所涉及的評價指標總結如表所示。

推薦系統評價指標簡表

6.總結與展望

本文對現有的推薦系統評價指標進行了系統的回顧,總結了推薦系統評價指標的最新研究進展,從准確度、 多樣性、 新穎性及覆蓋率等方面進行多角度闡述,並對各自的優缺點以及適用環境進行了深入的分析。特別討論了基於排序加權的指標,強調了推薦列表中商品排序對推薦評價的影響。
設計以用戶體驗為中心的推薦系統,除了提高推薦精確度、多樣性、新穎性以及覆蓋率等指標以外,還應該考慮以下幾方面:

  1. 提高推薦算法效率,加強增量算法研究。
  2. 提高推薦算法的魯棒性,減少推薦的干擾因素,凈化系統環境。
  3. 提高推薦的可解釋性,增強用戶對推薦系統的信心。
  4. 加強推薦系統用戶界面的友好程度。
  5. 增強用戶與系統的互動,從而更加深入細致的挖掘用戶的興趣。

綜上所述,無論是提高推薦算法效率、 魯棒性或可解釋性,加強用戶界面的友好程度,還是加強用戶與系統的互動,其最終目的都是為了提高用戶體驗感和滿意度。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM