机器学习中常见的损失函数
回归任务损失函数(Regression Losses)
均方误差(MSE, Mean Squared Error)
均方误差是回归任务中最常用的损失函数之一。它计算预测值与实际值之间差异的平方和的平均值。公式如下:
其中,
MSE 的优点是对大误差有较强的惩罚作用,因为误差被平方了。这使得模型在训练时更倾向于减少大误差。 然而,MSE 对异常值非常敏感,因为异常值的平方会显著增加总损失。
平均绝对误差(MAE, Mean Absolute Error)
平均绝对误差是另一种常用的回归损失函数。它计算预测值与实际值之间差异的绝对值的平均值。公式如下:
MAE 的优点是对异常值不如 MSE 敏感,因此在数据中存在异常值时,MAE 可能更合适。然而,MAE 在梯度下降时可能导致不稳定的梯度,因为绝对值函数在零点处不可导。
Huber 损失函数
Huber 损失函数结合了 MSE 和 MAE 的优点。它在误差小于某个阈值时使用 MSE,在误差大于该阈值时使用 MAE。公式如下:
其中,
分类任务损失函数(Classification Losses)
交叉熵损失(Cross-Entropy Loss)
交叉熵损失是分类任务中最常用的损失函数。它衡量了预测分布与实际分布之间的差异。对于二分类问题,交叉熵损失的公式如下:
对于多分类问题,交叉熵损失的公式为:
其中,
二元交叉熵损失(Binary Cross-Entropy Loss)
二元交叉熵损失是交叉熵损失的特例,专门用于二分类问题。它的公式与上述二分类交叉熵损失相同,但通常使用 Sigmoid 函数将输出转换为概率值。
类别平衡交叉熵损失(Class-Balanced Cross-Entropy Loss)
类别平衡交叉熵损失是一种改进的交叉熵损失,旨在处理类别不平衡问题。它通过为每个类别分配不同的权重来平衡损失。公式如下:
其中,
Focal Loss
Focal Loss 是一种用于处理类别不平衡问题的损失函数。它在交叉熵损失的基础上引入了一个调节因子,使得模型更关注难以分类的样本。公式如下:
其中,
Kullback-Leibler 散度(KL Divergence)
Kullback-Leibler散度是一种衡量两个概率分布之间差异的损失函数。它通常用于变分自编码器等模型中。公式如下:
KL散度的优点是它可以处理连续分布,并且在概率分布之间的差异较大时具有较强的惩罚作用。然而,它对零概率事件非常敏感,因此在实际应用中需要小心处理。
其他常见损失函数
Wasserstein距离
Wasserstein距离是一种衡量两个概率分布之间差异的距离度量。它基于最优传输理论,能够更好地捕捉分布之间的差异,尤其是在高维空间中。
Wasserstein 距离的定义如下:
其中,
而且相比于KL散度,Wasserstein是真正的距离度量,满足三角不等式和对称性。
Wasserstein 损失函数(Wasserstein Loss)
Wasserstein损失函数是一种用于生成对抗网络(GAN)的损失函数。它基于 Wasserstein距离,能够更好地处理生成模型中的模式崩溃问题。公式如下:
其中,