色屁屁www影院免费观看入口,欧美性猛交ⅹxxx乱大交妖精,欧美激情第5页,欧美性猛交xxxx三人,欧美一a级做爰片大开眼界

達(dá)觀動態(tài)

達(dá)觀愿與業(yè)內(nèi)同行分享 助力各企業(yè)在大數(shù)據(jù)浪潮來臨之際一起破浪前行

LTR那點(diǎn)事—AUC及其與線上點(diǎn)擊率的關(guān)聯(lián)詳解

LTR(Learning To Rank)學(xué)習(xí)排序是一種監(jiān)督學(xué)習(xí)(SupervisedLearning)的排序方法,現(xiàn)已經(jīng)廣泛應(yīng)用于信息索引,內(nèi)容推薦,自然語言處理等多個領(lǐng)域。以推薦系統(tǒng)為例,推薦一般使用多個子策略,但哪個策略更好?每個策略選出多少候選集?每個候選集呈現(xiàn)的順序如何排序?這些問題只能根據(jù)經(jīng)驗(yàn)進(jìn)行選擇,隨著策略越來越多,上述問題對推薦效果的影響會越來越大。于是乎,人們很自然的想到了用機(jī)器學(xué)習(xí)(Machine Learning)了解決上述問題,至此LTR就出世和大家見面了。發(fā)展到現(xiàn)在,LTR已經(jīng)形成較為成熟的理論基礎(chǔ),并且可以解決數(shù)據(jù)稀疏、過擬合等多種問題,在實(shí)際應(yīng)用中取得較好的效果。

做過LTR的人都知道AUC是機(jī)器學(xué)習(xí)中非常重要的評估指標(biāo),AUC的提升會帶來線上點(diǎn)擊率的提升,其值越高越好,最大值為1。那么AUC到底是個什么東東呢?為什么AUC的提升就一定會帶來點(diǎn)擊率的提升?本文就帶大家一起了解下AUC的概念及其與線上點(diǎn)擊率的關(guān)聯(lián)。

一、AUC概念與計算方法

AUC是Area Under Curve的縮寫,實(shí)際就是曲線下的面積。那么這條曲線是什么呢?AUC又要怎么求呢?別急,聽我細(xì)細(xì)道來。

通常在訓(xùn)練模型時,我們需要從日志里獲得某一天或者某幾天的數(shù)據(jù)作為訓(xùn)練集,選取另外某一天或者某幾天的作為驗(yàn)證集(通常訓(xùn)練集時間先于驗(yàn)證集時間)。日志里是一條一條的記錄(通常包括用戶標(biāo)識、item標(biāo)識、操作時間、操作類型等等),對于某一條記錄,有用戶點(diǎn)擊的我們標(biāo)記為1,代表用戶對當(dāng)前的item感興趣,點(diǎn)擊觀看了(當(dāng)然不考慮手抽點(diǎn)到的);對于展示但是用戶未點(diǎn)擊的我們標(biāo)記為0,代表用戶不感興趣。在LTR中,根據(jù)訓(xùn)練集對模型進(jìn)行訓(xùn)練,訓(xùn)練好的模型會為驗(yàn)證集的每一條記錄打分,那么對于用戶行為是點(diǎn)擊的記錄,我們希望得分高一些;而對于用戶行為是不點(diǎn)擊的記錄,我們希望得分低一些,這樣預(yù)測分?jǐn)?shù)就可以代表用戶對當(dāng)前item的興趣大小。AUC就是用來比較有點(diǎn)擊記錄的得分與無點(diǎn)擊記錄的得分是否滿足上述關(guān)系的指標(biāo)。這里需要強(qiáng)調(diào)的是AUC僅僅用來比較有點(diǎn)擊與無點(diǎn)擊的記錄,不用來比較有點(diǎn)擊之間或者無點(diǎn)擊之間的關(guān)系(比如A記錄中用戶點(diǎn)擊并且對該次展示極感興趣,而B記錄中用戶對該次展示沒有興趣只是不小心點(diǎn)到,所以A記錄得分理應(yīng)高于B,但這不屬于AUC的考慮范圍)。

?

說了這么多,大家可能還不是很明白,到底AUC怎么計算呢?舉個例子如下:

下表中有如下6條記錄,

2

這里我們無法預(yù)知同為用戶點(diǎn)擊過的A和D兩條記錄到底誰的得分更應(yīng)該高一些,也無法預(yù)知其余四條未點(diǎn)擊的記錄誰的得分應(yīng)該更低一些。但是根據(jù)AUC的概念,A和D的得分應(yīng)該高于其余四條記錄中的任意一條。下面開始計算AUC的流程:

