0x00 概要
邏輯回歸(logistic regression)在機器學習中是非常經典的分類方法,周志華教授的《機器學習》書中稱其為對數幾率回歸,因為其屬於對數線性模型。
在算法面試中,邏輯回歸也經常被問到,常見的面試題包括:
- 邏輯回歸推導;
- 邏輯回歸如何實現多分類?
- SVM與LR的聯系與區別?
- 邏輯回歸反向傳播偽代碼;
大家可以思考下能不能回答/推導出,但這次討論的問題是:
為什么邏輯回歸損失函數是交叉熵?
初看這個問題感覺很奇怪,但是其中的知識包含了LR的推導與理解。在我個人看來,可以從兩個角度看待這個問題:
''' 【1】從極大似然估計的角度可以推導出交叉熵;
【2】從KL散度(熵的角度)去理解; '''
0x01 極大似然估計
對於邏輯回歸,我們一般通過極大似然估計來求解參數
首先假設兩個邏輯回歸的兩個條件概率:
學習時,采用極大似然估計來估計模型的參數,似然函數為:
對數似然函數(采用對數似然函數是因為上述公式的連乘操作易造成下溢)為:
對其求最大值,估計參數:
再將其改為最小化負的對對數似然函數:
如此,就得到了Logistic回歸的損失函數,即機器學習中的「二元交叉熵」(Binary crossentropy):
此時轉變為以負對數似然函數為目標函數的最優化問題,采用梯度下降法進行優化。
0x02 KL散度
KL散度這個概念知道的人可能相對極大似然估計更少一點,具體可以看機器學習筆記---信息熵。
簡單來說,「KL散度是衡量兩個概率分布的差異」。
邏輯回歸模型最后的計算結果(通過sigmoid或softmax函數)是各個分類的概率(可以看做是各個分類的概率分布)。那么假設真實的概率分布是,估計得到的概率分布是, 這兩個概率分布的距離如何去衡量?在信息論中,「相對熵」,也就是KL散度可以衡量兩個概率分布的差異性。具體公式為:
並且簡單轉化,可以得到:
因為交叉熵越大,KL散度越大,也可以用交叉熵來衡量兩個概率分布之間的距離,所以邏輯回歸使用交叉熵作為邏輯回歸的損失函數。
0x03 轉載
https://mp.weixin.qq.com/s/LPfrzLCVBj3SUQAf9fnlmA