详细整理几种常见的损失函数|机器学习

简介: 在学习过程中我们经常会接触到损失函数、代价函数、目标函数三个词语,本文让我们来总结一下机器学习中常见的损失函数和代价函数。

机器学习|常见的损失函数

在学习过程中我们经常会接触到损失函数、代价函数、目标函数三个词语,本文让我们来总结一下机器学习中常见的损失函数和代价函数。


概念

首先让我们来了解一下三种损失函数的概念。


损失函数(Loss Function )是定义在单个样本上的,算的是一个样本的误差。


代价函数(Cost Function )是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。


目标函数(Object Function)定义为:最终需要优化的函数。等于经验风险+结构风险(也就是代价函数 + 正则化项)。


关于目标函数和代价函数的区别还有一种通俗的区别:


目标函数是最大化或者最小化,而代价函数是最小化。


常见的损失函数

0-1损失函数(0-1 loss function)

函数表达式:

26.png

函数说明:


  • 关于0-1损失函数,也就是说当我们预测错误时,损失函数的值为1,预测正确时,损失函数的值为0,该函数无需考虑预测值和真实值的误差程度,只要预测错误就会输出1。


函数特点:


  • 0-1损失函数直接对应分类判断错误的个数,但是它是一个非凸函数,不太适用。


  • 感知机通常会使用该损失函数,在使用的时候我们也可以通过设置一个阈值的方式来放宽它的条件,改变成下面的形式:

27.png

平方损失函数(quadratic loss function)

函数表达式:

28.png

函数说明:


  • 平方损失函数指的是预测值与实际值差的平方。


函数特点:


  • 平方损失函数经常应用在回归问题上。


绝对值损失函数(absolute loss function)

函数表达式:

L(y,f(x))=∣y−f(x)∣


函数说明:


  • 该损失函数本质上和平方损失函数没有什么差别,只不过此时取的是绝对值而不是平方,差距不会因为平方而被放大。


函数特点:


  • 绝对值损失函数经常用在回归问题上。


对数损失函数(logarithmic loss function)

函数表达式:

L(y,p(y∣x))=−logp(y∣x)


函数说明:


  • 对数损失函数用到了极大似然估计的思想,我们对p(y|x)通俗的解释就是:在当前模型的基础上,对于样本x它的预测值为y,也就是我们预测正确的概率,但是我们在概率之间的同时满足需要使用乘法,考虑到计算方便,我们取对数将其转化为加法,同时由于是损失函数,所以预测正确的概率越高,其损失值应该是越小,因此再加个负号取反。


函数特点:


  • log损失函数能够很好的表示概率分布,适用于很多的分类场景中,如果需要知道结果属于每个类别的置信度log损失函数非常适合。
  • log损失函数对噪声很敏感。
  • 逻辑回归的损失函数就是log损失函数。


合页损失函数(Hinge loss function)

函数表达式:

L(w,b)=max{0,1−yf(x)}

y=±1,f(x)=wx+b


函数说明:


  • hinge损失函数一般用作分类算法的损失函数。


函数特点:


  • SVM使用的就是hinge损失函数,hinge损失函数表示如果被分类正确,损失为0,否则损失就为1-yf(x)。


  • 一般的f(x)是预测值,在[-1,1]之间,y是目标值(-1或1)。我们并不鼓励|f(x)|>1,也就是不鼓励分类器过度的自信,让某个正确分类的样本距离分割线超过1并不会有任何奖励,从而使分类器可以更加专注于整体的误差。


  • Hinge算是函数对异常点、噪声并不敏感,但是相对于log损失函数来说它没有很好的概率解释。


指数损失函数(exponential loss)

函数表达式:


L(y∣f(x))=exp(−yf(x))


函数说明:


  • 一种很少接触并使用的损失函数。


函数特点:


  • AdaBoost算法使用的就是指数损失函数,该损失函数对噪声、离群点非常敏感。


常见的代价函数

均方误差(Mean Squared Error)

函数表达式:

29.png

函数说明:


  • 均方误差是指预测值与真实值之差平方的期望值;MSE可以评价数据的变化程度,MSE的值越小,说明预测模型描述实验数据具有更好的精确度。


函数特点:


  • 均方误差通常用来做回归问题的代价函数。


均方根误差(Root Mean Squared Error)

函数表达式:

30.png

函数说明:


  • 均方根误差是均方误差的算术平方根,能够直观观测预测值与实际值的离散程度。


函数特点:


  • 通常用来作为回归算法的性能指标


平均绝对误差(Mean Absolute Error)

函数表达式:

31.png

函数说明:


  • 平均绝对误差是绝对误差的平均值 ,平均绝对误差能更好地反映预测值误差的实际情况。


函数特点:


  • 通常用来作为回归算法的性能指标。


交叉熵代价函数(Cross Entry)

函数表达式:

32.png

函数说明:


  • 交叉熵是用来评估当前训练得到的概率分布与真实分布的差异情况,减少交叉熵损失就是在提高模型的预测准确率。其中p(x)指的是真实分布的概率,q(x)是模型通过数据计算出来的概率估计。


函数特点:


  • 通常用做分类问题的代价函数。


举例说明:

逻辑回归(二分类)的损失函数:

33.png

这里的h(x)可以是sigmoid函数,也可以是深度学习中的其他激活函数。


相关文章
|
3月前
|
机器学习/深度学习 算法
机器学习入门:梯度下降算法(上)
机器学习入门:梯度下降算法(上)
|
3月前
|
机器学习/深度学习 算法 大数据
机器学习入门:梯度下降算法(下)
机器学习入门:梯度下降算法(下)
|
5月前
|
机器学习/深度学习
机器学习回归模型相关重要知识点总结
机器学习回归模型相关重要知识点总结
85 4
|
8月前
|
机器学习/深度学习 存储 算法
【机器学习】使用贝叶斯模型做分类时,可能会碰到什么问题?怎么解决?
【5月更文挑战第11天】【机器学习】使用贝叶斯模型做分类时,可能会碰到什么问题?怎么解决?
|
机器学习/深度学习 算法 数据可视化
机器学习面试笔试之特征工程、优化方法、降维、模型评估2
机器学习面试笔试之特征工程、优化方法、降维、模型评估
136 0
|
机器学习/深度学习 存储 算法
机器学习面试笔试之特征工程、优化方法、降维、模型评估1
机器学习面试笔试之特征工程、优化方法、降维、模型评估
180 0
|
机器学习/深度学习 算法 数据可视化
吴恩达《机器学习训练秘籍》-误差分析
吴恩达《机器学习训练秘籍》-误差分析
124 0
|
机器学习/深度学习 算法
学习笔记: 机器学习经典算法-回归模型性能评估
机器学习经典算法-个人笔记和学习心得分享
126 0
|
机器学习/深度学习 算法 数据挖掘
学习笔记: 机器学习经典算法-模型正则化
机器学习经典算法-个人笔记和学习心得分享
170 0
|
机器学习/深度学习 算法 数据处理
机器学习课后题——线性回归模型
机器学习课后题——线性回归模型
301 0