機器學習(周志華)第2 3 4節中,代價曲線的理解?

時間 2021-05-05 21:44:55

1樓:Honfung.Wong

我想講人話,也就是用不那麼「數學」的方法來直白地解釋下這些問題。

顯而易見,書中公式 2.25 定義了 是關於 FNR、FPR 和正例概率 p 的一次函式,圖 2.5 上左右端點分別是 p=0 和 p=1 的情形。故易得出結論。

圖 2.5 中,橫軸為「正例概率代價」,縱軸為「歸一化代價」,對代價平面上任一給定線段上的任一點,都能得到給定「正例概率代價」時的「歸一化代價」——這句話多讀兩遍,然後繼續看下一句。在給定條件下,「期望總體代價」,即「歸一化代價」對「正例概率代價」積分,顯然的,有了積分,就有了上述「任一給定線段」下的面積

繼續,灰色陰影面積的邊界,就是代價平面上所有線段的「包絡線」。如果學過經濟學,回想下「長期邊際成本曲線是所有短期邊際成本曲線的包絡線」這句話。

然後回過來,代價平面上的線段是怎麼來的?是遍歷 ROC 曲線上每一點而得來的。所以在 ROC 上每走過乙個點,就是一次 A2 中的「給定條件」下的情形,然後代價平面上就多一條線段。

進一步地,要求在「所有條件」下的「期望總體代價」,就是通過每乙個「給定條件」時的「期望總體代價」對其進行修正,確保前者不會大於任何乙個後者——這就是包絡線。

2樓:馬騰

題主的問題,我看周老師的書後是這樣理解的:

令 , , 在正例概率代價[x] vs 歸一化代價[y]的圖上, 能表示成 的形式,所以在圖上表示為直線段。

首先理解什麼是期望。期望是對所有對應概率下結果乘積的積分。e.

g.投骰子一次的期望即為每乙個結果乘以對應的概率(1/6),即3.5.

表示式為: .再看圖的橫縱座標是正例概率代價(概率)對應的歸一化代價(結果),即每個P都對應的cost,那麼概率上積分即為其整體期望,亦所謂期望總體代價(期望) 。

周老師的書上說了繪製代價曲線的圖是從ROC圖上取點,即每乙個點都有對應的FNR,以及FPR的值,那麼線段就能畫出來。當畫完「所有」的線的時候,每乙個正例概率代價P都對應N個不同的歸一化代價(y)的值(垂線交點),那麼我們一定是選擇代價最小的值來作為該條件下學習器的結果。那麼所有的正例概率代價所對應的歸一化代價的值圍繞的面積即所有線段的下邊界所圍繞的面積,亦即所有條件下學習器的期望總體代價(期望)。

3樓:

剛看到這,總結一下,符號的含義全都按照書上的來。

1.ROC曲線。

2.代價平面上的一條線段。

3.代價曲線。

分析1.ROC曲線。

對於乙個學習器,可以設定任意閾值,每乙個閾值對應一組TPR,FPR。這裡還有乙個隱含的假設,ROC曲線與p無關

分析2.代價平面上的一條線段的含義。

首先,它的橫座標是P(+)cost,縱座標是cost_norm。

注意到,2上的每乙個點,橫座標由p,cost_01,cost_10等值確定。縱座標由p,cost_01,cost_10,FNR,FPR等值確定。然後,這些值是怎麼來的呢?

cost_01,cost_10是任設的一組常量,在代價平面的每條線段裡都相等。FNR,FPR也是常量,來自ROC曲線中的乙個點(也對應學習器的乙個閾值),在代價平面的不同線段裡不相等。至於p,p從0到1變化,我們畫的是一條線嘛。

可以先解決乙個簡單的問題,令x=P(+)cost,y=cost_norm,y=(FNR-FPR)*x+FPR。FNR和FPR都是常量,很明顯是一條線段。

分析3.代價曲線

先看下代價曲線是怎麼來的,代價曲線的橫座標仍舊是P(+)cost,縱座標則是一組值的最小值。哪組值呢?對於每一條代價平面中的線段,找到橫座標為P(+)cost的點對應的縱座標,這些縱座標的最小值就是代價曲線的縱座標。

再來看看這組縱座標有什麼特點?前面提到,代價平面中的一條線段的縱座標由p,cost_01,cost_10,FNR,FPR等值確定。因為它們的橫座標相同,所以p是相同的,而cost_01,cost_10是定常量,也是相同的。

不同的是FNR和FPR,而FNR和FPR由學習器的閾值決定。也就是說,這組縱座標,別的都相同,不同的是對應學習器的閾值。

到了這裡,已經可以猜出來了。

2.代價平面中的一條線段描述了p從0到1變化時,學習器取某個確定閾值的代價。

3.代價曲線描述了p從0到1變化時,學習器在所有閾值裡代價的最小值,把這個最小值看作學習器的代價。

接下來確認下猜測:

FNR*p=FN/(FN+TP)*p=FN/(FN+FP+TN+TP)

