大家好,这里是好评笔记,本文为试读,查看全文请移步公主号:Goodnote。本笔记介绍机器学习中常见的损失函数和代价函数,各函数的使用场景。
损失函数
一、回归问题中的损失函数
1. 均方误差(Mean Squared Error, MSE)
定义:
- 描述:MSE 衡量的是预测值和真实值之间的平方误差的平均值。对较大的误差会进行更大的惩罚,因此它对异常值(outliers)非常敏感。
- 应用场景:线性回归、岭回归等模型的损失函数。
- 优点:简单易于理解,容易求导和计算。
- 缺点:对异常值敏感,可能导致模型被少数异常样本主导。
2. 平均绝对误差(Mean Absolute Error, MAE)
定义:
- 描述:MAE 衡量的是预测值和真实值之间的绝对误差的平均值。它对每个误差的惩罚是线性的,因此对异常值的惩罚不如 MSE 严重。
- 应用场景:在对异常值不敏感的回归任务中使用。
- 优点:对异常值不敏感,能够更加稳定地反映模型性能。
- 缺点:在优化过程中,绝对值函数不可导,求解困难。
3. 对数余弦损失(Log-Cosh Loss)
定义:
- 描述:对数余弦损失是Huber 损失的变体,它的行为类似于 MAE,同时对大误差有更小的增长率。
- 应用场景:适用于异常值影响较大的回归任务。
- 优点:具有平滑性,易于求导,对小误差敏感而对大误差鲁棒。
- 缺点:相比其他损失函数计算复杂度较高。
总结
| 损失函数 | 描述 | 应用场景 | 优点 | 缺点 |
|---|---|---|---|---|
| 均方误差 (MSE) | 衡量预测值和真实值之间平方误差的平均值,对较大误差进行更大惩罚。 | 线性回归、岭回归等 | 简单易于理解,容易求导。 | 对异常值敏感。 |
| 平均绝对误差 (MAE) | 衡量预测值和真实值之间绝对误差的平均值。 | 对异常值不敏感的回归任务 | 对异常值不敏感,反映模型性能更稳定。 | 优化困难,绝对值函数不可导。 |
| 对数余弦损失 (Log-Cosh) | Huber 损失的变体,既能捕捉小误差,也对大误差有更小的增长率。 | 异常值影响较大的回归任务 | 平滑性好,易于求导,适应大误差和小误差。 | 计算复杂度高。 |
| Huber 损失 (Huber Loss) | 结合MSE和MAE,小误差时使用 MSE,大误差时使用 MAE,平衡异常值的影响。 | 存在异常值但不希望完全忽略的场景 | 对小误差敏感,对大误差有抗干扰性。 | 需调节参数 (delta)。 |
| 平均平方对数误差 (MSLE) | 衡量目标值差异大且有指数增长趋势的情况,关注相对误差而非绝对误差。 | 人口增长预测、市场销量预测等 | 对大数值预测更稳定,适应有比例关系的数据。 | 对极小值目标效果不佳。 |
二、分类问题中的损失函数
1. 0-1 损失(0-1 Loss)
定义:
- 描述:0-1 损失表示分类是否正确,0 为正确分类,1 为错误分类。它无法直接用于模型优化,只能用于评价模型性能。
- 应用场景:模型性能的评估,如准确率(Accuracy)的计算。
- 优点:简单直观,能够清晰判断分类是否正确。
- 缺点:不可导,无法用于梯度优化。
2. 对数损失(Log Loss)或交叉熵损失(Cross-Entropy Loss)
详细全文请移步公主号:Goodnote。