文章目录

  • 一、分类问题
  • 1. 0-1损失函数(zero-one loss)
  • 2. Hinge 损失函数
  • 3. log对数损失函数
  • 4. Logistic损失
  • 5. 交叉熵损失函数 (Cross-entropy loss function)
  • 二、回归问题
  • 1. 平均绝对误差(MAE)
  • 2. 平均绝对百分误差MAPE
  • 3. 均方误差(MSE)
  • 4. Huber损失
  • 三、常见问题
  • 1. 交叉熵函数与最大似然函数的联系和区别?
  • 2. 在用sigmoid作为激活函数的时候,为什么要用交叉熵损失函数,而不用均方误差损失函数?



损失函数用来评价模型的预测值和真实值不一样的程度,损失函数越好,通常模型的性能越好。不同的模型用的损失函数一般也不一样。

损失函数分为经验风险损失函数和结构风险损失函数。经验风险损失函数指预测结果和实际结果的差别,结构风险损失函数是指经验风险损失函数加上正则项。

一、分类问题

1. 0-1损失函数(zero-one loss)

0-1损失是指预测值和目标值不相等为1, 否则为0:
机器学习论文里的损失图是怎么画的 损失程度模型_机器学习论文里的损失图是怎么画的
特点:

  1. 0-1损失函数直接对应分类判断错误的个数,但是它是一个非凸函数,不太适用.
  2. 感知机就是用的这种损失函数。但是相等这个条件太过严格,因此可以放宽条件,即满足 机器学习论文里的损失图是怎么画的 损失程度模型_机器学习_02时认为相等,
    机器学习论文里的损失图是怎么画的 损失程度模型_损失函数_03

2. Hinge 损失函数

Hinge损失函数标准形式如下:
机器学习论文里的损失图是怎么画的 损失程度模型_损失函数_04
特点:

  1. hinge损失函数表示如果被分类正确,损失为0,否则损失就为机器学习论文里的损失图是怎么画的 损失程度模型_机器学习论文里的损失图是怎么画的_05
  2. 一般的机器学习论文里的损失图是怎么画的 损失程度模型_健壮性_06是预测值,在-1到1之间, 机器学习论文里的损失图是怎么画的 损失程度模型_健壮性_07是目标值(-1或1)。其含义是,机器学习论文里的损失图是怎么画的 损失程度模型_健壮性_06的值在-1和+1之间就可以了,并不鼓励机器学习论文里的损失图是怎么画的 损失程度模型_机器学习论文里的损失图是怎么画的_09
  3. 健壮性相对较高,对异常点、噪声不敏感,但它没太好的概率解释。

3. log对数损失函数

log对数损失函数的标准形式如下:
机器学习论文里的损失图是怎么画的 损失程度模型_机器学习_10
特点:

  1. log对数损失函数能非常好的表征概率分布,在很多场景尤其是多分类,如果需要知道结果属于每个类别的置信度,那它非常适合。
  2. 健壮性不强,相比于hinge loss对噪声更敏感。
  3. 逻辑回归的损失函数就是log对数损失函数。

4. Logistic损失

Logistic损失标准形式如下:
机器学习论文里的损失图是怎么画的 损失程度模型_机器学习论文里的损失图是怎么画的_11
特点:

  1. 该函数处处光滑,可使用梯度下降法优化
  2. 但该函数对所有样本点都有惩罚,因此对异常值相对敏感。

5. 交叉熵损失函数 (Cross-entropy loss function)

交叉熵损失函数的标准形式如下:
机器学习论文里的损失图是怎么画的 损失程度模型_Cross_12
特点:

  1. 本质上也是一种对数似然函数,可用于二分类和多分类任务中。对数损失函数和交叉熵损失函数应该是等价的。
    二分类问题中的loss函数如上(输入数据是softmax或者sigmoid函数的输出)
    多分类问题中的loss函数如下(输入数据是softmax或者sigmoid函数的输出):
    机器学习论文里的损失图是怎么画的 损失程度模型_损失函数_13
  2. 当使用sigmoid作为激活函数的时候,常用交叉熵损失函数而不用均方误差损失函数,因为它可以完美解决平方损失函数权重更新过慢的问题,具有“误差大的时候,权重更新快;误差小的时候,权重更新慢”的良好性质。