我們需要將記錄A、D分別與另外四條記錄比較,一共有8組對比。這里計算AUC的分母就是8;那么共有多少組對比是滿足要求的呢?記錄A比另外四組(B、C、E、F)得分都高,記錄D只比另外二組(E、F)得分都高,所以八組對比中滿足條件的只有6組,那么分子就是6。所以我們計算得到的AUC就是6/8 = 0.75。簡單吧?好像確實(shí)不是很難耶!

下面對AUC的計算做一個簡單總結(jié):通過模型對驗(yàn)證集中的每條記錄做一個預(yù)測。這些記錄中有點(diǎn)擊行為的記錄數(shù)為M,未點(diǎn)擊的記錄數(shù)為N,則用有M*N組對比。對于有點(diǎn)擊的M條記錄分別記為p1、p2、……pM,對于其中任意一條記錄Pi,其預(yù)測分?jǐn)?shù)高于未點(diǎn)擊記錄的個數(shù)為記做3,則滿足條件的對比組為4的累積和,除以M*N就是本次記錄組中AUC的結(jié)果。我們需要對比有點(diǎn)擊行為的記錄與無點(diǎn)擊行為的記錄,要求有點(diǎn)擊行為記錄的預(yù)測分?jǐn)?shù)高于無點(diǎn)擊行為記錄的預(yù)測分?jǐn)?shù),AUC就是衡量滿足要求的對比數(shù)占總對比數(shù)的指標(biāo)。

二、小樣,穿個馬甲就不認(rèn)識你了?!

上一小節(jié)中介紹了如何計算AUC,相信大家已經(jīng)掌握了原理和計算方法。其實(shí)網(wǎng)上大部分介紹AUC的文章如出一轍,但是好像都不是上述方法,二者一樣嗎?難不成AUC有兩種計算方式?下面就進(jìn)行一下對比,看看到底咋回事。

看過網(wǎng)上介紹AUC的同學(xué)一定都知道下面四個概念:

  • True negative(TN),稱為真陰,表明實(shí)際是負(fù)樣本預(yù)測成負(fù)樣本的樣本數(shù)
  • False positive(FP),稱為假陽,表明實(shí)際是負(fù)樣本預(yù)測成正樣本的樣本數(shù)
  • False negative(FN),稱為假陰,表明實(shí)際是正樣本預(yù)測成負(fù)樣本的樣本數(shù)
  • True positive(TP),稱為真陽,表明實(shí)際是正樣本預(yù)測成正樣本的樣本數(shù)

大家可能看的有點(diǎn)頭暈,下面在用更通俗的語言描述下:

  1. TN,預(yù)測是負(fù)樣本,預(yù)測對了
  2. FP,預(yù)測是正樣本,預(yù)測錯了
  3. FN,預(yù)測是負(fù)樣本,預(yù)測錯了
  4. TP,預(yù)測是正樣本,預(yù)測對了

前文已經(jīng)說了AUC實(shí)際是曲線下的面積,那么這條曲線是什么呢?有了上述概念我們就可以畫出這條曲線了,其橫坐標(biāo)是False Positive Rate(假陽率,F(xiàn)PR),縱坐標(biāo)是True Positive Rate(真陽率,TPR),那這兩個指標(biāo)怎么算呢?公式如下:

5

6

到現(xiàn)在為止,基本畫AUC曲線所需要了解的概念都描述了,大家暈了嗎?反正我是暈了,這和上一節(jié)介紹的計算AUC的方法是一樣的嗎?

答案直接而有堅定:是!!

那么該如何理解呢?說到這里就不得不提閥值的概念。對于某個二分類分類器來說,涉及最多的閥值就是0.5了,對于每一次預(yù)測大于0.5的認(rèn)為是正樣本,小于0.5的認(rèn)為是負(fù)樣本。那么AUC曲線中閥值是多少呢?這里的閾值很多,我們可以把下述曲線理解成一個個小長方形,每一個長方形對應(yīng)于每一個閥值。下面描述如何選取閥值與畫出這些小長方形。

