日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

推荐算法炼丹笔记:推荐系统采样评估指标及线上线下一致性问题

發布時間:2025/3/8 windows 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 推荐算法炼丹笔记:推荐系统采样评估指标及线上线下一致性问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文對于推薦系統中的采樣評估指標進行了討論,內容略多, 還有一些數學推導, 有興趣的可以去閱讀文末給出的原始論文鏈接, 此處直接列出核心觀點:

  • 在評估推薦算法的效果時,能不采樣就不采樣!
  • 除了AUC,Precision@K,Recall@K,Average Precision,NDCG都是不一致的,采樣計算得到的結果和真實結果可能差很大!
  • 現在隨機采樣計算得到的評估指標的分數具有高偏差,低方差的問題,很多情況和真實情況不符合,結論可能也都錯了!
  • 如果一定要進行采樣計算評估指標的值, 建議采用本文提出的糾正的方案,雖然可能會有較大的方差,但是偏差大大降低,更加接近真實情況;
  • 因為本文實在是有些干,所以不想讀文章的朋友直接記住下面兩張PPT的內容就可以了。

    文章的框架是:

  • 先介紹目前我們采樣的評估指標的計算方法;
  • 介紹我們目前常用的一些評估指標,包括AUC,Precision,Recall,AP,NDCG;
  • 然后討論怎么樣才算是好的采樣評估指標(一致性),之后開始舉例討論現有的諸多指標例如Recall,Precision,AP等存在不一致性,也就是說采樣之后計算的指標是不能反映真實情況的;
  • 為了能彌補現有的采樣策略的問題,作者提出了三種不同的修正策略,并驗證了其在采樣評估的時候相較于原始采樣策略的優勢(更加接近于真實情況);
  • 最后作者給出了一些實踐建議&小結。
  • Item推薦的評估

    這么做也就意味著我們對于某個用戶所有的商品都是同等受歡迎的,當然在一些復雜的場景下,有些用戶是重點用戶,會有不同的權重,本篇文章重點討論簡化的情況。

    一、 評估指標

    此處我們介紹在推薦系統中常見的幾種評估指標。以及它們對應的計算方法。

    1.1 AUC

    Area under ROC curve(AUC):

    1.2 Precision & Recall

    在位置K的Precision:衡量topK的預測商品的相關商品的比例。

    在位置K的Recall:衡量topK預測商品的recovered的比例。

    1.3 Average Precision

    在位置K的Average Precision用來衡量一個相關商品在所有ranks的精度。

    1.4 Normalized discounted cumulative gain(NDCG)

    隨著 r 的增長,各個指標的變化:

    我們可以發現:

    • AP是下降最快的;rank1的AP相較于rank2是2倍重要;rank1的NDCG是1.58倍重要與rank2;
    • AUC幾乎是線性下降的, 也就是說我們將商品從102位排到第101位和把商品從第2位排到第1位是類似的;

    二、采樣指標——采樣的必要性 & 一致性

    在實踐中,尤其是很多大型的平臺,用戶和商品都是億級別的,對這種級別的數據進行排序不僅會耗費大量的計算資源,而且還要等很久的時間,所以大家都會選擇采樣觀察指標。很多時候大家會選擇采樣個無關的商品然后加上相關的商品再去計算指標,其實只需要保證采樣之后計算得到的指標和我們的全量數據計算得到的指標是保證相對大小的,那么一般是沒有任何問題的。

    一致性:令評估數據D是固定的,如果任意兩個推薦算法A和B在期望下能保證相對順序,那么我們說在采樣下指標M是保持一致的, 也就是說,對于A和B,我們有:

    而如果是不一致的,那么評估M并不是一個M真實表現的好的indicator。


    不一致性:上面我們知道了一致性的重要性,那么我們常用的那些指標AUC, Precision, Recall等等是否滿足一致性呢?下面我們來看一些例子。

    1. 全量情況下:

    假設我們有三個推薦系統A,B,C,以及n=10000個商品,每個推薦系統將會在5個特殊實例上(例如五個用戶)上面進行評估, 這些實例每個只對應一個相關的商品。而這三個推薦系統的結果為:

    • A : 對五個實例, 將所有商品的推薦位置都排在了100;
    • B : 將兩個實例, 將商品的推薦位置排在了40;
    • C : 將某個商品在某個評估實例中的排名在第2位,除此之外,其他四個實例的排名都不好;

    最終我們的得分計算如下Table1,可以按照評估指標的公式直接進行計算。

    2. 采樣情況下:

    現在假設我們隨機采樣了 m=99 個不相關的商品,然后我們重新計算 r 在采樣的集合下的新的位置。上圖中的Table2展示了采樣1000次的重新采樣的均值和標準差。通過觀察Table1和Table2,我們發現:

    • 在Table1中,C 的AP是 A 和 B 的10倍,但是在Table2中,的AP是最低的;
    • Recall, NDCG在Table1和Table2中的相對順序是沒有保持一致的;
    • AUC在兩個Table中是唯一一個保持一致的指標。

    我們修改實驗的采樣個數重新實驗,從Figure2中我們發現:隨著我們采樣的樣本越來越多,我們發現三個推薦系統A ,B,C的相對大小都發生了很大的變化,例如:

    • AP指標:當樣本個數少于50的時候,系統A>C>B,當樣本個數約為200的時候, A>B>C,當樣本的個數約為500的時候C>A>B,對于更多的樣本,C>A>B.
    • NDCG指標:變化和AP指標類似;
    • Recall指標:更加敏感;(變化最快)
    • AUC維持不變;

    三、采樣下的rank分布

    此處我們還是假設:

    • AP和NDCG(不同的采樣的次數m),在不同的 r 下開始時變化最大;(m越大越接近于真實的情況)
    • AUC是不變的;

    3.1 期望的Metrics

    上面主要都是從試驗的方面來驗證采樣之后重新計算的Metric和真實的Metric除了AUC之外基本都是不大置信的,此處我們計算每個Metric的期望。

    3.2 AUC的期望

    所以最終的期望為:

    • 采樣計算得到的AUC是真實AUC的無偏估計,所以AUC在采樣下是能保證一致的。

    3.3 Recall的期望

    3.4 AP的期望

    四、小的采樣比例

    對于m=1,所有的metric在期望上都給出相同的定性度量,沒有必要選擇不同的評估指標.

    五、糾正的評估指標

    六、最小Bias估計器

    七、實驗驗證

    樣本大小和數據集大小的影響

    此處列出作者的一些核心觀點:

    • 增加樣本的大小m可以減少采樣的評估指標的bias;同時也可以降低糾正之后的評估指標;
    • 增加數據集的大小,會帶來負向的效果;
    • 增加評估點的個數|D|,可以降低平均估計的方差,而這對于糾正之后的評估指標是更加友好的。因為沒有進行糾正的指標即使最終拿到了0方差,但是會存在非常大的偏差;

    7.1 實驗

  • 不同的推薦算法是否構建不同的排序分布;(例如有些推薦算法在頂部表現好,有些是整體好)
  • 采樣計算得到的指標的結果和真實的結果是否存在不一致?
  • 糾正的評估指標是否可以幫助我們緩解2中的問題?
  • 7.2 排序分布

    從上面的實驗看出,

    • Z算法在Top10中的表現是最好的;但是最終將超過1600個用戶放到了最壞的bucket;
    • X算法相對平衡,最壞的bucket中的商品最少;(低于300)
    • Y算法在Top10中的表現優于X,但是整體看,會趨向于將相關的商品放到更差的rank.

    7.3 采樣指標

    從上表中我們發現,

    • Z算法在真實情況下載指標Recall,NDCG以及AP上都是最好的,但是采樣之后的結果卻和真實情況不一致;在采樣指標計算得到的指標有時可能是效果最差的算法,例如X在采樣上計算得到的分是最高的,但是實際情況是最低的。
    • 這些指標的方差很小,所以不是方差的問題,而是采樣帶來的偏差。
    • 在AUC指標上,所有的算法是保持一致的;
    • 所以如果實驗中最終的評估指標是采樣的Recall,AP,NDCG等,那么很可能結論是錯誤的.

    7.4 糾正的指標

    此處作者對比了之前提出的三種不同的糾正方案,同樣的從Table3中,我們發現:

    • 糾正之后計算得到的指標和真實指標的Bias降低了.

    那么糾正之后的指標和未糾正在樣本下的影響是什么樣的呢?

    從上圖中,我們發現,未進行糾正的采樣指標需要超過1000的樣本(1/3的樣本),才能得到推薦算法Y比X好的結論,但是糾正之后的指標(BV的trade off + r=0.1 )只需要60個樣本即可達到同樣的效果;

    我們發現確實糾正之后的指標得到的Bias下降了,那么方差呢?

    從上面的實驗中,我們發現:

    • BV 0.1看上去是最好,基本在100次比較中都有90次是對的;
    • 幾乎所有的糾正方案都可以獲得比未進行糾正的指標更為合理的效果;

    八、小結 & 建議

    小結

    本文的研究顯示之前大多數論文采用采樣計算最終指標的方案其實是錯誤的,大概率會和真實的情況存在偏差,得到錯誤的結論。所以如果可以的話,我們應該盡量避免在最終評估時對樣本進行采樣,如果無法避免的話,那么糾正之后的方案可以拿到更為合理的結果(但是會增加方差)。

    建議

    從上面的分析以及實驗中,我們發現采樣之后計算的指標會帶來較大的偏差,使用糾正的策略,可以降低偏差,但是也會引入更高的方差。所以如果采樣時不可避免,那么有下面幾條建議:

  • 使用本文中提出的糾正之后的指標并且使用不同的樣本重新運行試驗多次;
  • 重復試驗N此(不同數據集,N-fold的交叉驗證),方差會由數據集的切分不同而被引入,也有可能會被推薦算法的初始化引入,對負樣本采樣的過程中,隨機種子也會帶來另外一種方差, 所以我們很難找到兩個不同的推薦算法"statistically significant"差異;但即便如此,我們計算得到的評估指標仍然是一個非常強的indicator,顯示我們算法在真實情況下的表現;偏差越小,indication就越強。
  • 偏差只有在不采樣的情況下才可以較好地消除。
  • 參考文獻

  • On Sampled Metrics for Item Recommendation:dl.acm.org/doi/pdf/10.1
  • crossminds.ai/video/5f3
  • KDD2020最佳論文: 關于個性化排序任務評價指標的大討論:zhuanlan.zhihu.com/p/20

  • 后續我們會篩選出在我們實踐中帶來提升或者啟發的工作進行細致的解讀與探討,歡迎關注我們的公眾號,也歡迎多交流,我是三品煉丹師: 一元。

    作者:一元

    公眾號:煉丹筆記

    煉丹筆記

    推薦算法煉丹筆記:序列化推薦系統

    推薦算法煉丹筆記:電商搜索推薦業務詞匯表

    推薦算法煉丹筆記:推薦系統采樣評估指標及線上線下一致性問題

    推薦算法煉丹筆記:CTR點擊率預估系列入門手冊

    推薦算法煉丹筆記:科學調參在模型優化中的意義

    推薦算法煉丹筆記:如何讓你的推薦系統具有可解釋性?

    2020年推薦系統工程師煉丹手冊

    總結

    以上是生活随笔為你收集整理的推荐算法炼丹笔记:推荐系统采样评估指标及线上线下一致性问题的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。