损失函数(loss function)是用来估量模型的预测值

机器学习中模型损失值下降代表什么 损失函数对模型的影响_机器学习

与真实值的不一致程度,它是一个非负函数,记为

机器学习中模型损失值下降代表什么 损失函数对模型的影响_机器学习中模型损失值下降代表什么_02

一般来说,损失函数越小,模型的鲁棒性越好。损失函数分为经验风险损失函数和结构风险损失函数。经验风险损失函数表示预测值与真实值之间的差异,结构风险损失函数是指经验风险损失函数加上正则化。一般形式为:                                                       

选择模型时,可以选择经验风险最小化和结构风险最小化两种策略,经验风险最小化策略认为经验风险最小的模型就是最优的模型,就是上述公式的前一部分,量化描述模型的预测结果和与真实结果不一样的程度但是这种策略容易产生过拟合的现象,而结构风险最小化策略却可以防止过拟合。

机器学习中模型损失值下降代表什么 损失函数对模型的影响_损失函数_03

为正则化(regularization)项,用来度量模型的复杂度,模型越复杂,

机器学习中模型损失值下降代表什么 损失函数对模型的影响_深度学习_04

就越大,反之,模型越简单,

机器学习中模型损失值下降代表什么 损失函数对模型的影响_深度学习_05

值越小。结构风险最小化策略认为结构风险最小的模型是最优的模型,

机器学习中模型损失值下降代表什么 损失函数对模型的影响_机器学习_06

是系数,用来权衡经验风险和模型复杂度,正则化函数一般是L1和L2函数。

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

                                                       

机器学习中模型损失值下降代表什么 损失函数对模型的影响_机器学习_07

该损失函数的意义是:当预测值和真实值不一样时,损失函数值为1,如预测值与真实值相等,那么损失函数值为0。

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

                                                      

机器学习中模型损失值下降代表什么 损失函数对模型的影响_损失函数_08

该损失函数的意义为取预测值和真实值之间的绝对值。

平方损失函数(quadratic loss function)

                                                       

机器学习中模型损失值下降代表什么 损失函数对模型的影响_机器学习_09

该损失函数表示的意义就是最优拟合曲线应该使得所有点到回归曲线的距离和最小。通常用欧几里得距离进行距离的度量。

对数损失函数(logarithmic loss function)

                                                      

对数损失函数用到了极大似然的思想。Logstic回归的损失函数就是对数损失函数,对于LR,假定的概率分布是伯努利(0-1)分布,满足

机器学习中模型损失值下降代表什么 损失函数对模型的影响_机器学习中模型损失值下降代表什么_10

,所以似然函数就可以记为

机器学习中模型损失值下降代表什么 损失函数对模型的影响_机器学习中模型损失值下降代表什么_11

,为了求预测率,使用乘法,为了将其转变成加法,对齐取对数。最后由于是损失函数,一般要最小化,因此加个符号取反。

Hinge损失函数

Hinge 损失函数被用于“maximum-margin”分类器,尤其与支持向量机SVM息息相关。对于样本数据标签

机器学习中模型损失值下降代表什么 损失函数对模型的影响_机器学习_12

和一个分类器预测值y,关于预测值y的hinge损失函数则被定义为:                                                     

机器学习中模型损失值下降代表什么 损失函数对模型的影响_损失函数_13

y是分类器决策函数的输出值,并不是预测的类别标签。可以看到当t和y符号相同时,也就是y值对应正确的类别,并且

机器学习中模型损失值下降代表什么 损失函数对模型的影响_深度学习_14 1" title="\left | y \right |> 1" style="visibility: visible; width: 49px;" data-type="block">

时,hinge损失函数的取值为0,但是如果符号不相同,也就是y值所对应的类别错误, 同样地,如果

机器学习中模型损失值下降代表什么 损失函数对模型的影响_机器学习_15

,那么

机器学习中模型损失值下降代表什么 损失函数对模型的影响_机器学习中模型损失值下降代表什么_16

与y呈线性关系。

绿色的线是0-1损失函数,蓝色的线是t=1时的hinge损失函数。可以看到,hinge损失函数惩罚了

机器学习中模型损失值下降代表什么 损失函数对模型的影响_机器学习_17

,loss值不为0,这个特点和SVM中的分类间隔的概念是对应的。

回忆一下SVM的损失函数

                                                              

机器学习中模型损失值下降代表什么 损失函数对模型的影响_损失函数_18

可以看到SVM的损失函数是Hinge损失函数+L2-norm

全局损失函数

我们的优化目标应当是使全局损失函数最小化。因此,全局损失函数往往是所有样本的损失函数之和,公式表示如下:

  :                                                      

机器学习中模型损失值下降代表什么 损失函数对模型的影响_最小化_19

softmax损失函数

神经网络不过是一个包含百万参数的非常复杂的函数。通常情况下,我们所谓的训练神经网络基本上是指最小化一个损失函数。在神经网络中,多分类问题时常见的损失函数就是softmax,sofmax作为分类任务的输出层。 简单认为softmax输出的是几个类别的概率,并且概率和为1。例如,有三个类别,经过 sofmax函数后的概率输出为[0.1, 0.7, 0.,2],概率和为1,概率值最大的类别就是输入数据所对应的类别,0.7概率值最大,所以输入经过计算被分类到第二类中。sofmax函数的公式为:

                                                           

机器学习中模型损失值下降代表什么 损失函数对模型的影响_最小化_20

机器学习中模型损失值下降代表什么 损失函数对模型的影响_最小化_21

是上一层第i个神经元的输出,

机器学习中模型损失值下降代表什么 损失函数对模型的影响_最小化_22

则是第i类别经过softmax输出的概率值。

softmax loss的函数公式为

                                                        

机器学习中模型损失值下降代表什么 损失函数对模型的影响_损失函数_23

其中

机器学习中模型损失值下降代表什么 损失函数对模型的影响_损失函数_24

为真实值,因为

机器学习中模型损失值下降代表什么 损失函数对模型的影响_机器学习_25

是一个向量,一般将真实标签表示成one-hot形式,或者不变,看所用函数要求。