這里仍然假定共M有個正樣本(用戶點(diǎn)擊)與N個負(fù)樣本(用戶未點(diǎn)擊),分別對個M正樣本與N個負(fù)樣本的預(yù)測分?jǐn)?shù)進(jìn)行降序排列,對應(yīng)的序號分別為7,對應(yīng)的預(yù)測分?jǐn)?shù)分別為8。這里閾值就是負(fù)樣本分?jǐn)?shù)9。首先選取作為閥值(分?jǐn)?shù)>=閥值為正樣本,<閥值為負(fù)樣本),則此時負(fù)樣本中僅有的p1滿足預(yù)測分?jǐn)?shù)大于等于閥值(實(shí)際是等于),故假陽率為10;對應(yīng)的正樣本預(yù)測分?jǐn)?shù)有11大于等于閥值,共12個,真陽率13,對應(yīng)的第一個長方形的面積14。接著選15作為閥值,此時假陽率16,但對應(yīng)于第二個長方形的寬還是17(需減去前一個長方形的寬),正樣本預(yù)測分?jǐn)?shù)中18大于閥值共19。由于20,則必有21,這也解釋了曲線中y隨著x的增大而增大。此時真陽率22,對應(yīng)的第二個長方形的面積為23……將根據(jù)閾值劃分的各小長方形累加得到曲線下的面積也就是AUC,其表達(dá)形式為24,分子是滿足條件的對比組,分母是總對比組,形式與第一節(jié)介紹的計算AUC的表達(dá)式一模一樣!

這里我們選取負(fù)樣本的得分作為閥值,當(dāng)然也可以選取正樣本的分?jǐn)?shù)作為閥值。則橫坐標(biāo)是False negative Rate(假陰率,F(xiàn)NR)縱坐標(biāo)是True Negative Rate(真陰率,TNR),對應(yīng)公式如下:

25

對正負(fù)樣本預(yù)測分?jǐn)?shù)進(jìn)行升序排列,依次選取正樣本的分?jǐn)?shù)作為閥值,最后得到的結(jié)果與上述表達(dá)式一致。

?

至此,我們已經(jīng)詳細(xì)描述了如何計算AUC,最后補(bǔ)上AUC的一般判斷標(biāo)準(zhǔn)

0.5~0.7:效果較低

0.7~0.9:效果不錯,可用于上線

0.9~1.0:效果超級好,但是一般情形下很難達(dá)到

三、AUC與線上點(diǎn)擊率的關(guān)聯(lián)

晚上加班回家洗完澡,打開**頭條,翻到推薦頁面,映入眼簾的幾條推薦內(nèi)容都是我特別感興趣的,好了不往下面翻了,把當(dāng)前頁面的看完再說;翻著翻著,沒啥意思了,再看看時間不早了,算了睡吧明天還要早起呢。不看了睡覺吧 zzz。

 

通過上述可以看出大家對于推薦欄靠前的內(nèi)容更容易點(diǎn)擊,當(dāng)然不排除有些人喜歡先翻個幾下子在看的,如果這樣那么LTR可能反而會降低客戶體驗(yàn),所以LTR優(yōu)化時我們是不考慮這部分用戶。LTR就是對于某一個特定用戶,根據(jù)模型對召回的不同item的預(yù)測分?jǐn)?shù)進(jìn)行降序排列,如果AUC足夠高,則根據(jù)預(yù)測分?jǐn)?shù)進(jìn)行排序的結(jié)果與用戶真實(shí)興趣排序的結(jié)果相符,這也是為什么我們要提高AUC的原因。將用戶感興趣的item優(yōu)先展示,可以提高用戶的點(diǎn)擊數(shù)同時降低入屏但是不點(diǎn)擊的數(shù)目,從而提高點(diǎn)擊率,產(chǎn)生較好的用戶體驗(yàn)。

四、AUC真的好嗎?

通過上面我們可以看出,AUC正比于線上點(diǎn)擊率。現(xiàn)在市面上各種app都在追求用戶流量,高質(zhì)量的推薦內(nèi)容可以獲得更好的用戶體驗(yàn)從而獲得更多的用戶流量。所以線下訓(xùn)練模型是一般追求AUC的提升,但AUC高就一定好嗎,請看下面兩組數(shù)據(jù)對比:

 

第一組:

 

26

根據(jù)之前介紹的AUC計算方式可以得到這一組數(shù)據(jù)的AUC為27

第二組:

28

根據(jù)之前介紹的AUC計算方式可以得到這一組數(shù)據(jù)的AUC為29

通過對比AUC大家顯然覺得第二組數(shù)據(jù)對應(yīng)的模型性能更好。

真的嗎?

真的是這樣嗎?

對于第一組數(shù)據(jù),表中分別包含甲乙兩個用戶,對于這兩個用戶而言,預(yù)測分?jǐn)?shù)大小關(guān)系完全符合用戶點(diǎn)擊行為與否,故模型在這兩個用戶上已不需要優(yōu)化。對于第二組數(shù)據(jù),丁用戶各條記錄的預(yù)測分?jǐn)?shù)大小關(guān)系不完全符合用戶點(diǎn)擊行為(有點(diǎn)擊行為的E預(yù)測分?jǐn)?shù)低于無點(diǎn)擊行為的F),故第二組數(shù)據(jù)對應(yīng)的模型還需要優(yōu)化。對比之前AUC,第二組的模型優(yōu)于第一組,這里矛盾到底在哪里呢?分析如下:

