機器學習筆記之為什么邏輯回歸的損失函數是交叉熵


0x00 概要

邏輯回歸(logistic regression)在機器學習中是非常經典的分類方法,周志華教授的《機器學習》書中稱其為對數幾率回歸,因為其屬於對數線性模型。

在算法面試中,邏輯回歸也經常被問到,常見的面試題包括:

  1. 邏輯回歸推導;
  2. 邏輯回歸如何實現多分類?
  3. SVM與LR的聯系與區別?
  4. 邏輯回歸反向傳播偽代碼;

大家可以思考下能不能回答/推導出,但這次討論的問題是:

為什么邏輯回歸損失函數是交叉熵?

初看這個問題感覺很奇怪,但是其中的知識包含了LR的推導與理解。在我個人看來,可以從兩個角度看待這個問題:

'''
【1】從極大似然估計的角度可以推導出交叉熵;
【2】從KL散度(熵的角度)去理解;
'''

 

0x01 極大似然估計

對於邏輯回歸,我們一般通過極大似然估計來求解參數

首先假設兩個邏輯回歸的兩個條件概率:

學習時,采用極大似然估計來估計模型的參數,似然函數為:

對數似然函數(采用對數似然函數是因為上述公式的連乘操作易造成下溢)為:

對其求最大值,估計參數

再將其改為最小化負的對對數似然函數:

 如此,就得到了Logistic回歸的損失函數,即機器學習中的「二元交叉熵」(Binary crossentropy):

 此時轉變為以負對數似然函數為目標函數的最優化問題,采用梯度下降法進行優化。

 

0x02 KL散度

KL散度這個概念知道的人可能相對極大似然估計更少一點,具體可以看機器學習筆記---信息熵。

簡單來說,「KL散度是衡量兩個概率分布的差異」

邏輯回歸模型最后的計算結果(通過sigmoid或softmax函數)是各個分類的概率(可以看做是各個分類的概率分布)。那么假設真實的概率分布是,估計得到的概率分布是, 這兩個概率分布的距離如何去衡量?在信息論中,「相對熵」,也就是KL散度可以衡量兩個概率分布的差異性。具體公式為:

 

 並且簡單轉化,可以得到:

 

 因為交叉熵越大,KL散度越大,也可以用交叉熵來衡量兩個概率分布之間的距離,所以邏輯回歸使用交叉熵作為邏輯回歸的損失函數。

 

0x03 轉載

https://mp.weixin.qq.com/s/LPfrzLCVBj3SUQAf9fnlmA

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM