二元分类为什么不能用MSE做为损失函数?

  统计/机器学习 监督式学习 损失函数    浏览次数: 1694
3

如果预测值为概率,真实值是0、1标签,那么为什么不能用MSE作为训练二元分类的损失函数呢?


 

剪叔   2018-03-05 13:27



   6个回答 
9

不用MSE也是有理论依据的。理论依据来源于surrogate loss function

准确率(accuray)是不连续的,所以需要用连续的函数来代理

红色是Hing Loss,绿色是Log Loss,而浅蓝色是MSE。明显可以看出浅蓝色不是好的代理,所以优化MSE并不能优化模型的准确度。


染盘   2018-03-08 11:13

谢谢!长见识了! - 剪叔   2018-03-09 05:37
5

我的理解是MSE可以作为二元分类的损失函数,但是效果不好。

其实某种意义上也可以将二元分类看做回归问题,即将$y=1$,$y=0$看做实数域上的两个值就可以了,不要想着类别,最终应该也可以得到一个模型,但是效果很差(网络上有人试过,你也可以自己试一试)。

其实机器学习很多问题是很灵活的,对于很多问题,可以考虑不同的模型、损失函数等等,但是当然要具体问题具体分析选择适合他的喽

dzzxjl   2018-03-05 21:16

5

如果要具体地说的话,那是因为用MSE作为二元分类的损失函数会有梯度消失的问题。

给你推导一番:

$loss=\sum^{N}_{i}(y_{i}-\sigma(w^{T}x_{i}))^{2}$    ,其中$\sigma(w^{T}x_{i})=\frac{1}{1+exp(-w^{T}x_{i})}$

$\frac{\partial loss}{\partial w}=\sum^{N}_{i}(-2(y_{i}-\sigma(w^{T}x_{i}))\sigma(w^{T}x_{i})(1-\sigma(w^{T}x_{i}))x_{i})$

因为$\sigma(w^{T}x_{i})$的优化目标是接近$y_{i}$

所以$\sigma(w^{T}x_{i})$和$(1-\sigma(w^{T}x_{i}))$中的一个也会越来越接近0,也就是梯度消失。

而CrossEntropy的梯度是$\sum^{N}_{i}(\sigma(w^{T}x_{i})-y_{i})x_{i}$就没有这个问题。


关于CrossEntropy的梯度用SGD计算逻辑回归时的迭代公式是什么?

nobodyoo1   2018-07-30 16:03

对于正确分类的数据点,CE梯度有一项趋近0,MSE中有两项趋近于0,也就是MSE的梯度消失速度是CE的平方。我觉得梯度消失的问题也不会太严重,因为是正确分类的数据点的梯度才接近0,错误的数据点还是会有较大的梯度。 - Zealing   2018-07-31 00:34
3

CrossEntropy比MSE的优点是:

1.在nobodyoo1中说的,MSE有梯度消失的问题。

2.在Andrew Ng的ppt中(参考),$MSE(y,\sigma(X^Tw))$是non-convex。有很多local minimum。


Zealing   2018-10-09 05:51

2

感觉这就是个常识。均方根误差(MSE)只能用回归,二元分类一般用log loss。

我也不知道有没有什么科学道理。


Robin峰   2018-03-06 11:35

1

之所以用logloss来作为逻辑回归的损失函数,是因为它是通过最大似然估计得到的。

类似地,mse是线性回归的损失函数,也是通过最大似然估计得到的。


Marvin_THU   2018-07-30 14:01



  相关主题

cross entropy是什么意思?   1回答

logloss的取值范围是多少?一般好的分类器能达到多少?   5回答

怎么理解surrogate loss function代理损失函数?   2回答

如何理解GBDT里面“损失函数的负梯度在当前模型的值,可以作为残差的估计”?   1回答

Hamming Loss汉明损失的计算公式是什么?   1回答

python求logloss   1回答

hinge loss的公式是什么?   1回答

Gini指数、Gini系数、Gini不纯是一回事吗?   2回答

LR中若标签为+1和-1,损失函数如何推导,求大佬解答   3回答

逻辑回归的损失函数是怎么来的   2回答

用SGD计算逻辑回归时的迭代公式是什么?   2回答

huber loss是什么?什么时候用?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!