机器学习中常见的损失函数

损失函数是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是结构风险函数重要组成部分。模型的结构风险函数包括了经验风险项和正则项,通常可以表示成如下式子:

其中,前面的均值函数表示的是经验风险函数,L代表的是损失函数,后面的Φ是正则化项或者叫惩罚项,它可以是L1,也可以是L2,或者其他的正则函数。整个式子表示的意思是找到使目标函数最小时的θ值。下面主要列出几种常见的损失函数:

n log对数损失函数(逻辑回归)

平方损失函数(最小二乘法

指数损失函数(Adaboost

n Hinge损失函数(SVM

n 0-1损失

n 绝对值损失

  1. log对数损失函数(逻辑回归) 

Logistic回归的损失函数就是对数损失函数,在Logistic回归的推导中,它假设样本服从伯努利分布(0-1)分布,然后求得满足该分布的似然函数,接着用对数求极值。Logistic回归并没有求对数似然函数的最大值,而是把极大化当做一个思想,进而推导它的风险函数为最小化的负的似然函数。从损失函数的角度上,它就成为了log损失函数,其标准形式: 

Logistic回归目标式子如下:

如果是二分类的话,则m值等于2,如果是多分类,m就是相应的类别总个数。

  1. 平方损失函数(最小二乘法, Ordinary Least Squares )

最小二乘法是线性回归的一种方法,它将回归的问题转化为了凸优化的问题。最小二乘法的基本原则是:最优拟合曲线应该使得所有点到回归直线的距离和最小。通常用欧式距离进行距离的度量。当样本个数为n时,此时的损失函数变为:

Y-f(X)表示的是残差,整个式子表示的是残差的平方和,而我们的目的就是最小化这个目标函数值(注:该式子未加入正则项),也就是最小化残差的平方和。

而在实际应用中,通常会使用均方差(MSE)作为一项衡量指标,公式如下:

 

  1. 指数损失函数(Adaboost)

指数损失函数(exp-loss)的标准形式如下:

 

可以看出,Adaboost的目标式子就是指数损失,在给定n个样本的情况下,Adaboost的损失函数为:

     

关于Adaboost的推导,可参考《统计学习方法》P145.

  1. Hinge损失函数(SVM)

Hinge loss用于最大间隔(maximum-margin)分类,其中最有代表性的就是支持向量机SVM。Hinge函数的标准形式:

 

其中,t为目标值(-1或+1),y是分类器输出的预测值,并不直接是类标签。其含义为,当t和y的符号相同时(表示y预测正确)并且|y|≥1时,hinge loss为0;当t和y的符号相反时,hinge loss随着y的增大线性增大。可以参考《统计学习方法》P113.

 

  1. 0-1损失函数

在分类问题中,可以使用函数的正负号来进行模式判断,函数值本身的大小并不是很重要,0-1损失函数比较的是预测值与真实值的符号是否相同,0-1损失的具体形式如下:

 

  1. 绝对值损失函数

绝对损失函数的意义和平方损失函数差不多,只不过是取了绝对值而不是求绝对值,差距不会被平方放大,其形式为:

                    

 

以上简单列出几种常见的损失函数,详情可参考相关资料进行深入了解。

 

posted @ 2018-04-27 01:14  HOU_JUN  阅读(8921)  评论(0编辑  收藏  举报