二次代價函數和softmax交叉熵損失函數原理及分析

首先看一下二次代價函數:

以二分類問題,常見的sigmoid激活函數爲例,假設x表示輸入值,y表示真實標籤(0或1),a表示預測輸出,則二次代價函數可表示爲:

C=\frac{(y-a)^2}{2}

其中a=\sigma (z)=\sigma (wx+b)=\frac{1}{1-e^{-x}}

那麼代價函數對權重w和偏置b的偏導數分別爲:

\frac{\partial C}{\partial w}=(\sigma (z)-y)\cdot \sigma '(z)\cdot x

\frac{\partial C}{\partial b}=(\sigma (z)-y)\cdot \sigma '(z)

從上式可以分析:當代價較大即輸入輸出差別較大時,\sigma (z)的值趨於0或1,此時\sigma '(z)的值趨於0,既權重w和偏置b的梯度趨於0。這與我們所期望的當代價較大即輸入輸出差別較大時,以較大的梯度下降更新權重w和偏置b相違背。

再看交叉熵損失函數:

同樣以二分類問題爲例,損失函數爲:

C=-(yln(a)+(1-y)ln(1-a))

簡單分析一下:當y爲1時,上式變爲:C=-ln(a),當預測結果越接近真實標籤時損失越小。當y爲0時,上式變爲:C=-ln(1-a),當預測結果越接近真實標籤時同樣損失越小。這麼看來交叉熵函數具有作爲損失函數的性質。

接下來先推導一下交叉熵損失函數是怎麼來的,再從導數角度分析其作爲損失函數的可行性:

首先sigmoid函數的輸出可以表徵預測標籤的概率,假設預測標籤爲1的概率表示爲a=P(y=1|x),那麼預測標籤爲0的概率則爲1-a=P(y=0|x)。根據最大似然估計,有:

P(y|x)=a^y\cdot (1-a)^{(1-y)}

我們希望P(y|x)最大,對其取對數,再取負數,有:

C=-ln(P(y|x))=-(yln(a)+(1-y)ln(1-a))

即變成最小化C的問題,這便是交叉熵損失函數推導過程。

再看交叉熵損失函數對權重w和偏置b的偏導數,分別爲:

\frac{\partial C}{\partial w}=-\left [ \frac{y}{\sigma (z)}\cdot \sigma '(z)-\frac{1-y}{1-a}\cdot \sigma '(z)]\cdot \frac{\partial z}{\partial w}\right ]=\left [ \frac{\sigma (z)-y}{\sigma (z)\left ( 1-\sigma (z) \right )}\cdot \sigma '(z) \right ]\cdot x

\sigma '(z)=\sigma (z)\left ( 1-\sigma (z) \right )帶入上式,得:

\frac{\partial C}{\partial w}=x\left [ \sigma (z)-y \right ]

同理得:\frac{\partial C}{\partial b}=\sigma (z)-y

從上式可以分析:當代價較大即輸入輸出差別較大時,權重w和偏置b的梯度越大。這與我們所期望的當代價較大時以較大的梯度下降更新權重w和偏置b相符。因此,相比二次代價函數交叉熵損失函數更好。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章