交叉熵損失函數的求導(Logistic回歸)


前言

最近有遇到些同學找我討論sigmoid訓練多標簽或者用在目標檢測中的問題,我想寫一些他們的東西,想到以前的博客里躺着這篇文章(2015年讀研時機器學課的作業)感覺雖然不夠嚴謹,但是很多地方還算直觀,就先把它放過來吧。

說明: 本文只討論Logistic回歸的交叉熵,對Softmax回歸的交叉熵類似(Logistic回歸和Softmax回歸兩者本質是一樣的,后面我會專門有一篇文章說明兩者關系,先在這里挖個坑)。 首先,我們二話不說,先放出邏輯回歸交叉熵的公式:

[公式]

以及 [公式] 對參數 [公式] 的偏導數(用於諸如梯度下降法等優化算法的參數更新),如下:

[公式]

但是在大多論文或數教程中,也就是直接給出了上面兩個公式,而未給出推導過程,這就給初學者造成了一定的困惑。交叉熵的公式可以用多種解釋得到,甚至不同領域也會有不同,比如數學系的用極大似然估計,信息工程系的的從信息編碼角度,當然更多是聯合KL散度來解釋。但是我這里假設那些你都不了解的情況下如何用一個更加直白和直觀的解釋來得到Logistic Regression的交叉熵損失函數,說清楚它存在的合理性就可以解惑(關於交叉熵的所謂"正統"解釋后續我會專門寫一篇文章來總結,先挖個坑)。因水平有限,如有錯誤,歡迎指正。

廢話不說,下文將介紹一步步得到Logistic Regression的交叉熵損失函數,並推導出其導數,同時給出簡潔的向量形式及其導數推導過程。

交叉熵損失函數(Logistic Regression代價函數)

我們一共有 [公式] 組已知樣本( [公式] ), [公式] 表示第 [公式] 組數據及其對應的類別標記。其中 [公式][公式] 維向量(考慮偏置項), [公式] 則為表示類別的一個數:

  • logistic回歸(是非問題)中, [公式] 取0或者1;
  • softmax回歸 (多分類問題)中, [公式] 取1,2...k中的一個表示類別標號的一個數(假設共有k類)。

這里,只討論logistic回歸,輸入樣本數據 [公式] ,模型的參數為 [公式] ,因此有

[公式]

二元問題中常用sigmoid作為假設函數(hypothesis function),定義為:

[公式]

因為Logistic回歸問題就是0/1的二分類問題,可以有

[公式]

現在,我們不考慮“熵”的概念,根據下面的說明,從簡單直觀角度理解,就可以得到我們想要的損失函數:我們將概率取對數,其單調性不變,有

[公式]

那么對於第 [公式] 組樣本,假設函數表征正確的組合對數概率為:

[公式]

其中, [公式][公式] 為示性函數(indicative function),簡單理解為{ }內條件成立時,取1,否則取0,這里不贅言。 那么對於一共 [公式] 組樣本,我們就可以得到模型對於整體訓練樣本的表現能力:

[公式]

由以上表征正確的概率含義可知,我們希望其值越大,模型對數據的表達能力越好。而我們在參數更新或衡量模型優劣時是需要一個能充分反映模型表現誤差的損失函數(Loss function)或者代價函數(Cost function)的,而且我們希望損失函數越小越好。由這兩個矛盾,那么我們不妨領代價函數為上述組合對數概率的相反數:

[公式]

上式即為大名鼎鼎的交叉熵損失函數。(說明:如果熟悉“信息熵"的概念 [公式] ,那么可以有助理解叉熵損失函數)

交叉熵損失函數的求導

這步需要用到一些簡單的對數運算公式,這里先以編號形式給出,下面推導過程中使用特意說明時都會在該步驟下腳標標出相應的公式編號,以保證推導的連貫性。

[公式]

[公式]

[公式] (為了方便這里 [公式][公式] ,即 [公式] ,其他底數如2,10等,由換底公式可知,只是前置常數系數不同,對結論毫無影響)

另外,值得一提的是在這里涉及的求導均為矩陣、向量的導數(矩陣微商),這里有一篇教程總結得精簡又全面,非常棒,推薦給需要的同學。

下面開始推導:

交叉熵損失函數為:

[公式]

其中,

[公式]

由此,得到

[公式]

這次再計算 [公式] 對第 [公式] 個參數分量 [公式] 求偏導:

[公式]

這就是交叉熵對參數的導數:

[公式]

 

向量形式

前面都是元素表示的形式,只是寫法不同,過程基本都是一樣的,不過寫成向量形式會更清晰,這樣就會把 [公式] 和求和符號 [公式] 省略掉了。我們不妨忽略前面的固定系數項 [公式] ,交叉墒的損失函數(1)則可以寫成下式:

[公式]

[公式] 帶入,得到:

[公式]

再對 [公式] 求導,前面的負號直接削掉了,

[公式]

 

3 梯度下降參數更新

 

 

 

 

 

轉載請注明出處Jason Zhao的知乎專欄“人工+智能“,文章鏈接:

Jason Zhao:交叉熵損失函數的求導(Logistic回歸)

 


免責聲明!

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



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