MSE
转载自:损失函数 - MSE[1]
数理统计中均方误差是指参数估计值与参数值之差平方的期望值,记为MSE。MSE是衡量“平均误差”的一种较方便的方法,MSE可以评价数据的变化程度,MSE的值越小,说明预测模型描述实验数据具有更好的精确度。
SSE(和方差)
在统计学中,该参数计算的是拟合数据和原始对应点的误差的平方和,计算公式为:
其中是真实数据,是拟合的数据, ,从这里可以看出SSE接近于0,说明模型选择和拟合更好,数据预测也越成功。
缺点:
使用MSE的一个缺点就是其偏导值在输出概率值接近0或者接近1的时候非常小,这可能会造成模型刚开始训练时,偏导值几乎消失。
假设我们的MSE损失函数为:,偏导为:
,其中为。可以看出来,在值接近0或者1的时候,的值都会接近于0,其函数图像如下,这导致模型在一开始学习的时候速率非常慢,而使用交叉熵作为损失函数则不会导致这样的情况发生。
举例说明:
预测政治倾向例子:
我们希望根据一个人的年龄、性别、年收入等相互独立的特征,来预测一个人的政治倾向,有三种可预测结果:民主党、共和党、其他党。假设我们当前有两个逻辑回归模型(参数不同),这两个模型都是通过sigmoid的方式得到对于每个预测结果的概率值:
模型1:
对于样本1和样本2以非常微弱的优势判断正确,对于样本3的判断则彻底错误。
模型2:
对于样本1和样本2判断非常准确,对于样本3判断错误,但是相对来说没有错得太离谱。
好了,有了模型之后,我们需要通过定义损失函数来判断模型在样本上的表现了,那么我们可以定义哪些损失函数呢?
分析方法:
- 1. Classification Error(分类错误率)
最为直接的损失函数定义为:
模型1:cls error = 1/3
模型2:cls error = 1/3
我们知道,模型1和模型2虽然都是预测错了1个,但是相对来说模型2表现得更好,损失函数值照理来说应该更小,很遗憾的是,classification error 并不能判断出来,所以这种损失函数虽然好理解,但表现不太好。
- 2. Mean Squared Error (均方误差)
均方误差损失也是一种比较常见的损失函数,其定义为:
模型1:
对所有样本的loss求平均:
模型2:
对所有样本的loss求平均:
我们发现,MSE能够判断出来模型2优于模型1,那为什么不采样这种损失函数呢?主要原因是逻辑回归配合MSE损失函数时,采用梯度下降法进行学习时,会出现模型一开始训练时,学习速率非常慢的情况。
有了上面的直观分析,我们可以清楚的看到,对于分类问题的损失函数来说,分类错误率和均方误差损失都不是很好的损失函数,下面我们来看一下交叉熵损失函数的表现情况。
Cross Entropy Error Function(交叉熵损失函数)
转载自损失函数 - 交叉熵损失函数[2]
二分类
在二分的情况下,模型最后需要预测的结果只有两种情况,对于每个类别我们的预测得到的概率为和 。此时表达式为:
其中:
- —— 表示样本i的label,正类为1,负类为0
- —— 表示样本i预测为正的概率
现在我们利用这个表达式计算上面例子中的损失函数值:
模型1:
对所有样本的loss求平均:
模型2:
对所有样本的loss求平均:
函数图像:
多分类
多分类的情况实际上就是对二分类的扩展:
其中:
- ——类别的数量;
- ——指示变量(0或1),如果该类别和样本i的类别相同就是1,否则是0;
- ——对于观测样本i属于类别的预测概率。
优缺点
4.1 优点
在用梯度下降法做参数更新的时候,模型学习的速度取决于两个值:一、学习率;二、偏导值。其中,学习率是我们需要设置的超参数,所以我们重点关注偏导值。从上面的式子中,我们发现,偏导值的大小取决于和,我们重点关注后者,后者的大小值反映了我们模型的错误程度,该值越大,说明模型效果越差,但是该值越大同时也会使得偏导值越大,从而模型学习速度更快。所以,使用逻辑函数得到概率,并结合交叉熵当损失函数时,在模型效果差的时候学习速度比较快,在模型效果好的时候学习速度变慢。
4.2 缺点
Deng [3]在2019年提出了ArcFace Loss,并在论文里说了Softmax Loss的两个缺点:1、随着分类数目的增大,分类层的线性变化矩阵参数也随着增大;2、对于封闭集分类问题,学习到的特征是可分离的,但对于开放集人脸识别问题,所学特征却没有足够的区分性。对于人脸识别问题,首先人脸数目(对应分类数目)是很多的,而且会不断有新的人脸进来,不是一个封闭集分类问题。
另外,sigmoid(softmax)+cross-entropy loss 擅长于学习类间的信息,因为它采用了类间竞争机制,它只关心对于正确标签预测概率的准确性,忽略了其他非正确标签的差异,导致学习到的特征比较散。基于这个问题的优化有很多,比如对softmax进行改进,如L-Softmax、SM-Softmax、AM-Softmax等。
Reference
[1]损失函数 - MSE
[3] Deng, Jiankang, et al. "Arcface: Additive angular margin loss for deep face recognition." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019.