【机器学习】损失函数

简介

损失函数用来评价模型的预测值和真实值不一样的程度,损失函数值越小,通常模型的性能越好。

损失函数分为经验风险函数(指预测结果和实际结果的差别)和结构风险函数(经验风险函数加正则项)。

函数分类

回归问题

回归问题所对应的损失函数为 $L_1$ 损失函数和 $L_2$ 损失函数。(又称绝对值损失函数和平方损失函数)($w$ 为真实值的权重)

其中,$L_2$ 对于偏离观测值的输出给予很大的惩罚,且是平滑函数,在求解其优化问题时有利于误差梯度的计算。$L_1$ 对偏离真实值的输出没那么敏感,因此在观测中存在异常值时有利于保持模型稳定。

分类问题

0-1 损失函数

指预测值和目标值不相等则为1,否则为0。

该损失函数不考虑预测值和真实值的误差程度,也就是说只要预测错误,预测错误差一点和差很多是一样的。感知机就是用的这种损失函数,但是由于相等这个条件太过严格,我们可以放宽条件,即满足 $|Y−f(X)|<T$时认为相等即判断正确。

对数损失函数

主要在逻辑回归中使用

能够很好的表现概率分布,如果需要知道结果属于每个类别的置信度,那它非常适合。

铰链损失函数(Hinge损失函数)

是一个分段连续函数,其在分类器分类完全正确时取0。使用铰链损失对应的分类器是支持向量机,铰链损失的性质决定了 SVM 具有稀疏性,即分类正确但概率不足1和分类错误的样本被识别为支持向量被用于划分决策边界,其余分类完全正确的样本没有参与模型求解 。

交叉熵损失函数

其中,$x$ 表示样本,$y$ 表示实时的标签,$a$ 表示预测的输出,$n$ 表示样本总数量。

在使用 $sigmoid$ 函数作为激活函数时,常用交叉熵损失函数而非均方差损失函数,能够完美解决平方损失函数权重更新过慢的问题。

Author: iwannaeat
Link: https://iwannaeat.github.io/2020/11/19/【机器学习】损失函数/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.