机器学习基础知识之损失函数

损失函数的定义

损失函数(Loss Function)或代价函数(Cost Function)被定义为是一种将随机事件或与该事件有关的随机变量取值映射为某个非负实数来表示该随机事件存在的“风险”或“损失的函数”。这一函数在大多数时候都与优化问题相联系起来,例如在机器学习算法中,损失函数被用于模型的参数估计;在控制论中,损失函数被用作最优控制理论。从随机事件的类型来看,可以将损失函数应用到两类问题上,它们分别为回归问题与分类问题。

1、回归问题上的损失函数

回归问题机器学习三大基本模型中的重要一环,它主要通过建立模型来分析模型的输入变量与输出变量之间的关系,这个过程一般是通过模型对输入变量的计算输出一个具体的数值。回归问题主要需对预测值与真实值进行分析,因此它的损失函数中的变量为模型的预测值与实际的真实值。回归问题大致上可分为两种损失函数,这两种损失函数的公式分别如下:
在这里插入图片描述
在这里插入图片描述

在上面两个公式中,w代表实际的权值,y_t为真实值,y_p为模型的计算输出。上述两种计算方式十分相似,均为通过最小化损失值来对参数进行估计,但在实际的应用中,这两种计算方式有很大的区别。前一个公式中对真实值与模型计算输出之间的差值进行了平方输出,这一方式使得这两者的差值得到了放大,因此当真实值与模型计算输出之间存在差值,哪怕该差值很小时,也会给予惩罚,因此这一计算方式有利于误差梯度的计算,使模型的计算输出与真实值之间的差值达到最小;后一个公式中对真实值与模型计算输出之间的差值进行了绝对值输出,因此相较于前一个公式来说对真实值与模型计算输出之间的误差值不够敏感,但这一现象的优点在于当训练过程中存在异常值时,有利于使模型保持更加稳定的状态。

2、分类问题上的损失函数

分类问题从其本质上来说与回归问题是相似的,都可以被划分到预测这一问题领域中,但是回归问题的输出是一种连续值,而分类问题则是离散值。分类问题可以被定义为通过建立模型来判断输入数据属于哪一个类别,因此它主要需对模型的输出类别以及实际的类别进行分析。在对分类问题进行判定时,通常将分类正确的估计值取值为0,将分类错误的估计值取值为1,其损失函数如下:
在这里插入图片描述
可以看到上述公式为一个不连续的分段函数,因此在求解最小化问题时,这一公式不利于进行求解,因此研究者们采用代理损失来进行模型参数的估计。代理损失一般是与原损失函数具有相合性的损失函数,常用的代理损失函数有铰链损失函数、交叉熵损失函数以及指数损失函数。
铰链损失函数是一种分段损失函数,与损失函数相同,当分类正确时取值为0,而当分类正确但概率不足1或分类错误时,该样本将被用于参与模型求解,这种损失函数常用于支持向量机的分类过程,其具体的公式如下:
在这里插入图片描述

交叉熵损失函数是一种平滑函数,由交叉熵的定义可知,对交叉熵进行最小化的过程相当于最小化实际值与估计值的相对熵,即该函数可以视作提供一个无偏估计的代理损失函数。这一函数的公式如下:
在这里插入图片描述

指数损失函数相较于上述两种代理函数,其最大的特点在于对错误分类施加的惩罚最大,即它的误差梯度大。当误差梯度大时,对其小值问题求解能够获得更快的求解速度。此函数的计算公式如下:
在这里插入图片描述

3、损失函数的变形形式

上述几种损失函数各自均存在优点与缺点,同时它们也提出了许多新的变形。如回归问题的损失函数方面有平均绝对误差损失函数、均方误差损失函数、Huber损失函数以及Log-Cosh损失函数等,如分类问题的损失函数方面有0-1损失函数、log对数损失函数、指数损失函数以及Hinge损失函数等。下面分别以回归问题和分类问题的变形形式为例进行介绍

3.1 回归问题

平均绝对误差损失函数,它是上述回归问题的第一个公式的变形,它主要用于求取目标值与预测值之差的绝对值之和,以此来表达了预测值的平均误差幅度,在使用此损失函数时通常不需要考虑误差的方向,其具体的公式如下:
在这里插入图片描述

其中n为输入样本的数量。
均方误差损失函数,它是回归损失函数中最常用的一种损失函数,它是上述回归问题的第二个公式的变形,主要用于求取预测值与目标值之间差值的平方和,其具体的公式如下:
在这里插入图片描述
平均绝对误差损失函数与均方误差损失函数在使用的过程中通常会拿来进行比较,当使用的训练数据中含有较多的异常值时,使用平均绝对误差损失函数会更加有效,因此这一损失函数会给异常值赋予更大的权重,以此来减小异常值所带来的误差,但它主要的问题在于当在神经网络的训练过程中误差值处于极大值点或极小值点时,此损失函数会使梯度值发生一个较大的变化,由此而导致较大的误差,从而影响到参数的优化结果。而当所处理的问题容易受到异常值的影响,需要减小异常值带来的影响时,对异常值更加敏感的均方误差损失函数则是更好的选择,它可以帮助网络的优化过程更加稳定和准确。

3.2 分类问题

0-1损失函数,该函数一般是对预测值与目标值之间的差值进行判断,当存在区别时取值为1,当相同时取值为0。该函数的原公式为上述分类问题的第一个公式,其调整后的公式如下:
在这里插入图片描述
其特点在于在分类问题中可以直接判断错误的个数,但是这一函数直接以预测值与目标值是否相同作为评判标准,在某些情况下此标准过于严苛,因此对其进行一定的调整,使得当预测值与目标值之间的差值小于某个数时,将其取值为0。

猜你喜欢

转载自blog.csdn.net/weixin_42051846/article/details/128765092