先放结论:
- MSE作为分类的损失函数会有梯度消失的问题。
- MSE是非突的,存在很多局部极小值点。
我们就以最简单的分类模型:逻辑回归来举例子:f_{w,b}(x)=\sigma(\sum_{i}^{}w_{i}x_{i}+b)\\
训练数据 (x^{n},y^{n}) ,y^{n} =0表示类别0,y^{n} =1表示类别1
当采用MSE作为损失函数的时候,有
L=\frac{1}{2}\sum_{}^{n}{(y_{n}-f_{w,b}(x_{n}))^2}\\
对 w 进行求导有
\frac{\vartheta (y_{i}-f_{w,b}(x_{i}))}{\vartheta w_{i}}^2=2(y_{i}-f_{w,b}(x_{i}))f_{w,b}(x_{i})(1-f_{w,b}(x_{i}))x_{i}\\
当 y_{i}=1 的时候,
如果 f_{w,b}(x_{i})=1 ,那么 \frac{\vartheta L}{\vartheta w_{i}}=0
如果 f_{w,b}(x_{i})=0 ,那么 \frac{\vartheta L}{\vartheta w_{i}}=0
当 f_{w,b}(x_{i}) 越接近于 y_{i} 的时候,梯度越接近于0,发生了梯度消失。
当采用CE作为损失函数的时候,有
L=-ylogf_{w,b}(x)\\
求导
\frac{\vartheta L}{\vartheta w_{i}}=-\frac{y}{f_{w,b}(x)}f_{w,b}(x)(1-f_{w,b}(x))x_{i}=-y(1-f_{w,b}(x))x_{i}\\
没有任何问题!
softmax也是一样的意思,详情看参考2
参考:
原文地址:https://zhuanlan.zhihu.com/p/114438894 |