【機(jī)器學(xué)習(xí)基礎(chǔ)】為什么邏輯回歸的損失函數(shù)是交叉熵?
前言
當(dāng)前正在整理機(jī)器學(xué)習(xí)中邏輯回歸的基礎(chǔ)和面試內(nèi)容,這里有一個(gè)值得思考的問(wèn)題與大家分享與討論。
本文約1k字,預(yù)計(jì)閱讀5分鐘。
概要
邏輯回歸(logistic regression)在機(jī)器學(xué)習(xí)中是非常經(jīng)典的分類(lèi)方法,周志華教授的《機(jī)器學(xué)習(xí)》書(shū)中稱(chēng)其為對(duì)數(shù)幾率回歸,因?yàn)槠鋵儆趯?duì)數(shù)線性模型。
在算法面試中,邏輯回歸也經(jīng)常被問(wèn)到,常見(jiàn)的面試題包括:
邏輯回歸推導(dǎo); 邏輯回歸如何實(shí)現(xiàn)多分類(lèi)? SVM與LR的聯(lián)系與區(qū)別? 邏輯回歸反向傳播偽代碼;
大家可以思考下能不能回答/推導(dǎo)出,但這次討論的問(wèn)題是:
?為什么邏輯回歸損失函數(shù)是交叉熵?
?
初看這個(gè)問(wèn)題感覺(jué)很奇怪,但是其中的知識(shí)包含了LR的推導(dǎo)與理解。在我個(gè)人看來(lái),可以從兩個(gè)角度看待這個(gè)問(wèn)題:
【1】從極大似然估計(jì)的角度可以推導(dǎo)出交叉熵;
【2】從KL散度(熵的角度)去理解;
極大似然估計(jì)
對(duì)于邏輯回歸,我們一般通過(guò)極大似然估計(jì)來(lái)求解參數(shù)。
首先假設(shè)兩個(gè)邏輯回歸的兩個(gè)條件概率:
學(xué)習(xí)時(shí),采用極大似然估計(jì)來(lái)估計(jì)模型的參數(shù),似然函數(shù)為:
對(duì)數(shù)似然函數(shù)(采用對(duì)數(shù)似然函數(shù)是因?yàn)樯鲜龉降倪B乘操作易造成下溢)為:
對(duì)其求最大值,估計(jì)參數(shù):
再將其改為最小化負(fù)的對(duì)對(duì)數(shù)似然函數(shù):
如此,就得到了Logistic回歸的損失函數(shù),即機(jī)器學(xué)習(xí)中的「二元交叉熵」(Binary crossentropy):
此時(shí)轉(zhuǎn)變?yōu)橐载?fù)對(duì)數(shù)似然函數(shù)為目標(biāo)函數(shù)的最優(yōu)化問(wèn)題,采用梯度下降法進(jìn)行優(yōu)化。
KL散度
KL散度這個(gè)概念知道的人可能相對(duì)極大似然估計(jì)更少一點(diǎn),具體可以看機(jī)器學(xué)習(xí)筆記---信息熵。簡(jiǎn)單來(lái)說(shuō),「KL散度是衡量?jī)蓚€(gè)概率分布的差異」。
邏輯回歸模型最后的計(jì)算結(jié)果(通過(guò)sigmoid或softmax函數(shù))是各個(gè)分類(lèi)的概率(可以看做是各個(gè)分類(lèi)的概率分布)。那么假設(shè)真實(shí)的概率分布是,估計(jì)得到的概率分布是, 這兩個(gè)概率分布的距離如何去衡量?
在信息論中,「相對(duì)熵」,也就是KL散度可以衡量?jī)蓚€(gè)概率分布的差異性。具體公式為:
并且簡(jiǎn)單轉(zhuǎn)化,可以得到:
其中對(duì)于就是「交叉熵」,是真實(shí)分布的信息熵,所以
KL散度 = 交叉熵 - 真實(shí)概率分布的熵
因?yàn)榻徊骒卦酱螅琄L散度越大,也可以用交叉熵來(lái)衡量?jī)蓚€(gè)概率分布之間的距離,所以邏輯回歸使用交叉熵作為邏輯回歸的損失函數(shù)。
總結(jié)
以上便是個(gè)人對(duì)這個(gè)問(wèn)題的理解,如果解釋有誤的話,歡迎加我好友進(jìn)行討論。由于個(gè)人考慮到在一篇文章中包含過(guò)多的內(nèi)容和公式可能會(huì)產(chǎn)生疲倦,所以只是集中于單個(gè)問(wèn)題,對(duì)于其他邏輯回歸相關(guān)的面試內(nèi)容,也可以一起交流。
往期精彩回顧
本站qq群851320808,加入微信群請(qǐng)掃碼:
