交叉熵?fù)p失函數(shù)

轉(zhuǎn)自簡單的交叉熵?fù)p失函數(shù),你真的懂了嗎鸽捻?
說起交叉熵?fù)p失函數(shù)「Cross Entropy Loss」御板,腦海中立馬浮現(xiàn)出它的公式:

交叉熵函數(shù)
我們已經(jīng)對這個交叉熵函數(shù)非常熟悉,大多數(shù)情況下都是直接拿來使用就好渔隶。但是它是怎么來的?為什么它能表征真實樣本標(biāo)簽和預(yù)測概率之間的差值洁奈?上面的交叉熵函數(shù)是否有其它變種间唉?也許很多朋友還不是很清楚!沒關(guān)系利术,接下來我將盡可能以最通俗的語言回答上面這幾個問題呈野。


1. 交叉熵?fù)p失函數(shù)的數(shù)學(xué)原理

我們知道,在二分類問題模型:例如邏輯回歸「Logistic Regression」印叁、神經(jīng)網(wǎng)絡(luò)「Neural Network」等被冒,真實樣本的標(biāo)簽為 [0,1]轮蜕,分別表示負(fù)類和正類昨悼。模型的最后通常會經(jīng)過一個 Sigmoid 函數(shù),輸出一個概率值跃洛,這個概率值反映了預(yù)測為正類的可能性:概率越大率触,可能性越大。

Sigmoid 函數(shù)的表達(dá)式和圖形如下所示:
Sigmoid

其中 s 是模型上一層的輸出税课,Sigmoid 函數(shù)有這樣的特點:s = 0 時闲延,g(s) = 0.5;s >> 0 時韩玩, g ≈ 1垒玲,s << 0 時,g ≈ 0找颓。顯然合愈,g(s) 將前一級的線性輸出映射到 [0,1] 之間的數(shù)值概率上击狮。這里的 g(s) 就是交叉熵公式中的模型預(yù)測輸出 佛析。

我們說了,預(yù)測輸出即 Sigmoid 函數(shù)的輸出表征了當(dāng)前樣本標(biāo)簽為 1 的概率:

很明顯彪蓬,當(dāng)前樣本標(biāo)簽為 0 的概率就可以表達(dá)成:
重點來了寸莫,如果我們從極大似然性的角度出發(fā),把上面兩種情況整合到一起:
y∈[0, 1]
也即档冬,當(dāng)真實樣本標(biāo)簽 y = 0 時膘茎,上面式子第一項就為 1桃纯,概率等式轉(zhuǎn)化為:

當(dāng)真實樣本標(biāo)簽 y = 1 時,上面式子第二項就為 1披坏,概率等式轉(zhuǎn)化為:
兩種情況下概率表達(dá)式跟之前的完全一致态坦,只不過我們把兩種情況整合在一起了。

重點看一下整合之后的概率表達(dá)式棒拂,我們希望的是概率 P(y|x) 越大越好伞梯。首先,我們對 P(y|x) 引入 log 函數(shù)帚屉,因為 log 運算并不會影響函數(shù)本身的單調(diào)性谜诫。則有:

我們希望 log P(y|x) 越大越好,反過來涮阔,只要 log P(y|x) 的負(fù)值 -log P(y|x) 越小就行了猜绣。那我們就可以引入損失函數(shù),且令 Loss = -log P(y|x)即可敬特。則得到損失函數(shù)為:
非常簡單,我們已經(jīng)推導(dǎo)出了單個樣本的損失函數(shù)牺陶,是如果是計算 N 個樣本的總的損失函數(shù)伟阔,只要將 N 個 Loss 疊加起來就可以了:
這樣,我們已經(jīng)完整地實現(xiàn)了交叉熵?fù)p失函數(shù)的推導(dǎo)過程掰伸。

2. 交叉熵?fù)p失函數(shù)的直觀理解

可能會有讀者說皱炉,我已經(jīng)知道了交叉熵?fù)p失函數(shù)的推導(dǎo)過程。但是能不能從更直觀的角度去理解這個表達(dá)式呢狮鸭?而不是僅僅記住這個公式合搅。好問題!接下來歧蕉,我們從圖形的角度灾部,分析交叉熵函數(shù),加深大家的理解惯退。

首先赌髓,還是寫出單個樣本的交叉熵?fù)p失函數(shù):

我們知道,當(dāng) y = 1 時:
這時候催跪,L 與預(yù)測輸出的關(guān)系如下圖所示:
看了 L 的圖形锁蠕,簡單明了!橫坐標(biāo)是預(yù)測輸出懊蒸,縱坐標(biāo)是交叉熵?fù)p失函數(shù) L荣倾。顯然,預(yù)測輸出越接近真實樣本標(biāo)簽 1骑丸,損失函數(shù) L 越猩嗳浴妒貌;預(yù)測輸出越接近 0,L 越大抡笼。因此苏揣,函數(shù)的變化趨勢完全符合實際需要的情況。

當(dāng) y = 0 時:

這時候推姻,L 與預(yù)測輸出的關(guān)系如下圖所示:

