【機器學習基礎】交叉熵(cross entropy)損失函數是凸函數嗎?

之因此會有這個問題,是由於在學習 logistic regression 時,《統計機器學習》一書說它的負對數似然函數是凸函數,而 logistic regression 的負對數似然函數(negative log likelihood)和 交叉熵函數(cross entropy)具備同樣的形式。html

先給出結論,logistic regression 時,cross entropy 是凸的,但多層神經網絡時,cross entropy 不是凸的。網絡

logistic regression 時,cross entropy 是凸的:

Why is the error function minimized in logistic regression convex? -- Deepak Roy Chittajallu機器學習

多層神經網絡(MLP)時,cross entropy 不是凸的:(確定不是凸的啊,否則調參哪來這麼多問題)

Cost function of neural network is non-convex? - Cross Validated函數

cross entropy 損失函數:(\(\hat{y}\) 爲預測值,\(y\) 爲真實值)

\[-y \log \hat{y}-(1-y) \log (1-\hat{y})\]學習

直觀解釋

簡單點的解釋是,logistic regression 時,證實兩個凸函數相加仍是凸函數,由於 \(y\) 不是 0 就是 1,那就要證實此時 \(- \log \hat{y}\)\(- \log (1-\hat{y})\) 關於 \(w\) 都是凸函數,也就是證實 Hessian 矩陣半正定。證實看上述連接。spa

而 MLP 時,給出直觀解釋是,在神經網絡的某一隱藏層交換兩個神經元的權重,最後輸出層獲得的值不會變,這就說明若是有一個最優解,那交換神經元權重後,解仍然是最優的,那麼此時就存在兩個最優解了,那就不是凸函數了。htm

logistic regression 爲何還用梯度降低法求解呢,不直接求解析解?

在令 cross entropy 一階導數爲 0 時,就會發現沒法將權重 \(w\) 提到等式左邊,即沒法寫成 \(w = 式子\) 這種形式,因此雖然有等式約束,但直接求解析解仍是挺困難。因此梯度降低法、牛頓法、擬牛頓法經常使用來求解 logistic regression。blog

References

Why is the error function minimized in logistic regression convex? -- Deepak Roy Chittajallu
Cost function of neural network is non-convex? - Cross Validated
Logistic迴歸能有解析解嗎? - Zzzzzzzz的回答 - 知乎get

相關文章
相關標籤/搜索