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

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

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

机器学习中常用的损失函数 常用的损失函数有哪些_似然函数

  • 绝对值损失函数

绝对值损失函数是计算预测值与目标值的差的绝对值:

机器学习中常用的损失函数 常用的损失函数有哪些_似然函数_02

  • log对数损失函数

log对数损失函数的标准形式如下:

机器学习中常用的损失函数 常用的损失函数有哪些_激活函数_03

特点:

(1) log对数损失函数能非常好的表征概率分布,在很多场景尤其是多分类,如果需要知道结果属于每个类别的置信度,那它非常适合。

(2)健壮性不强,相比于hinge loss对噪声更敏感。

(3)逻辑回归的损失函数就是log对数损失函数。(log loss和交叉熵的等价的)

  • 平方损失函数

平方损失函数标准形式如下:

机器学习中常用的损失函数 常用的损失函数有哪些_似然函数_04

很少用于分类任务,因为MSE太过于关注错误的输出,用于分类会让模型难收敛。

  • 指数损失函数(exponential loss)

指数损失函数的标准形式如下:

机器学习中常用的损失函数 常用的损失函数有哪些_损失函数_05

特点:

(1)对离群点、噪声非常敏感。经常用在AdaBoost算法中。

  • Hinge 损失函数

Hinge损失函数标准形式如下:

机器学习中常用的损失函数 常用的损失函数有哪些_损失函数_06

机器学习中常用的损失函数 常用的损失函数有哪些_机器学习中常用的损失函数_07

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

交叉熵损失函数的标准形式如下:

机器学习中常用的损失函数 常用的损失函数有哪些_激活函数_08

(2)当使用sigmoid作为激活函数的时候,常用交叉熵损失函数而不用均方误差损失函数(分类问题),因为它可以完美解决平方损失函数权重更新过慢的问题,具有“误差大的时候,权重更新快;误差小的时候,权重更新慢”的良好性质。

相关高频问题:

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

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

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

怎么推导的呢?我们具体来看一下。

机器学习中常用的损失函数 常用的损失函数有哪些_激活函数_09

机器学习中常用的损失函数 常用的损失函数有哪些_激活函数_10

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

其实这个问题求个导,分析一下两个误差函数的参数更新过程就会发现原因了。

对于均方误差损失函数,常常定义为:

机器学习中常用的损失函数 常用的损失函数有哪些_似然函数_11

机器学习中常用的损失函数 常用的损失函数有哪些_激活函数_12

机器学习中常用的损失函数 常用的损失函数有哪些_机器学习中常用的损失函数_13

另外,

机器学习中常用的损失函数 常用的损失函数有哪些_激活函数_14

所以有:

机器学习中常用的损失函数 常用的损失函数有哪些_机器学习中常用的损失函数_15

所以参数更新公式为:

机器学习中常用的损失函数 常用的损失函数有哪些_似然函数_16

机器学习中常用的损失函数 常用的损失函数有哪些_机器学习中常用的损失函数_17

所以当使用sigmoid作为激活函数的时候,常用交叉熵损失函数而不用均方误差损失函数

机器学习中的基本问题——log损失与交叉熵的等价性

交叉熵

交叉熵本质上可以看成,用一个猜测的分布的编码去编码真实的分布,得到的信息量:

机器学习中常用的损失函数 常用的损失函数有哪些_损失函数_18

对数损失函数的表达式为:

机器学习中常用的损失函数 常用的损失函数有哪些_机器学习中常用的损失函数_19

交叉熵和对数损失函数之间的关系

交叉熵中未知真实分布

机器学习中常用的损失函数 常用的损失函数有哪些_激活函数_20

相当于对数损失中的真实标记

机器学习中常用的损失函数 常用的损失函数有哪些_机器学习中常用的损失函数_21

,寻找的近似分布

机器学习中常用的损失函数 常用的损失函数有哪些_似然函数_22

相当于我们的预测值。如果把所有样本取均值就把交叉熵转化成了对数损失函数。


机器学习中常用的损失函数 常用的损失函数有哪些_激活函数_23