简介
损失函数用来评价模型的预测值和真实值不一样的程度,损失函数值越小,通常模型的性能越好。
损失函数分为经验风险函数(指预测结果和实际结果的差别)和结构风险函数(经验风险函数加正则项)。
函数分类
回归问题
回归问题所对应的损失函数为 L1 损失函数和 L2 损失函数。(又称绝对值损失函数和平方损失函数)(w 为真实值的权重)
L1 loss:L(y,ˆy)=w(θ)|ˆy−y|L2 loss:L(y,ˆy)=w(θ)(ˆy−y)2其中,L2 对于偏离观测值的输出给予很大的惩罚,且是平滑函数,在求解其优化问题时有利于误差梯度的计算。L1 对偏离真实值的输出没那么敏感,因此在观测中存在异常值时有利于保持模型稳定。
分类问题
0-1 损失函数
指预测值和目标值不相等则为1,否则为0。
L(Y,f(X))={1, Y≠f(X)0, Y=f(X)该损失函数不考虑预测值和真实值的误差程度,也就是说只要预测错误,预测错误差一点和差很多是一样的。感知机就是用的这种损失函数,但是由于相等这个条件太过严格,我们可以放宽条件,即满足 |Y−f(X)|<T时认为相等即判断正确。
L(Y,f(X))={1, |Y−f(X)|≥T0, |Y−f(X)|<T对数损失函数
主要在逻辑回归中使用
L(Y,P(Y|X))=−logP(Y|X)能够很好的表现概率分布,如果需要知道结果属于每个类别的置信度,那它非常适合。
铰链损失函数(Hinge损失函数)
是一个分段连续函数,其在分类器分类完全正确时取0。使用铰链损失对应的分类器是支持向量机,铰链损失的性质决定了 SVM 具有稀疏性,即分类正确但概率不足1和分类错误的样本被识别为支持向量被用于划分决策边界,其余分类完全正确的样本没有参与模型求解 。
L(Y,f(X))=max(0,1−Yf(x))交叉熵损失函数
C=−1n∑x[ylna+(1−y)ln(1−a)]其中,x 表示样本,y 表示实时的标签,a 表示预测的输出,n 表示样本总数量。
在使用 sigmoid 函数作为激活函数时,常用交叉熵损失函数而非均方差损失函数,能够完美解决平方损失函数权重更新过慢的问题。