回归损失和分类损失是机器学习模型训练过程中常用的两类损失函数,分别适用于回归任务和分类任务。
回归损失函数
回归任务的目标是预测一个连续值,因此回归损失函数衡量预测值与真实值之间的差异。常见的回归损失函数有:
-
均方误差(Mean Squared Error, MSE):
- 计算预测值与真实值之间差的平方的平均值。
- 对于误差较大的样本,MSE 会给予更高的惩罚,因此对异常值较为敏感。
- 数学表达式:
-
均方根误差(Root Mean Squared Error, RMSE):
- 是均方误差的平方根,具有与预测值和真实值相同的单位。
- 数学表达式:
-
平均绝对误差(Mean Absolute Error, MAE):
- 计算预测值与真实值之间绝对差的平均值。
- MAE 对异常值不如 MSE 敏感。
- 数学表达式:
-
Huber损失(Huber Loss):
- 结合了MSE和MAE的优点,对异常值具有一定的鲁棒性。
- 数学表达式:
分类损失函数
分类任务的目标是预测一个类别标签,因此分类损失函数衡量预测的概率分布与真实标签分布之间的差异。常见的分类损失函数有:
-
二元交叉熵(Binary Cross-Entropy, BCE):
- 适用于二分类问题。
- 衡量真实标签与预测概率之间的差异。
- 数学表达式:
-
多元交叉熵(Categorical Cross-Entropy, CCE):
- 适用于多分类问题。
- 衡量真实标签的一个热编码与预测概率分布之间的差异。
- 数学表达式:
-
稀疏分类交叉熵(Sparse Categorical Cross-Entropy, SCCE):
- 适用于多分类问题,但真实标签不是一个热编码,而是一个整数索引。
- 数学表达式与CCE相同,但真实标签是整数索引而不是一个热编码。
-
Kullback-Leibler散度(Kullback-Leibler Divergence, KL Divergence):
- 衡量两个概率分布之间的差异。
- 常用于强化学习和生成模型中。
- 数学表达式:其中 P是真实分布, Q是预测分布。
选择损失函数的建议
- 如果你的任务是预测连续值,选择回归损失函数,如 MSE 或 MAE。
- 如果你的任务是分类,选择分类损失函数,如 BCE 或 CCE。
- 具体选择哪种损失函数,还需根据任务的特点和数据的分布来确定。MSE 对异常值敏感,而 MAE 较为鲁棒;交叉熵损失函数适用于概率预测,而 KL 散度则适用于比较概率分布。