损失函数

什么是损失函数

损失函数(Loss Function)又叫做误差函数,用来衡量算法的运行情况,估量模型的预测值与真实值的不一致程度,是一个非负实值函数,通常使用深度学习中什么是损失函数 损失函数是指什么_损失函数来表示。损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是结构风险函数重要组成部分。

常见的损失函数

机器学习通过对算法中的目标函数进行不断求解优化,得到最终想要的结果。分类和回归问题中,通常使用损失函数或代价函数作为目标函数。
损失函数用来评价预测值和真实值不一样的程度。通常损失函数越好,模型的性能也越好。
损失函数可分为经验风险损失函数和结构风险损失函数。经验风险损失函数指预测结果和实际结果的差别,结构风险损失函数是在经验风险损失函数上加上正则项。
下面介绍常用的损失函数:

(1)0-1损失函数
如果预测值和目标值相等,值为0,如果不相等,值为1。
深度学习中什么是损失函数 损失函数是指什么_损失函数_02

一般的在实际使用中,相等的条件过于严格,可适当放宽条件:

深度学习中什么是损失函数 损失函数是指什么_深度学习中什么是损失函数_03

(2)绝对值损失函数
和0-1损失函数相似,绝对值损失函数表示为:
深度学习中什么是损失函数 损失函数是指什么_最小二乘法_04

(3)平方损失函数
深度学习中什么是损失函数 损失函数是指什么_深度学习中什么是损失函数_05

这点可从最小二乘法和欧几里得距离角度理解。最小二乘法的原理是,最优拟合曲线应该使所有点到回归直线的距离和最小。

(4)对数损失函数
深度学习中什么是损失函数 损失函数是指什么_损失函数_06

常见的逻辑回归使用的就是对数损失函数,有很多人认为逻辑回归的损失函数是平方损失,其实不然。逻辑回归它假设样本服从伯努利分布(0-1分布),进而求得满足该分布的似然函数,接着取对数求极值等。逻辑回归推导出的经验风险函数是最小化负的似然函数,从损失函数的角度看,就是对数损失函数。

(6)指数损失函数
指数损失函数的标准形式为:
深度学习中什么是损失函数 损失函数是指什么_损失函数_07

例如AdaBoost就是以指数损失函数为损失函数。

(7)Hinge损失函数
Hinge损失函数的标准形式如下:
深度学习中什么是损失函数 损失函数是指什么_似然函数_08

统一的形式:
深度学习中什么是损失函数 损失函数是指什么_最小二乘法_09

其中y是预测值,范围为(-1,1),t为目标值,其为-1或1。

在线性支持向量机中,最优化问题可等价于

深度学习中什么是损失函数 损失函数是指什么_最小二乘法_10

上式相似于下式

深度学习中什么是损失函数 损失函数是指什么_似然函数_11

其中深度学习中什么是损失函数 损失函数是指什么_最小二乘法_12是Hinge损失函数,深度学习中什么是损失函数 损失函数是指什么_似然函数_13可看做为正则化项。

逻辑回归为什么使用对数损失函数

假设逻辑回归模型
深度学习中什么是损失函数 损失函数是指什么_损失函数_14
假设逻辑回归模型的概率分布是伯努利分布,其概率质量函数为:
深度学习中什么是损失函数 损失函数是指什么_深度学习中什么是损失函数_15
其似然函数为:
深度学习中什么是损失函数 损失函数是指什么_损失函数_16
对数似然函数为:
深度学习中什么是损失函数 损失函数是指什么_最小二乘法_17
对数函数在单个数据点上的定义为:
深度学习中什么是损失函数 损失函数是指什么_最小二乘法_18
则全局样本损失函数为:
深度学习中什么是损失函数 损失函数是指什么_似然函数_19
由此可看出,对数损失函数与极大似然估计的对数似然函数本质上是相同的。所以逻辑回归直接采用对数损失函数。

对数损失函数是如何度量损失的

例如,在高斯分布中,我们需要确定均值和标准差。
如何确定这两个参数?最大似然估计是比较常用的方法。最大似然的目标是找到一些参数值,这些参数值对应的分布可以最大化观测到数据的概率。
因为需要计算观测到所有数据的全概率,即所有观测到的数据点的联合概率。现考虑如下简化情况:

(1)假设观测到每个数据点的概率和其他数据点的概率是独立的。

(2)取自然对数。
假设观测到单个数据点深度学习中什么是损失函数 损失函数是指什么_似然函数_20的概率为:
深度学习中什么是损失函数 损失函数是指什么_深度学习中什么是损失函数_21

(3)其联合概率为:
深度学习中什么是损失函数 损失函数是指什么_损失函数_22
对上式取自然对数,可得:
深度学习中什么是损失函数 损失函数是指什么_似然函数_23
根据对数定律,上式可以化简为:
深度学习中什么是损失函数 损失函数是指什么_深度学习中什么是损失函数_24
然后求导为:
深度学习中什么是损失函数 损失函数是指什么_最小二乘法_25
上式左半部分为对数损失函数。损失函数越小越好,因此我们令等式左半的对数损失函数为0,可得:
深度学习中什么是损失函数 损失函数是指什么_最小二乘法_26
同理,可计算深度学习中什么是损失函数 损失函数是指什么_损失函数_27