LR为什么不可以用MSE作为损失函数

原因总结:

  1. MSE 会有梯度消失现象
  2. MSE 的导数非凸函数,求解最优解困难

证明:

1. 梯度消失公式证明:

f(x)=\theta x+b ,记为 s

只关注其中单项的公式,并简化可得:

可见, 当 h 趋近于 0 时或者趋近于 1 时,该 Loss 的导数都会趋近为 0,从而造成梯度消失现象。

2. 非凸函数公式证明

关注L{}'(\theta) 其二阶导数,可以得出其二阶导数矩阵即 Hessian 矩阵不是正定矩阵。 该导数是非凸函数,不是凸函数,难以优化。

h(1-h) 在(0,1)内都大于 0, 假设 y=0 时, L{}''(\theta)则由3h^2-2h 决定。
因为3h^2-2h 的根为0, \frac{2}{3}, 即其在 [0,1] 范围内有正有负。 从而得出 L{}''(\theta)有正有负,即为非凸函数。

参考:https://www.jianshu.com/p/af1e5cff21b9

猜你喜欢

转载自blog.csdn.net/Matrix_cc/article/details/105610513