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


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

先給出結論,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 矩陣半正定。證明看上述鏈接。

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

logistic regression 為什么還用梯度下降法求解呢,不直接求解析解?

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

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的回答 - 知乎
凸還是非凸?交叉熵在softmax和neural network中的不同凸性 -- RHONYN


免責聲明!

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



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