之所以會有這個問題,是因為在學習 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\) 為真實值)
直觀解釋
簡單點的解釋是,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
