损失函数
Loss Function/Cost Function
损失函数度量模型一次预测的好坏,风险函数度量平均意义下模型预测的好坏。
损失函数(loss function)或代价函数(cost function) 损失函数定义为给定输入
的预测值 和真实值 之间的非负实值函数,记作 风险函数(risk function)或期望损失(expected loss) 这个和模型的泛化误差的形式是一样的
模型 关于联合分布 的平均意义下的损失(期望损失),但是因为 是未知的,所以前面的用词是期望,以及平均意义下的。 这个表示其实就是损失的均值,反映了对整个数据的预测效果的好坏,
转换成 更容易直观理解, 可以参考CH09,6.2.2 节的部分描述来理解,但是真实的数据 N 是无穷的。 经验风险(empirical risk)或经验损失(empirical loss)
模型 关于训练样本集的平均损失 根据大数定律,当样本容量 N 趋于无穷大时,经验风险趋于期望风险 结构风险(structural risk)
为模型复杂度, 是系数,用以权衡经验风险和模型复杂度。
Mean Square Error(MSE)
均方误差指的就是模型预测值
其中,

特点
MSE 曲线的特点是光滑连续、可导,便于使用梯度下降算法,是比较常用的一种损失函数。而且,MSE 随着误差的减小,梯度也在减小,这有利于函数的收敛,即使固定学习因子,函数也能较快取得最小值。平方误差有个特性,就是当
Mean Absolute Error(MAE)
为了简化讨论,忽略下标
直观上来看,MAE 的曲线呈 V 字型,连续但在
Huber Loss
Huber Loss 是对二者(MSE/MAE)的综合,包含了一个超参数
Huber Loss 在
0-1 loss
特点:
(1)0-1 损失函数直接对应分类判断错误的个数,但是它是一个非凸函数,不太适用.
(2)感知机就是用的这种损失函数。但是相等这个条件太过严格,因此可以放宽条件,即满足
Quadratic Loss
特点:
经常应用与回归问题
Logarithmic Loss
这里
(1) log 对数损失函数能非常好的表征概率分布,在很多场景尤其是多分类,如果需要知道结果属于每个类别的置信度,那它非常适合。
(2)健壮性不强,相比于 hinge loss 对噪声更敏感。
(3)逻辑回归的损失函数就是 log 对数损失函数。
Hinge Loss
在机器学习中,hinge loss作为一个损失函数(loss function),通常被用于最大间隔算法(maximum-margin),而最大间隔算法又是 SVM(支持向量机 support vector machines)用到的重要算法。Hinge loss 用于二分类问题,标签值
特点:
hinge 损失函数表示如果被分类正确,损失为 0,否则损失就为
。SVM就是使用这个损失函数。 健壮性相对较高,对异常点、噪声不敏感,但它没太好的概率解释。
perceptron loss
感知损失函数的标准形式如下:
特点:
是 Hinge 损失函数的一个变种,Hinge loss 对判定边界附近的点(正确端)惩罚力度很高。而 perceptron loss只要样本的判定类别正确的话,它就满意,不管其判定边界的距离。它比 Hinge loss 简单,因为不是 max-margin boundary,所以模型的泛化能力没 hinge loss 强。
Cross-entropy loss
Exponential Loss
Exponential Loss,又称指数损失,其表达式如下:
Exponential Loss 与交叉熵 Loss 类似,但它是指数下降的,因此梯度较其它 Loss 来说,更大一些。Exponential Loss 一般多用于 AdaBoost 中。因为使用 Exponential Loss 能比较方便地利用加法模型推导出 AdaBoost 算法。
Modified Huber Loss
在之前介绍回归损失函数,我们介绍过 Huber Loss,它集合了 MSE 和 MAE 的优点。Huber Loss 也能应用于分类问题中,称为 Modified Huber Loss,其表达是如下:
从表达式和 Loss 图形上看,Modified Huber Loss 结合了 Hinge Loss 和 交叉熵 Loss 的优点。一方面能在
References
常见的损失函数(loss function)总结 - 知乎 (zhihu.com) (opens new window)
常见回归和分类损失函数比较 - massquantity - 博客园 (cnblogs.com) (opens new window)