从梯度消失角度讲
s
i
g
m
o
i
d
:
σ
(
z
)
=
1
1
+
e
−
z
sigmoid: \sigma(z) = \frac{1}{1+e^{-z}}
sigmoid:σ(z)=1+e−z1
如图所示,sigmiod函数在z值很大或很小的时候几乎不变,也就是梯度接近零,如果用最小二乘不会解决这个梯度消失问题,故不选择最小二乘损失。
那为什么交叉熵损失却可以呢?因为-log抵消掉了exp! 其实此时的交叉熵损失等同于使用最大似然来学习一个由sigmoid参数化的Bernoulli分布,它的损失函数推导如下:
从分类和回归任务的区别讲
我们可以像线性回归那样使用最小二乘损失函数 ∣ ∣ y ^ − y ∣ ∣ 2 ||{\hat {y}-y}||^2 ∣∣y^−y∣∣2,然而想要预测分类结果正确,我们其实并不需要预测概率完全等于标签概率,也无需关心错误标签的预测概率是多少,我们只关心正确标签的预测概率越大越好,就可以确保分类结果正确。我们交叉熵损失时,真实标签打成one-hot形式,只计算了对应类别是1的那一项,其他为零的类不考虑。嗯,这就是另一种原因。
欢迎交流,谢谢指正!
参考:花书