盘点机器学习中常见的损失函数和优化算法

在机器学习中,对于目标函数、损失函数、代价函数等不同书上有不同的定义。通常来讲,目标函数可以衡量一个模型的好坏,对于模型的优化通常求解模型的最大化或者最小化,当求取最小化时也称loss function即损失函数,也称为成本函数、代价函数。 大多数情况下两者并不做严格区分。损失函数包含损失项与正则项。正则项的目的是提高模型的泛化能力,防止过拟合。本文仅讨论损失项,下面是一些常见的损失函数的损失项。
这里写图片描述

1.Gold Standard Loss

又被称为0-1 loss, 记录分类错误的次数。

2.Hinge Loss

  最常用在 SVM 中的最大化间隔分类中。对可能的输出 t = ±1和分类器分数y,预测值 y 的 hinge loss 定义如下:    

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

  对于hinge loss,又可以细分出hinge loss(或简称L1 loss)和squared hinge loss(或简称L2 loss)(注意与正则化有区别)。

3.Log Loss对数损失

 对于对数函数,由于其具有单调性,在求最优化问题时,结果与原始目标一致,在含有乘积的目标函数中(如极大似然函数),通过取对数可以转化为求和的形式,从而大大简化目标函数的求解过程。

此外,由于log函数是单调递增,为了转化为最小化问题,通常添加负号,即通常所说的negative log function.

4.Squared Loss 平方损失

即真实值与预测值之差的平方和。通常用于线性模型中,如线性回归模型。之所以采用平方的形式,而非绝对值或三次方的形式,是因为极大似然与最小化平方损失是等价的,具体推导可以参考https://zhuanlan.zhihu.com/p/26171777。

5.Exponential Loss 指数损失

指数函数具有单调性,非负性的优良性质,使得越接近正确结果误差越小,Adaboost算法即使用的指数损失目标函数。但是指数损失存在的一个问题是误分类样本的权重会指数上升,如果数据样本是异常点,会极大的干扰后面基本分类器学习效果,这也是Adaboost算法的一个缺点。

此外还有绝对值损失,通常用于回归中。

下面是机器学习中常见算法的损失函数。如果需要详细了解背后的原理,可以查阅相关资料。

这里写图片描述

值得注意的是,上述目标函数中许多没有解析解,对于此类问题,我们通常可以采取一些迭代的算法来解决。下面是一些常见的优化算法。

这里写图片描述

总结:

本文盘点了机器学习中常见的目标函数(损失函数)损失项的形式,以及常见算法的目标函数具体形式,最后给出了常见的优化算法及其优缺点。值得注意的是,本文并不代表全部的总结,如有疏漏及错误之处,欢迎指正!

转载请注明出处。欢迎关注本公众号,查看更多干货!

这里写图片描述

猜你喜欢

转载自blog.csdn.net/iqqiqqiqqiqq/article/details/77413541
今日推荐