之所以会有这个问题,是因为在学习 logistic regression 时,《统计机器学习》一书说它的负对数似然函数是凸函数,而 logistic regression 的负对数似然函数(negative log likelihood)和 交叉熵函数(cross entropy)具有一样的形式。

先给出结论,logistic regression 时,cross entropy 是凸的,但多层神经网络时,cross entropy 不是凸的。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

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

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