二、回归问题

1. 平均绝对误差(MAE)

绝对值损失函数是计算预测值与目标值的差的绝对值:
机器学习论文里的损失图是怎么画的 损失程度模型_机器学习_14
特点:

  1. 绝对值损失相当于做中值回归,相比MSE对异常点更鲁棒一些。
  2. 但在机器学习论文里的损失图是怎么画的 损失程度模型_Cross_15处无法求导

2. 平均绝对百分误差MAPE

机器学习论文里的损失图是怎么画的 损失程度模型_Cross_16
特点:

  1. MAPE存在不可微点。
  2. 当实际值为零时,MAPE会采用未定义的值,此外,当实际值非常接近零时,它将采用极值。
  3. MAPE是不对称的,它对负误差(当预测值高于实际值时)要比对正误差施加更大的罚款。解释如下:对于过低的预测,百分比误差不能超过100%。虽然没有太高的预测上限。因此,MAPE将偏向于预测不足而不是过度预测的模型。

3. 均方误差(MSE)

平方损失函数标准形式如下:
机器学习论文里的损失图是怎么画的 损失程度模型_机器学习_17
特点:

  1. 最常用的回归损失函数,函数光滑,可以使用梯度下降法优化,
  2. 缺点是异常点敏感,预测值与真实值越远惩罚越大。

4. Huber损失

Huber损失标准形式如下:
机器学习论文里的损失图是怎么画的 损失程度模型_损失函数_18
特点:

  1. 兼具平方损失的处处可导性,绝对值损失的异常点鲁棒性。

三、常见问题

1. 交叉熵函数与最大似然函数的联系和区别?

区别:交叉熵函数使用来描述模型预测值和真实值的差距大小,越大代表越不相近;似然函数的本质就是衡量在某个参数下,整体的估计和真实的情况一样的概率,越大代表越相近。

联系:交叉熵函数可以由最大似然函数在伯努利分布的条件下推导出来,或者说最小化交叉熵函数的本质就是对数似然函数的最大化。

2. 在用sigmoid作为激活函数的时候,为什么要用交叉熵损失函数,而不用均方误差损失函数?

分析一下两个误差函数的参数更新过程就会发现原因了。
对于均方误差损失函数,更新参数 机器学习论文里的损失图是怎么画的 损失程度模型_健壮性_19机器学习论文里的损失图是怎么画的 损失程度模型_机器学习_20
机器学习论文里的损失图是怎么画的 损失程度模型_健壮性_21
其中机器学习论文里的损失图是怎么画的 损失程度模型_健壮性_22,因为sigmoid的性质,导致机器学习论文里的损失图是怎么画的 损失程度模型_机器学习论文里的损失图是怎么画的_23机器学习论文里的损失图是怎么画的 损失程度模型_机器学习论文里的损失图是怎么画的_24取大部分值时会很小(如下图标出来的两端,几乎接近于平坦),这样会使得机器学习论文里的损失图是怎么画的 损失程度模型_健壮性_25很小,导致参数机器学习论文里的损失图是怎么画的 损失程度模型_健壮性_19机器学习论文里的损失图是怎么画的 损失程度模型_机器学习_20更新非常慢。

对于交叉熵损失函数,参数更新公式为:
机器学习论文里的损失图是怎么画的 损失程度模型_机器学习论文里的损失图是怎么画的_28
可以看到参数更新公式中没有机器学习论文里的损失图是怎么画的 损失程度模型_机器学习论文里的损失图是怎么画的_23这一项,权重的更新受机器学习论文里的损失图是怎么画的 损失程度模型_损失函数_30影响,受到误差的影响,所以当误差大的时候,权重更新快;当误差小的时候,权重更新慢。这是一个很好的性质。
所以当使用sigmoid作为激活函数的时候,常用交叉熵损失函数而不用均方误差损失函数。