FPR*(1-p)=FP/(FP+TN)*(1-p)=FP/(FN+FP+TN+TP)

FNR*p*cost_01 : FPR*(1-p)*cost_10 = FN*cost_01 : FP*cost_10。

很明顯FNR*p*cost_01+FPR*(1-p)*cost_10是代價值,再進行一下歸一化,找到合適的x使它變成線段,完事。

4樓:fintechcat

我看到的回答,對cost curve的理解都有一些問題,所以忍不住來回答一發。

先解決乙個簡單的問題:(0,FPR)和(1,FNR)的連線是直線。這個很好理解,你把 p*cost10/(p*cost10+(1-p)*cost01)看作x,(FNR*cost10*p + FPR*cost01*(1-p))/(p*cost10+(1-p)*cost01)看作y,那麼(0,FPR)和(1,FNR)不就經過直線 y = FNR * x + FPR*(1-x)

下面理一理cost curve和ROC曲線的關係:

ROC曲線有兩個前提:

正反例的分布是確定的,也就是 p 是確定,且 p = m+ / ((m+)+(m-))

cost10/cost01 = 1, (當然ROC曲線通過座標軸變換,也是可以表示cost10/cost01 != 1的情況,不過書裡沒有提到,就不展開說了)

基於ROC曲線的這兩個前提,可知對於某一條ROC曲線來說,由於其概率代價是確定的,即 p * cost10是乙個定值,那麼一條ROC曲線對映到cost curve的x軸座標,也就僅僅對應cost curve的x軸上的某乙個x0 = p* cost10/(p*cost10+(1-p)*cost01)!!!而ROC曲線對映到cost curve的y軸座標,即為 y = FNR * x0 + FPR*(1-x0) 。

那麼問題來了,既然一條ROC曲線只能對映到cost curve的某個x0,那麼cost curve又代表什麼?要解決這個問題,首先要明確一點:cost10和cost01是人為設定的值,它與測試集樣本的正反例分布無關,因此,無論cost10和cost01如何取值,只要p確定,FNR和FTR的組合就確定了。

那麼,cost curve的x軸座標,即為不同cost10,cost01組合的p*cost10/(p*cost10+(1-p)*cost01)值; y軸座標,即為y = FNR * x0 + FPR * (1-x0) 的最小值

2. 如何理解cost curve中的歸一化

理清楚了cost curve和ROC曲線的關係,再來說說cost curve中的歸一化。

1) 歸一化前提:

測試集樣本的正反例分布是相同的,即p是相同。如果p不相同,則基於不同p歸一化之後的值無法進行對比。

舉個例子,假設某個NBA 球員A,投2分球的概率為0.8,2分球的命中率為0.6;投3分球的概率為0.2,3分球的命中率為0.5,則其歸一化之前每一次投籃的得分為:

2*0.8*0.6 + 3*0.2*0.5 = 1.26

歸一化之後每一次投籃的得分為:

(2*0.8*0.6 + 3*0.2*0.5)/(2*0.8 + 3*0.2) = 0.663

假設某個NBA 球員B,投2分球的概率為0.1,2分球的命中率為0.5;投3分球的概率為0.9,3分球的命中率為0.6,則其歸一化之前每一次投籃的得分為:

2*0.1*0.5 + 3*0.9*0.6 = 1.72

歸一化之後每一次投籃的得分為:

(2*0.1*0.5 + 3*0.9*0.6)/(2*0.1 + 3*0.9) = 0.593

顯然,球員A的實際得分能力低於球員B,但是歸一化之後的結果確實球員A單次投籃的得分大於球員B;所以,要保證歸一化之後,E[cost]的值依然能進行對比,前提就是要保證p相等。

2) 歸一化的作用:

將p相同,cost01,cost10不同的的E[cost]的值對映到[0,1]進行對比。

還是上面提到的球員得分的例子,假設NBA修改規則,將2分球算作4分,3分球算作6分,那麼再次計算其歸一化之前每一次投籃的得分為:

2.52

其歸一化之後每一次投籃的得分為:

0.663;

由於本次規則修改,只是把得分數乘以2,所以球員的相對得分能力不會和規則修改之前有所不同,顯然,歸一化之後的資料才是對比球員得分能力變化的指標。

假設NBA修改規則,將2分球算作4分,3分球算作8分,那麼再次計算其歸一化之前每一次投籃的得分為:

2.72

其歸一化之後每一次投籃的得分為:

0.567

由於本次規則修改,加強了3分球得分的收益,所以三分球出手佔比和命中率高的球員,其相對得分能力會變得更高。顯然,歸一化之後的資料正確地反映了該球員得分能力的變化。

同理,E[cost]需經過歸一化之後,才能進行比較。

最後,答主解釋一下cost curve下部面積的意義,即某一p分布的測試集下,學習器基於不同cost01和cost10組合的總體泛化效能。

5樓:

