5个有用的损失函数

5 Useful Loss Functions

作者提供图片

在机器学习中,损失函数是一个数学公式,用于计算模型预测输出与实际输出之间的差异。然后,损失函数用于稍微改变模型权重,然后检查其是否提高了模型的性能。机器学习算法的目标是最小化损失函数,以做出准确的预测。

在本篇博客中,我们将学习用于分类和回归机器学习算法的 5 种最常用的损失函数。 
 

1. 二元交叉熵损失

二元交叉熵损失,或对数损失,是二元分类中常用的损失函数。它计算预测概率与实际标签之间的差异。二元交叉熵损失广泛用于垃圾邮件检测、情感分析或癌症检测,其目标是区分两个类别。

二元交叉熵损失函数定义为

L(y, ŷ) = - (y * log(ŷ) + (1-y) * log(1-ŷ))

其中 y 是实际标签(0 或 1),ŷ 是预测概率。

在此公式中,损失函数会根据预测概率 ŷ 与实际目标值 y 的差距来惩罚模型。

2. Hinge 损失

Hinge 损失是另一种通常用于分类问题的损失函数。它通常与支持向量机(SVM)相关联。Hinge 损失通过边距计算预测输出与实际标签之间的差异。

Hinge 损失函数定义为

L(y, ŷ) = max(0, 1 - y * ŷ)

其中 y 是真实标签(+1 或 -1),ŷ 是预测输出。

Hinge 损失背后的理念是惩罚模型的错误分类及其过于自信的预测。

3. 均方误差

均方误差(MSE)是回归问题中最常用的损失函数。它计算预测值与实际值之间的平均平方差。

MSE 损失函数定义为

L(y, ŷ) = (1/n) * Σ(y_i - ŷ_i)^2

其中

  • n 是样本数量。
  • y1 是第 i 个样本的真实值。
  • i 是第 i 个样本的预测值。
  • Σ 是所有样本的总和。

均方误差是衡量算法质量的指标。它始终是非负的,值越接近零越好。它对异常值很敏感,这意味着一个非常错误的预测会显著增加损失。

4. 平均绝对误差

平均绝对误差(MAE)是回归问题中另一个常用的损失函数。它计算预测值与实际值之间的平均绝对差。

MAE 损失函数定义为

L(y, ŷ) = (1/n) * Σ|y_i - ŷ_i|

其中

  • n 是样本数量。
  • yi 是第 i 个样本的真实值。
  • i 是第 i 个样本的预测值。
  • Σ 是所有样本的总和。

与 MSE 类似,它始终是非负的,值越接近零越好。但是,与 MSE 不同的是,MAE 对异常值的敏感性较低,这意味着一个非常错误的预测不会显著增加损失。

5. Huber 损失

Huber 损失,也称为平滑平均绝对误差,是均方误差和平均绝对误差的结合,使其成为回归任务的有用损失函数,尤其是在处理带噪数据时。

Huber 损失函数定义为

Equation

其中

  • y 是实际值。
  • ŷ 是预测值。
  • δ 是一个超参数,用于控制对异常值的敏感度。

如果损失值小于 δ,则使用 MSE;如果损失值大于 δ,则使用 MAE。它结合了这两种高性能损失函数的最优之处。 

MSE 在检测异常值方面表现出色,而 MAE 在忽略异常值方面表现出色;Huber 损失在两者之间提供了平衡。

结论

就像汽车前灯照亮前方的道路,帮助我们安全地穿越黑暗并到达目的地一样,损失函数为机器学习算法提供了指导,帮助它在复杂的解决方案景观中导航并达到最佳性能。这种指导有助于调整模型参数以最小化误差并提高准确性,从而将算法导向其最佳性能。

在本篇博客中,我们学习了 2 种分类(二元交叉熵、Hinge)和 3 种回归(均方误差、平均绝对误差、Huber)损失函数。它们都是计算预测值和实际值之间差异的常用函数。

暂无评论。

留下回复

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。