【机器学习基础】交叉熵(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

相关文章
相关标签/搜索