第一組數(shù)據(jù)中共有2個正樣本,6個負(fù)樣本共12組對比,不滿足條件的共兩組(用戶甲-itemB,用戶乙-itemE), (用戶甲-itemC,用戶乙-itemE),可以發(fā)現(xiàn)這兩組數(shù)據(jù)都是比較不同的用戶,我們做LTR的目的是為了對每個用戶推薦的item正確排序,不必理會不同用戶間的item。表1可以看出用戶甲的預(yù)測分?jǐn)?shù)普遍偏高而用戶乙的分?jǐn)?shù)普遍偏低,這種趨勢與item無關(guān),僅僅取決于用戶,所以比較不同用戶之間的預(yù)測分?jǐn)?shù)是沒有意義的。如果我們用AUC來作為最終的判斷標(biāo)準(zhǔn)會出現(xiàn)表1的情形,用戶甲乙都滿足LTR的排序,但是整體的AUC還是小于1。

上面說明了AUC作為LTR的指標(biāo)的局限性,那么該如何選取呢。還是以表1為例,單獨(dú)看甲乙兩個用戶,用戶甲的AUC是1,用戶乙的AUC也是1,則總體AUC肯定是1。這里阿里巴巴提出了GAUC的概念,g是group的縮寫,顧名思義就是分組AUC,分組的依據(jù)是用戶名,根據(jù)不同的用戶名分組得到不同用戶的AUC,然后在加權(quán)平均得到最終的GAUC。這樣就避免了不同用戶之間的比較,消除了用戶間差異。

現(xiàn)在剩下最后一個問題了,算出了不同用戶的AUC如何進(jìn)行加權(quán)得到GAUC呢。這里阿里巴巴也沒有給出確切的公式,可以依據(jù)各用戶的點(diǎn)擊數(shù)或者是各用戶的展示數(shù)。下面做一個簡單的公式推導(dǎo):

以推薦系統(tǒng)來說,LTR是為了提高用戶的點(diǎn)擊率,這里用戶點(diǎn)擊用30表示,展示數(shù)目用31表示。假設(shè)有三個用戶,點(diǎn)擊數(shù)分別為32,展示數(shù)目分別為33點(diǎn)擊率分別為34,則總體可表示為

35

可以看出總體點(diǎn)擊率是不同用戶的根據(jù)展示數(shù)進(jìn)行加權(quán)得到的,所以不同用戶根據(jù)展示數(shù)加權(quán)得到GAUC是合理的。

但是這里不能忽略一個問題,AUC是預(yù)測分?jǐn)?shù)滿足大小關(guān)系的正負(fù)對占總的正負(fù)對的比值,對比數(shù)越多,AUC就越準(zhǔn)確。假如兩個用戶都展示了10條,其中一個用戶點(diǎn)擊了1條,那么該用戶對應(yīng)的AUC有9組對比;另一個用戶點(diǎn)擊了5條,那么該用戶對應(yīng)的AUC有25組對比,顯然計算GAUC時后一個用戶對應(yīng)的AUC的權(quán)重應(yīng)該大一點(diǎn)。這里全球領(lǐng)先的文本職能處理專家—達(dá)觀數(shù)據(jù)公司提出從從AUC的定義出發(fā)來計算GAUC。這里將各用戶計算AUC的分子相加作為計算GAUC的分子,各用戶計算AUC的分母相加作為計算GAUC的分母,由于模型不會偏向于任意用戶,故這種計算GAUC的方法是較為準(zhǔn)確的。大家也可以在實(shí)際工程中應(yīng)用。

五、總結(jié)

本文首先介紹了AUC的基本概念和計算方法,同時對比了兩種計算AUC的方法,其不過是最終表達(dá)式的兩種展現(xiàn)形式。接著描述了AUC與線上點(diǎn)擊率的關(guān)聯(lián)。最后補(bǔ)充了AUC的不足同時引出了GAUC,用以消除用戶間的差異,同時提出了一種新的計算GAUC的方法。

?

A

BOUT

關(guān)于作者

徐祥:達(dá)觀數(shù)據(jù)智能推薦算法工程師,負(fù)責(zé)達(dá)觀數(shù)據(jù)智能推薦算法中模型的優(yōu)化,對策略召回的結(jié)果進(jìn)行重排序。對特征工程,模型優(yōu)化有深入研究