损失函数总结

1.什么是损失函数
损失函数(loss function)是用来估量模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型认为性能就越好。


2.损失函数,代价函数和目标函数的区别
损失函数:计算的是一个样本的误差

代价函数:是整个训练集上所有样本误差的平均

目标函数:代价函数 + 正则化项

目标函数公式:
[img]http://dl2.iteye.com/upload/attachment/0129/8649/a9c443d3-a51f-3406-a5d7-87d7d3f157ba.jpg[/img]


3.损失函数种类及适用场景
3.1 0-1损失函数
0-1损失是指,预测值和目标值不相等为1,否则为0:

[img]http://dl2.iteye.com/upload/attachment/0129/8651/b0537ed5-7366-3042-9001-2995f677b985.jpg[/img]

感知机就是用的这种损失函数。但是由于相等这个条件太过严格,因此我们可以放宽条件,即满足 |Y−f(X)|

[img]http://dl2.iteye.com/upload/attachment/0129/8653/11e04601-372a-3e83-a245-962bde5c5015.jpg[/img]


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

[img]http://dl2.iteye.com/upload/attachment/0129/8656/b31964de-7085-32ec-802a-2acb515e20df.jpg[/img]

损失函数L(Y, P(Y|X))表达的是样本X在分类Y的情况下,使概率P(Y|X)达到最大值(换言之,就是利用已知的样本分布,找到最有可能(即最大概率)导致这种分布的参数值;或者说什么样的参数才能使我们观测到目前这组数据的概率最大)。因为log函数是单调递增的,所以logP(Y|X)也会达到最大值,因此在前面加上负号之后,最大化P(Y|X)就等价于最小化L了。

逻辑回归的P(Y=y|x)表达式如下(为了将类别标签y统一为1和0,下面将表达式分开表示):

[img]http://dl2.iteye.com/upload/attachment/0129/8658/717041e7-f599-3bc2-8a71-558cfb837672.jpg[/img]

将它带入到上式,通过推导可以得到logistic的损失函数表达式,如下:

[img]http://dl2.iteye.com/upload/attachment/0129/8660/1a5e79b2-40bb-3087-999c-08322dd59172.jpg[/img]

逻辑回归最后得到的目标式子如下:

[img]http://dl2.iteye.com/upload/attachment/0129/8662/bdd00bbb-d2da-3c21-af27-e642dd6bcf8b.jpg[/img]

3.3 平方损失函数(最小二乘法, Ordinary Least Squares )
在线性回归中,它假设样本和噪声都服从高斯分布(为什么假设成高斯分布呢?其实这里隐藏了一个小知识点,就是中心极限定理。最小二乘的基本原则是:最优拟合直线应该是使各点到回归直线的距离和最小的直线,即平方和最小。换言之,OLS是基于距离的,而这个距离就是我们用的最多的欧几里得距离。为什么它会选择使用欧式距离作为误差度量呢(即Mean squared error, MSE),主要有以下几个原因:

简单,计算方便;
欧氏距离是一种很好的相似性度量标准;
在不同的表示域变换后特征性质不变。

[img]http://dl2.iteye.com/upload/attachment/0129/8664/739d5be6-70e5-332a-83b6-42dffc2a24c7.jpg[/img]

当样本个数为n时,此时的代价函数变为:

[img]http://dl2.iteye.com/upload/attachment/0129/8666/7672e89a-1323-3a7e-8f35-9a947d9a1156.jpg[/img]

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

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

[img]http://dl2.iteye.com/upload/attachment/0129/8668/b6ef4276-fb5c-39ac-a4de-5242a2c8bb89.jpg[/img]


3.4 指数损失函数(Adaboost)
学过Adaboost算法的人都知道,它是前向分步加法算法的特例,是一个加和模型,损失函数就是指数函数。指数损失函数(exp-loss)的标准形式如下


[img]http://dl2.iteye.com/upload/attachment/0129/8670/347c6026-9f8b-3c1c-9c21-1c8ac215827d.jpg[/img]


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


[img]http://dl2.iteye.com/upload/attachment/0129/8672/5407488d-517b-3ad0-9a08-4ec6982a86b0.jpg[/img]


3.5 Hinge损失函数
在机器学习算法中,hinge损失函数和SVM是息息相关的。在线性支持向量机中,最优化问题可以等价于下列

[img]http://dl2.iteye.com/upload/attachment/0129/8674/7aca3892-0939-36cc-90c8-6f21e8fb8570.jpg[/img]

Hinge 损失函数的标准形式

[img]http://dl2.iteye.com/upload/attachment/0129/8676/f05935de-04cd-3c5c-9f07-b8cc1390cb12.jpg[/img]


3.6 绝对值损失函数


[img]http://dl2.iteye.com/upload/attachment/0129/8678/d77fac81-c92e-3871-90c8-a53beea059a7.jpg[/img]


4.总结

不同的算法使用的损失函数不一样,要根据相应模型来选择损失函数。

[img]http://dl2.iteye.com/upload/attachment/0129/8680/740daf86-56ea-3140-90d8-1d380d6f323e.png[/img]


参考资料:
http://www.csuldw.com/2016/03/26/2016-03-26-loss-function/
https://blog.csdn.net/weixin_37933986/article/details/68488339

你可能感兴趣的:(机器学习,损失函数,代价函数,目标函数,机器学习)