在统计学中,损失函数是一种衡量损失和错误程度的函数.建设某样本的实际输出为a,而预计的输出为y,则y和a之间可能会不一样,存在偏差,深度学习的目的就是通过不断地训练迭代,使得a越来越接近y,即,而训练的本质就是寻找损失函数最小值的过程.
常见的损失函数有两种,一种是均方差函数,另一种是交叉熵函数,对于深度学习而言,交叉熵函数要优于均方差函数,原因在于交叉熵函数配合输出层的激活函数如sigmoid或softmax函数能更快地加速深度学习的训练速度.这是为什么呢?
第一种损失函数, 均方差函数(Mean Squared Error),定义如下。
平方差很好理解,预测值与真实值直接相减,为了避免得到负数取绝对值或者平方,再做平均就是均方平方差。注意这里预测值需要经过sigmoid激活函数,得到取值范围在(0,1)之间的预测值。sigmoid激活函数定义如下:
平方差可以表达预测值与真实值的差异,但在分类问题种效果并不如交叉熵好,原因可以参考相关论文(https://jamesmccaffrey.wordpress.com/2013/11/05/why-you-should-use-cross-entropy-error-instead-of-classification-error-or-mean-squared-error-for-neural-network-classifier-training/) 。交叉熵的定义如下,