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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【机器学习】模型又线上线下不一致怎么办?

發(fā)布時(shí)間:2025/3/12 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【机器学习】模型又线上线下不一致怎么办? 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

作者:杰少

本文對(duì)于推薦系統(tǒng)中的采樣評(píng)估指標(biāo)進(jìn)行了討論,內(nèi)容略多, 還有一些數(shù)學(xué)推導(dǎo), 有興趣的可以去閱讀原文, 此處直接列出核心觀點(diǎn):

  • 在評(píng)估推薦算法的效果時(shí),能不采樣就不采樣!

  • 除了AUC,Precision@K,Recall@K,Average Precision,NDCG都是不一致的,采樣計(jì)算得到的結(jié)果和真實(shí)結(jié)果可能差很大!

  • 現(xiàn)在隨機(jī)采樣計(jì)算得到的評(píng)估指標(biāo)的分?jǐn)?shù)具有高偏差,低方差的問(wèn)題,很多情況和真實(shí)情況不符合,結(jié)論可能也都錯(cuò)了!

  • 如果一定要進(jìn)行采樣計(jì)算評(píng)估指標(biāo)的值, 建議采用本文提出的糾正的方案,雖然可能會(huì)有較大的方差,但是偏差大大降低,更加接近真實(shí)情況;

  • 因?yàn)楸疚膶?shí)在是有些干,所以不想讀文章的朋友直接記住下面兩張PPT的內(nèi)容就可以了。

    文章的框架是:

  • 先介紹目前我們采樣的評(píng)估指標(biāo)的計(jì)算方法;

  • 介紹我們目前常用的一些評(píng)估指標(biāo),包括AUC,Precision,Recall,AP,NDCG;

  • 然后討論怎么樣才算是好的采樣評(píng)估指標(biāo)(一致性),之后開(kāi)始舉例討論現(xiàn)有的諸多指標(biāo)例如Recall,Precision,AP等存在不一致性,也就是說(shuō)采樣之后計(jì)算的指標(biāo)是不能反映真實(shí)情況的;

  • 為了能彌補(bǔ)現(xiàn)有的采樣策略的問(wèn)題,作者提出了三種不同的修正策略,并驗(yàn)證了其在采樣評(píng)估的時(shí)候相較于原始采樣策略的優(yōu)勢(shì)(更加接近于真實(shí)情況);

  • 最后作者給出了一些實(shí)踐建議&小結(jié)。

  • Item推薦的評(píng)估

    對(duì)于推薦最常用的評(píng)估機(jī)制如下:假設(shè)我們有個(gè)商品需要推薦,給定一個(gè)(一般是某個(gè)用戶或者搜索中的query),我們?cè)O(shè)計(jì)了一個(gè)推薦算法, 會(huì)返回給我們一個(gè)個(gè)商品的排序列表, , 表示預(yù)測(cè)的排序。例如表示算法會(huì)給推薦兩個(gè)相關(guān)的商品,并且推薦的位置為3和5.然后我們使用某個(gè)評(píng)估指標(biāo)對(duì)我們的推薦進(jìn)行評(píng)估,一般我們會(huì)對(duì)一個(gè)集合(例如用戶集合)求個(gè)均值:

    這么做也就意味著我們對(duì)于某個(gè)用戶所有的商品都是同等受歡迎的,當(dāng)然在一些復(fù)雜的場(chǎng)景下,有些用戶是重點(diǎn)用戶,會(huì)有不同的權(quán)重,本篇文章重點(diǎn)討論簡(jiǎn)化的情況。

    評(píng)估指標(biāo)

    此處我們介紹在推薦系統(tǒng)中常見(jiàn)的幾種評(píng)估指標(biāo)。以及它們對(duì)應(yīng)的計(jì)算方法。

    AUC

    Area under ROC curve(AUC):

    其中: 表示為真的, 否則為0

    Precision & Recall

    在位置的Precision:衡量top的預(yù)測(cè)商品的相關(guān)商品的比例。

    在位置的Recall:衡量top預(yù)測(cè)商品的recovered的比例。

    Average Precision

    在位置的Average Precision用來(lái)衡量一個(gè)相關(guān)商品在所有ranks的精度。

    • 402 Payment Required

    Normalized discounted cumulative gain(NDCG)

    • 402 Payment Required

    簡(jiǎn)化指標(biāo)(的情況下)

    我們假設(shè), 也就是說(shuō)我們只有一個(gè)相關(guān)的商品并且被排序模型排在第個(gè)位置上,那么上面的指標(biāo)可以重新計(jì)算得到:

    • 402 Payment Required

    • 402 Payment Required

    隨著的增長(zhǎng),各個(gè)指標(biāo)的變化

    我們可以發(fā)現(xiàn):

    • AP是下降最快的;rank1的AP相較于rank2是2倍重要;rank1的NDCG是1.58倍重要與rank2;

    • AUC幾乎是線性下降的, 也就是說(shuō)我們將商品從102位排到第101位和把商品從第2位排到第1位是類似的;

    采樣指標(biāo)

    采樣的必要性 & 一致性

    在實(shí)踐中,尤其是很多大型的平臺(tái),用戶和商品都是億級(jí)別的,對(duì)這種級(jí)別的數(shù)據(jù)進(jìn)行排序不僅會(huì)耗費(fèi)大量的計(jì)算資源,而且還要等很久的時(shí)間,所以大家都會(huì)選擇采樣觀察指標(biāo)。很多時(shí)候大家會(huì)選擇采樣個(gè)無(wú)關(guān)的商品然后加上相關(guān)的商品再去計(jì)算指標(biāo),其實(shí)只需要保證采樣之后計(jì)算得到的指標(biāo)和我們的全量數(shù)據(jù)計(jì)算得到的指標(biāo)是保證相對(duì)大小的,那么一般是沒(méi)有任何問(wèn)題的,

    一致性:令評(píng)估數(shù)據(jù)是固定的,如果任意兩個(gè)推薦算法和在期望下能保證相對(duì)順序,那么我們說(shuō)在采樣下指標(biāo)是保持一致的, 也就是說(shuō),對(duì)于和,我們有:

    402 Payment Required


    其中: 表示在所有相關(guān)商品和個(gè)隨機(jī)采樣的不相關(guān)商品中的相關(guān)商品的排序。

    而如果是不一致的,那么評(píng)估并不是一個(gè)真實(shí)表現(xiàn)的好的indicator。

    不一致性

    上面我們知道了一致性的重要性,那么我們常用的那些指標(biāo)AUC, Precision, Recall等等是否滿足一致性呢?下面我們來(lái)看一些例子。

    1. 全量情況下:

    假設(shè)我們有三個(gè)推薦系統(tǒng),以及個(gè)商品,每個(gè)推薦系統(tǒng)將會(huì)在5個(gè)特殊實(shí)例上(例如五個(gè)用戶)上面進(jìn)行評(píng)估, 這些實(shí)例每個(gè)只對(duì)應(yīng)一個(gè)相關(guān)的商品。而這三個(gè)推薦系統(tǒng)的結(jié)果為:

    • : 對(duì)五個(gè)實(shí)例, 將所有商品的推薦位置都排在了100;

    • : 將兩個(gè)實(shí)例, 將商品的推薦位置排在了40;

    • : 將某個(gè)商品在某個(gè)評(píng)估實(shí)例中的排名在第2位,除此之外,其他四個(gè)實(shí)例的排名都不好;

    最終我們的得分計(jì)算如下Table1,可以按照評(píng)估指標(biāo)的公式直接進(jìn)行計(jì)算。

    2. 采樣情況下:

    現(xiàn)在假設(shè)我們隨機(jī)采樣了個(gè)不相關(guān)的商品,然后我們重新計(jì)算在采樣的集合下的新的位置。上圖中的Table2展示了采樣1000次的重新采樣的均值和標(biāo)準(zhǔn)差。通過(guò)觀察Table1Table2,我們發(fā)現(xiàn):

    • Table1中,的AP是和的10倍,但是在Table2中,的AP是最低的;

    • Recall, NDCG在Table1Table2中的相對(duì)順序是沒(méi)有保持一致的;

    • AUC在兩個(gè)Table中是唯一一個(gè)保持一致的指標(biāo)。

    我們修改實(shí)驗(yàn)的采樣個(gè)數(shù)重新實(shí)驗(yàn),從Figure2中我們發(fā)現(xiàn):隨著我們采樣的樣本越來(lái)越多,我們發(fā)現(xiàn)三個(gè)推薦系統(tǒng)的相對(duì)大小都發(fā)生了很大的變化,例如:

    AP指標(biāo):當(dāng)樣本個(gè)數(shù)少于50的時(shí)候,系統(tǒng),當(dāng)樣本個(gè)數(shù)約為200的時(shí)候, ,當(dāng)樣本的個(gè)數(shù)約為500的時(shí)候,對(duì)于更多的樣本,.

    NDCG指標(biāo):變化和AP指標(biāo)類似;

    Recall指標(biāo):更加敏感;(變化最快)

    AUC維持不變;

    采樣下的rank分布

    此處我們還是假設(shè):

  • 只有一個(gè)相關(guān)的商品,;

  • 表示相關(guān)商品的真實(shí)rank,表示采樣情況下的rank.

  • 所有不相關(guān)商品是均勻采樣的,可能排的更高也有可能會(huì)更低;

  • 為所有商品的個(gè)數(shù);

  • 那么采樣的樣本排序比更高的概率為:;

    如果我們重復(fù)采樣次, 并且計(jì)算一個(gè)商品排序更高的次數(shù),這個(gè)就會(huì)對(duì)應(yīng)一個(gè)Bonomial的分布,的rank服從:,此時(shí),我們的metric的期望值為:

    402 Payment Required

    當(dāng)我們調(diào)整的值的時(shí)候,期望 的變化如Figure3所示:

    • AP和NDCG(不同的采樣的次數(shù)m),在不同的下開(kāi)始時(shí)變化最大;(越大越接近于真實(shí)的情況)

    • AUC是不變的;

    期望的Metrics

    上面主要都是從試驗(yàn)的方面來(lái)驗(yàn)證采樣之后重新計(jì)算的Metric和真實(shí)的Metric除了AUC之外基本都是不大置信的,此處我們計(jì)算每個(gè)Metric的期望。

    AUC的期望

    所以最終的期望為:

    402 Payment Required

    • 采樣計(jì)算得到的AUC是真實(shí)AUC的無(wú)偏估計(jì),所以AUC在采樣下是能保證一致的。

    Recall的期望

    • 402 Payment Required

    402 Payment Required

    AP的期望

    402 Payment Required

    我們發(fā)現(xiàn):當(dāng)m比較大的時(shí)候, ,最終我們的結(jié)果為和的真實(shí)結(jié)果是差不大的。

    小的采樣比例

    假設(shè)我們的,那么,對(duì)于任意的評(píng)估指標(biāo)以及任意的采樣分布,我們有:

    • 402 Payment Required

    而對(duì)于商品的均勻采樣, 就是采樣的商品排在之后的概率,也就是,現(xiàn)在就是:

    • 402 Payment Required

    因?yàn)楹?都是固定的,所以上面又可以表示為:

    也就是說(shuō)是的線性函數(shù),如果我們比較兩個(gè)不同算法,就需要重點(diǎn)觀察的符號(hào),如果Metric在位置1和位置2的影響不大,無(wú)法區(qū)分,例如Precision和Recall(當(dāng)),那么采樣的Metric就一直是常數(shù),沒(méi)有任何用處。

    • 對(duì)于,所有的metric在期望上都給出相同的定性度量,沒(méi)有必要選擇不同的評(píng)估指標(biāo);

    糾正的評(píng)估指標(biāo)

    從上面的各種推導(dǎo)以及特例中,我們可以發(fā)現(xiàn):采樣計(jì)算得到的Metric和我們真實(shí)的Metric是不一樣的。采樣計(jì)算得到的Metric很多時(shí)候是不能反映真實(shí)的情況。情況十分糟糕,那么我們能不能設(shè)計(jì)一種方法,使得我們采樣計(jì)算得到的結(jié)果和真實(shí)的結(jié)果相似呢?

    Rank的無(wú)偏估計(jì)

    采樣的評(píng)估指標(biāo)通常通過(guò)對(duì)采樣后觀測(cè)到的rank通過(guò)真實(shí)的評(píng)估計(jì)算得到,也就是說(shuō):

    但很多時(shí)候是對(duì)于的一個(gè)很差的近似, 實(shí)際上經(jīng)常低估,那么我們這個(gè)時(shí)候盡可能不基于進(jìn)行估計(jì),我們可以對(duì)的無(wú)偏估計(jì), 在前面我們知道:,如果我們令,那么關(guān)于的無(wú)偏估計(jì)就是, 則, 所以 , 于是我們得到如下的糾正的指標(biāo):

    最小Bias估計(jì)器

    上面我們使用了對(duì)于rank的無(wú)偏估計(jì),但是如果是非線性的, 那么其實(shí)其實(shí)就是有偏的, 我們平時(shí)經(jīng)常會(huì)嘗試去優(yōu)化平均偏差,

    其中為我們的rank的先驗(yàn)。

    因?yàn)槭菑牡降暮瘮?shù), 所以可以看作為是一個(gè)的向量,所以我們的目標(biāo)就是尋找一個(gè)向量來(lái)最小化下面的式子:

    • 402 Payment Required

    • 402 Payment Required

    上面這個(gè)等價(jià)于一個(gè)最小平方問(wèn)題,它的解為:,其中:

    • , , , 。

    當(dāng)時(shí),上面的問(wèn)題時(shí)欠定的(under-determined),也就是說(shuō)我們無(wú)法獲得一個(gè)無(wú)偏的估計(jì)對(duì)于所有的.

    Bias-Variance Trade-off

    最小偏差估計(jì)器的一個(gè)潛在問(wèn)題在于它可能會(huì)帶來(lái)較大的方差,這個(gè)在實(shí)驗(yàn)階段可以觀測(cè)到,那么如何降低方差呢?和很多傳統(tǒng)機(jī)器學(xué)習(xí)問(wèn)題類似,加正則。于是此處我們加入一個(gè)方差項(xiàng),得到:

    • 402 Payment Required

    其中是一個(gè)正數(shù),這就是一個(gè)正則化的最小二乘問(wèn)題,于是我們的解為:

    其中, , 當(dāng)時(shí)候,我們的解為:

    • 402 Payment Required

    在實(shí)際研究中,最終的評(píng)估指標(biāo)是通過(guò)多個(gè)評(píng)估點(diǎn)上聚合得到,這也會(huì)降低整體的方差,一般一個(gè)更低的值會(huì)更好些。

    實(shí)驗(yàn)驗(yàn)證

    那么糾正之后的指標(biāo)會(huì)不會(huì)更好呢?作者做了一個(gè)實(shí)驗(yàn),作者使用uniform的先驗(yàn),采樣的樣本,所有的商品的個(gè)數(shù)為,也就是說(shuō)采樣的比例為,從Figure4中我們發(fā)現(xiàn),越小的會(huì)帶來(lái)更大的波動(dòng),所以合適的是可以很好地降低方差的, 糾正之后的評(píng)估指標(biāo)和真實(shí)的指標(biāo)也更為接近。

    樣本大小和數(shù)據(jù)集大小的影響

    此處列出作者的一些核心觀點(diǎn):

    • 增加樣本的大小可以減少采樣的評(píng)估指標(biāo)的bias;同時(shí)也可以降低糾正之后的評(píng)估指標(biāo);

    • 增加數(shù)據(jù)集的大小,會(huì)帶來(lái)負(fù)向的效果;

    • 增加評(píng)估點(diǎn)的個(gè)數(shù),可以降低平均估計(jì)的方差,而這對(duì)于糾正之后的評(píng)估指標(biāo)是更加友好的。因?yàn)闆](méi)有進(jìn)行糾正的指標(biāo)即使最終拿到了0方差,但是會(huì)存在非常大的偏差;

    實(shí)驗(yàn)

    實(shí)驗(yàn)主要驗(yàn)證三個(gè)問(wèn)題:

  • 不同的推薦算法是否構(gòu)建不同的排序分布;(例如有些推薦算法在頂部表現(xiàn)好,有些是整體好)

  • 采樣計(jì)算得到的指標(biāo)的結(jié)果和真實(shí)的結(jié)果是否存在不一致?

  • 糾正的評(píng)估指標(biāo)是否可以幫助我們緩解2中的問(wèn)題?

  • 排序分布

    從上面的實(shí)驗(yàn)看出,

    • Z算法在Top10中的表現(xiàn)是最好的;但是最終將超過(guò)1600個(gè)用戶放到了最壞的bucket;

    • X算法相對(duì)平衡,最壞的bucket中的商品最少;(低于300)

    • Y算法在Top10中的表現(xiàn)優(yōu)于X,但是整體看,會(huì)趨向于將相關(guān)的商品放到更差的rank.

    采樣指標(biāo)

    從上表中我們發(fā)現(xiàn),

    • Z算法在真實(shí)情況下載指標(biāo)Recall,NDCG以及AP上都是最好的,但是采樣之后的結(jié)果卻和真實(shí)情況不一致;在采樣指標(biāo)計(jì)算得到的指標(biāo)有時(shí)可能是效果最差的算法,例如X在采樣上計(jì)算得到的分是最高的,但是實(shí)際情況是最低的。

    • 這些指標(biāo)的方差很小,所以不是方差的問(wèn)題,而是采樣帶來(lái)的偏差。

    • 在AUC指標(biāo)上,所有的算法是保持一致的;

    • 所以如果實(shí)驗(yàn)中最終的評(píng)估指標(biāo)是采樣的Recall,AP,NDCG等,那么很可能結(jié)論是錯(cuò)誤的.

    糾正的指標(biāo)

    此處作者對(duì)比了之前提出的三種不同的糾正方案,同樣的從Table3中,我們發(fā)現(xiàn):

    • 糾正之后計(jì)算得到的指標(biāo)和真實(shí)指標(biāo)的Bias降低了.

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

    從上圖中,我們發(fā)現(xiàn),未進(jìn)行糾正的采樣指標(biāo)需要超過(guò)1000的樣本(1/3的樣本),才能得到推薦算法Y比X好的結(jié)論,但是糾正之后的指標(biāo)(BV的trade off + )只需要60個(gè)樣本即可達(dá)到同樣的效果;

    我們發(fā)現(xiàn)確實(shí)糾正之后的指標(biāo)得到的Bias下降了,那么方差呢?

    從上面的實(shí)驗(yàn)中,我們發(fā)現(xiàn):

    • BV 0.1看上去是最好,基本在100次比較中都有90次是對(duì)的;

    • 幾乎所有的糾正方案都可以獲得比未進(jìn)行糾正的指標(biāo)更為合理的效果;

    小結(jié) & 建議

    小結(jié)

    本文的研究顯示之前大多數(shù)論文采用采樣計(jì)算最終指標(biāo)的方案其實(shí)是錯(cuò)誤的,大概率會(huì)和真實(shí)的情況存在偏差,得到錯(cuò)誤的結(jié)論。所以如果可以的話,我們應(yīng)該盡量避免在最終評(píng)估時(shí)對(duì)樣本進(jìn)行采樣,如果無(wú)法避免的話,那么糾正之后的方案可以拿到更為合理的結(jié)果(但是會(huì)增加方差)。

    建議

    從上面的分析以及實(shí)驗(yàn)中,我們發(fā)現(xiàn)采樣之后計(jì)算的指標(biāo)會(huì)帶來(lái)較大的偏差,使用糾正的策略,可以降低偏差,但是也會(huì)引入更高的方差。所以如果采樣時(shí)不可避免,那么有下面幾條建議:

  • 使用本文中提出的糾正之后的指標(biāo)并且使用不同的樣本重新運(yùn)行試驗(yàn)多次;

  • 重復(fù)試驗(yàn)N此(不同數(shù)據(jù)集,N-fold的交叉驗(yàn)證),方差會(huì)由數(shù)據(jù)集的切分不同而被引入,也有可能會(huì)被推薦算法的初始化引入,對(duì)負(fù)樣本采樣的過(guò)程中,隨機(jī)種子也會(huì)帶來(lái)另外一種方差, 所以我們很難找到兩個(gè)不同的推薦算法"statistically significant"差異;但即便如此,我們計(jì)算得到的評(píng)估指標(biāo)仍然是一個(gè)非常強(qiáng)的indicator,顯示我們算法在真實(shí)情況下的表現(xiàn);偏差越小,indication就越強(qiáng)。

  • 偏差只有在不采樣的情況下才可以較好地消除。

  • 參考文獻(xiàn)

    • On Sampled Metrics for Item Recommendation:https://dl.acm.org/doi/pdf/10.1145/3394486.3403226

    • https://crossminds.ai/video/5f3375ac3a683f9107fc6bb8/

    • KDD2020最佳論文: 關(guān)于個(gè)性化排序任務(wù)評(píng)價(jià)指標(biāo)的大討論:https://zhuanlan.zhihu.com/p/20682351

    往期精彩回顧適合初學(xué)者入門(mén)人工智能的路線及資料下載(圖文+視頻)機(jī)器學(xué)習(xí)入門(mén)系列下載中國(guó)大學(xué)慕課《機(jī)器學(xué)習(xí)》(黃海廣主講)機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印《統(tǒng)計(jì)學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 AI基礎(chǔ)下載機(jī)器學(xué)習(xí)交流qq群955171419,加入微信群請(qǐng)掃碼:

    總結(jié)

    以上是生活随笔為你收集整理的【机器学习】模型又线上线下不一致怎么办?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。