Logistic 回归与均方误差 (MSE)

逻辑回归 (Logistic Regression)通常选用对数损失函数,而基本不用均方误差 (MSE) 作为损失函数。这是因为逻辑回归+均方误差会让损失函数非凸
下面做一下简单的证明:

  1. 逻辑回归 (Logistic Regression):
    $$\delta(x)=\mathrm{sigmoid}(x)=\frac{1}{1+\mathrm{e}^{-wx}}$$

  2. 逻辑回归 (Logistic Regression)的导数:

$$\frac{\partial \delta(x)}{\partial w}=x\delta(x)(1-\delta(x))$$

  1. 逻辑回归的均方误差 (MSE):
    $$J(x)=(y-\delta(x))^2$$

  2. 凸函数的性质: 一元二阶可微的函数在区间上是凸的,当且仅当它的二阶导数是非负的;这可以用来判断某个函数是不是凸函数。如果它的二阶导数是正数,那么函数就是严格凸的,但反过来不成立。

$$
\begin{equation}\begin{split}
\frac{\partial{J(x)}}{\partial w}&=2(y-\delta(x))\frac{\partial \delta(x)}{\partial w}\\
&=2x(y-\delta(x))\delta(x)(1-\delta(x))\\
&=2x[\delta(x)^3-(1+y)\delta(x)^2+y\delta(x)]\\
\\
\frac{\partial^2{J(x)}}{\partial w^2}&=2x^2\delta(x)(1-\delta(x))[3\delta(x)^2-2(1+y)\delta(x)+y]
\end{split}\end{equation}
$$

由于$\delta(x)\in (0,1)$,故:

  • $2x^2\delta(x)(1-\delta(x)) > 0$

令$H(x)=3\delta(x)^2-2(1+y)\delta(x)+y$,由于$y\in [0, 1]$

  • 当 $y=0$, $H(x)=3\delta(x)^2-2\delta(x)$,即 $0\lt \delta(x)\lt \frac{2}{3}$ 时,$H(x)\lt0$;
  • 当 $y=1$, $H(x)=3\delta(x)^2-4\delta(x)+1$,即 $\frac{1}{3}\lt \delta(x)\lt 1$ 时,$H(x)\lt0$;

故,$J(x)$ 是非凸函数


最后,在 Desmos 上可以预览 Logistic 回归的 MSE 损失函数曲线图 ($y={0, 1}$):

而作为对比,Logistic 回归对数损失函数就是凸函数:

参考链接

  1. Why not Mean Squared Error(MSE) as a loss function for Logistic Regression?
  2. 维基百科-凸函数
坚持原创技术分享,您的支持将鼓励我继续创作!