美文网首页
逻辑回归损失函数不使用MSE的原因

逻辑回归损失函数不使用MSE的原因

作者: CapsulE_07 | 来源:发表于2020-03-22 22:07 被阅读0次

    原因总结:

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

    公式证明

    1. 梯度消失公式证明

    f(x)=\theta x+b,记为 s
    h(s)=\frac{1}{1+e^{-s}} \tag{1.1}
    h'(s) = h(s) (1- h(s))\tag{1.2}
    J(\theta) = \sum_{i=1}^{m}(y_i - h_i(s_i) )^2 \tag{1.3}
    \begin{equation}\begin{split} J'(\theta) &= \sum_{i=1}^{m}(y_i - h_i(s_i) )^2 \\ &=\sum_{i=1}^{m}2(y_i - h_i(s_i) )*(-h'(s))*(\frac {\partial f(\theta)} {\partial \theta}) \\ &= -2 \sum_{i=1}^{m}(y_i - h_i(s_i) )*h(s_i) *(1- h(s_i)))*x_i \\ \end{split}\end{equation} \tag{1.4}
    只关注其中单项的公式,并简化可得:
    L'(\theta) = (y-h)h(1-h)x \tag{1.5}
    可见, 当h趋近于0时或者趋近于1时,该Loss的导数都会趋近为0,从而造成梯度消失现象。

    2. 非凸函数公式证明

    关注L'(\theta) 其二阶导数,可以得出其二阶导数矩阵即Hessian矩阵不是正定矩阵。 该导数是非凸函数,不是凸函数,难以优化。
    \begin{equation}\begin{split} L''(\theta) &= \frac {\partial (y-h)(h-h^2)x} {\partial \theta} \\ &= x \frac {\partial (yh- yh^2 -h^2 + h^3)} {\partial \theta} \\ &= x (y- 2yh -2h +3h^2) \frac{\partial h} {\partial \theta} \\ &= x^2 (y- 2yh -2h +3h^2)h(1-h) \\ \end{split}\end{equation} \tag{1.6}
    h(1-h)(0,1)内都大于0, 假设y=0时,L''(\theta) 则由 3h^2 - 2h决定。
    因为3h^2 - 2h 的根为0, \frac {2}{3},即其在[0,1]范围内有正有负。 从而得出L''(\theta) 有正有负,即为非凸函数。

    附录: Hessian矩阵H性质

    image.png

    相关文章

      网友评论

          本文标题:逻辑回归损失函数不使用MSE的原因

          本文链接:https://www.haomeiwen.com/subject/irqbyhtx.html