同樣平匈,預(yù)測輸出越接近真實樣本標(biāo)簽 0,損失函數(shù) L 越胁毓拧增炭;預(yù)測函數(shù)越接近 1,L 越大拧晕。函數(shù)的變化趨勢也完全符合實際需要的情況隙姿。

從上面兩種圖,可以幫助我們對交叉熵?fù)p失函數(shù)有更直觀的理解厂捞。無論真實樣本標(biāo)簽 y 是 0 還是 1输玷,L 都表征了預(yù)測輸出與 y 的差距。

另外靡馁,重點提一點的是欲鹏,從圖形中我們可以發(fā)現(xiàn):預(yù)測輸出與 y 差得越多,L 的值越大臭墨,也就是說對當(dāng)前模型的 “ 懲罰 ” 越大赔嚎,而且是非線性增大,是一種類似指數(shù)增長的級別胧弛。這是由 log 函數(shù)本身的特性所決定的尤误。這樣的好處是模型會傾向于讓預(yù)測輸出更接近真實樣本標(biāo)簽 y。

3. 交叉熵?fù)p失函數(shù)的其它形式

什么结缚?交叉熵?fù)p失函數(shù)還有其它形式损晤?沒錯!我剛才介紹的是一個典型的形式掺冠。接下來我將從另一個角度推導(dǎo)新的交叉熵?fù)p失函數(shù)沉馆。

這種形式下假設(shè)真實樣本的標(biāo)簽為 +1 和 -1,分別表示正類和負(fù)類德崭。有個已知的知識點是Sigmoid 函數(shù)具有如下性質(zhì):

這個性質(zhì)我們先放在這斥黑,待會有用。

好了眉厨,我們之前說了 y = +1 時锌奴,下列等式成立:

如果 y = -1 時,并引入 Sigmoid 函數(shù)的性質(zhì)憾股,下列等式成立:
重點來了鹿蜀,因為 y 取值為 +1 或 -1箕慧,可以把 y 值帶入,將上面兩個式子整合到一起:
這里的y∈[-1, +1]
接下來茴恰,同樣引入 log 函數(shù)颠焦,得到:

要讓概率最大,反過來往枣,只要其負(fù)數(shù)最小即可伐庭。那么就可以定義相應(yīng)的損失函數(shù)為:
還記得 Sigmoid 函數(shù)的表達(dá)式吧?將 g(ys) 帶入:
好咯分冈,L 就是我要推導(dǎo)的交叉熵?fù)p失函數(shù)圾另。如果是 N 個樣本,其交叉熵?fù)p失函數(shù)為:
接下來雕沉,我們從圖形化直觀角度來看渡处。當(dāng) y = +1 時:
這時候拯辙,L 與上一層得分函數(shù) s 的關(guān)系如下圖所示:
橫坐標(biāo)是 s荠医,縱坐標(biāo)是 L帖渠。顯然,s 越接近真實樣本標(biāo)簽 1倔叼,損失函數(shù) L 越杏姿ァ;s 越接近 -1缀雳,L 越大。

另一方面梢睛,當(dāng) y = -1 時:

這時候肥印,L 與上一層得分函數(shù) s 的關(guān)系如下圖所示:

同樣,s 越接近真實樣本標(biāo)簽 -1绝葡,損失函數(shù) L 越猩罴睢;s 越接近 +1藏畅,L 越大敷硅。

4. 總結(jié)

本文主要介紹了交叉熵?fù)p失函數(shù)的數(shù)學(xué)原理和推導(dǎo)過程,也從不同角度介紹了交叉熵?fù)p失函數(shù)的兩種形式愉阎。第一種形式在實際應(yīng)用中更加常見绞蹦,例如神經(jīng)網(wǎng)絡(luò)等復(fù)雜模型;第二種多用于簡單的邏輯回歸模型榜旦。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末幽七,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子溅呢,更是在濱河造成了極大的恐慌澡屡,老刑警劉巖猿挚,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異驶鹉,居然都是意外死亡绩蜻,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進(jìn)店門室埋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來办绝,“玉大人,你說我怎么就攤上這事词顾“送海” “怎么了?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵肉盹,是天一觀的道長昔驱。 經(jīng)常有香客問我,道長上忍,這世上最難降的妖魔是什么骤肛? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮窍蓝,結(jié)果婚禮上腋颠,老公的妹妹穿的比我還像新娘。我一直安慰自己吓笙,他們只是感情好淑玫,可當(dāng)我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著面睛,像睡著了一般絮蒿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上叁鉴,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天土涝,我揣著相機(jī)與錄音,去河邊找鬼幌墓。 笑死但壮,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的常侣。 我是一名探鬼主播蜡饵,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼袭祟!你這毒婦竟也來了验残?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎您没,沒想到半個月后鸟召,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡氨鹏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年欧募,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片仆抵。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡跟继,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出镣丑,到底是詐尸還是另有隱情舔糖,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布莺匠,位于F島的核電站金吗,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏趣竣。R本人自食惡果不足惜摇庙,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望遥缕。 院中可真熱鬧卫袒,春花似錦、人聲如沸单匣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽户秤。三九已至迹冤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間虎忌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工橱鹏, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留膜蠢,地道東北人。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓莉兰,卻偏偏與公主長得像挑围,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子糖荒,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內(nèi)容