今天看書看到這個沒看明白,看了半天沒看出所以然,網上也看了一堆,包括這個問題下的回答,都特別高深。後來偶然看到乙份讀書筆記強調了下其實就是切線的概念,然後恍然大悟。回過頭看看一些回答真是有些憤怒。

這裡貼出自己的理解,讓大家少走彎路。少走彎路,少浪費時間。

首先我很同意關於分母是用來歸一化的觀點。

首先講講為什麼分母是這個 。這個可以理解為我們把全部的樣本全部判錯的代價,即正的全判負,負的全判正的期望損失。沒有分類器可以做到比這種情況更糟的了吧?

所以這個保證了我們接下來要說的P和Cost一定不會大於1。所以用這種分母進行歸一化。

然後講講題主的問題,同時也是我早些時候的困惑

2)書上說期望總體代價,是線段下的面積,為什麼?

3)所有線段的下界,圍城的面積,是所有條件下學習器的期望總體代價,為什麼?

2)其實很簡單。

縱軸Y是代價(歸一化),橫軸X是正例概率代價。而「該條件下」,意思就是分類器f,FNR,FPR,樣本空間給定(這也會使得cost10/cost01給定),但是P(也就是說p)是變化的(我們可能取到的樣本全為正 ,或全是負,或2者之間變動。)

期望總體代價定義就是 ,其中P就是P(+)cost,Cost就是 ,後面都將這麼表示。我們將這個積分就暫且設為A吧。為啥是P不是p呢?

我是這麼理解的,為了將代價引入而且保證這是個概率(所以進行了歸一化)。

這玩意兒就是在作者給的座標系中要去求Cost曲線覆蓋的面積。而 ,這個熟悉吧,就是從(0,FPR)到(1,FNR)的線段。那它覆蓋的面積就是A,就是Cost對於P從0到1的積分。

所以現在2解決了吧。

那3)呢?

我們來看看,啥是所有條件。學習器是給定的,但是我們的樣本是變化的,設定的閾值也是變化的。啥意思呢,樣本變化就導致1.

設定的閾值(這個會導致FNR,FPR等等這些玩意兒變化),2.樣本(比如閾值一定,樣本有變化,那麼我們做出來的AUC曲線就會有變化,即FPR,TPR會受到影響會變動)。

再具體點啥意思?

從圖上看,

上面2種變化可能導致線段移動。但是具體會咋移動呢,這個我們也不知道,想象起來也挺費勁。可能FPR不變,FNR變;也可能FNR不變FPR變,或者都變。

這種情況下,變數就不僅僅是P了,因為我們要考慮所有情況,那麼期望總體代價這個時候可以看作

A=,因為要知道 可是樣本和閾值的因變數。

(注意,樣本空間和分類器是給定的,所以 都是給定的)

但這個東西好像畫不出來,太多種情況了,有點複雜,咋辦呢。

好訊息是,我們知道給定FNR,FPR後A對於P的求導,就是那條線段。因為A也能表示成 這樣呀!而且我們本身就是要求在P的度量下Cost的期望啊。

那麼辦法來了,那我們就劃出A在這個座標係先關於P的所有切線段(變化閾值以及樣本獲得所有可能的FPR與FNR),那麼它們下界圍成的面積就是這個A。

完。剛剛接觸這東西然後大概想出了點頭緒,整體不一定完善但是方向我認為基本沒大問題。應該是不難理解的。

主要是要知道這個條件是啥,給定條件的直接影響就是FPR,FNR不變而p(P)在變動,所有條件就是FPR,FNR,p都會變,然而分類器f和樣本空間(決定了cost係數)都不會變。

南大周志華的《機器學習》這本書怎麼樣?

這學期學完了1 9章,期末臨考前又預習了一遍233,預習這本書時對這本書有很多抱怨,推導不細,讀不懂等等,但當我認真過了一遍這9章之後,我體會到了周志華老師的用心 態度和努力,相信老師在生活中也是一位很好的人。個人覺得用心的地方在於 一是這本書很寬,在兩側留足了記筆記的空白地方。二是兩側很多地方加入...

機器學習方向,南大周志華組lamda實驗室vs申請國外cs?

我覺得LAMDA提供了乙個很好的科研環境,這是毋庸置疑的。最簡單的地方 錢夠,現在搞深度學習怎麼也得一人幾塊GPU吧,在這種硬體條件方面,LAMDA不會讓學生吃苦的,而某些學校的組裡連一人都分不到一塊GPU。當然這是乙個說明LAMDA硬體條件的乙個case。LAMDA的硬體條件與環境氛圍我想在國內也...

周志華《機器學習》38頁關於二項檢驗的公式 2 27 是否有誤?

GuoQW 符號 代表泛化錯誤率,代表測試錯誤率,是某次進行實驗得到的測試錯誤率。現假設 是猜測值 得到下式 這符合二項分布,接著利用下式計算拒絕域下限 若 時,拒絕假設 即某次實驗出現該情形,有理由拒絕原假設 否則,不支援拒絕假設 出現在非拒絕域不代表接受原假設 周志華教授 機器學習 第一版第31...