简介
机器学习算法的关键一环是模型评估,而损失函数定义了模型的评估指标;可以说,没有损失函数就无法求解模型参数。不同的损失函数优化难度不同,最终得到的模型参数也不同,针对具体的问题需要选取合适的损失函数。
常见损失函数曲线.png损失函数汇总
分类问题 - 损失函数
0-1 损失
0-1损失是指预测值和目标值不相等为1,否则为0;
- 特点:
(1)0-1损失能够直观地刻画分类的错误率,但是由于其非凸、非光滑的特点,使得算法很难直接对该函数进行优化;
(2)感知机 就是用的这种损失函数;
Hinge 损失函数
Hinge损失函数标准形式如下:
- 特点:
(1)hinge损失函数表示如果被分类正确,损失函数为0,否则损失为。支持向量机(SVM) 使用的就是hinge loss;
(2)hinge 损失函数在 处不可导,因此不能用梯度下降法进行优化;
交叉熵损失
交叉熵损失函数标准形式:
- 特点:
(1)本质上是一种对数似然函数,可用于二分类和多分类任务中;
(2)交叉熵损失函数也是0-1损失函数的光滑凸上界;
(3)逻辑回归 使用的就是交叉熵损失函数;
指数损失函数
- 特点:
(1)对离群点、噪声非常敏感;常用在 AdaBoost算法 中。
回归问题 - 损失函数
平方损失函数
- 特点:平方损失函数时光滑函数,能够用梯度下降法进行优化。然而,当预测值距离真实值越远时,平方损失函数的惩罚力度越大,因此它对异常点比较敏感。
绝对值损失
- 特点:相比于平方损失函数,绝对损失函数对异常点更鲁棒一些。但是,绝对损失函数在 处无法求导。
Huber损失函数
Huber损失函数.png- 特点:Huber损失函数在 较小时为平方损失,在 较大时为线性损失,处处可导,且对异常点鲁棒。
参考资料
- 《百面机器学习》 - 诸葛越
- 常见的损失函数(loss function)总结
https://mp.weixin.qq.com/s/DTEM82Oyia4Lx0Hh9gtaxA
网友评论