回归问题与分类问题常用损失函数对比

参考文章:
https://www.cnblogs.com/massquantity/p/8964029.html

叙:损失函数的一般表示为 L(y,f(x)),为了便于不同损失函数的比较,常将其表示为单变量的函数,在回归问题中这个变量为y−f(x),在分类问题中则为yf(x)。

1.回归问题的损失函数
回归问题中y和f(x)皆为实数∈R,因此用残差 y−f(x)来度量二者的不一致程度。
常见的回归损失函数有:
在这里插入图片描述
Huber损失是对二者的综合,当|y−f(x)|小于一个事先指定的值δ时,变为平方损失,大于δ时,则变成类似于绝对值损失,因此也是比较robust的损失函数

2.分类问题的损失函数
对于二分类问题,y∈{−1,+1},损失函数常表示为关于yf(x)的单调递减形式。如下图:
在这里插入图片描述

yf(x)被称为margin,其作用类似于回归问题中的残差 y−f(x)。可以看到如果yf(x)>0,则样本分类正确,yf(x)<0 则分类错误,而相应的分类决策边界即为f(x)=0。所以最小化损失函数也可以看作是最大化margin的过程,任何合格的分类损失函数都应该对margin<0的样本施以较大的惩罚。
二分类问题常采用sigmoid(f(x))。
常用:
1)0-1损失:
yf(x)|>=0,<0|,0-1损失对每个错分类点都施以相同的惩罚.另外0-1损失不连续、非凸,优化困难,因而常使用其他的代理损失函数进行优化。
2) Logistic loss:
在这里插入图片描述
logistic Loss为Logistic Regression中使用的损失函数。
令t=(y+1)/2,则t取值|0,1|,则对数似然函数为(下图是式中用t代替y):
在这里插入图片描述
上式被称为交叉熵损失 (cross entropy loss),可以看到在二分类问题中logistic loss和交叉熵损失是等价的,二者区别只是标签y的定义不同。

3)Hinge loss
在这里插入图片描述
hinge loss为svm中使用的损失函数,hinge loss使得yf(x)>1的样本损失皆为0,由此带来了稀疏解,使得svm仅通过少量的支持向量就能确定最终超平面。svm 这个形式的损失函数是自带参数 w 的L2 正则的,而相比之下Logistic Regression的损失函数则没有显式的正则化项,需要另外添加。
在这里插入图片描述
4)指数损失(Exponential loss)
在这里插入图片描述
exponential loss为AdaBoost中使用的损失函数。然而其和squared loss一样,对异常点敏感,不够robust。

5)modified Huber loss
在这里插入图片描述
modified huber loss结合了hinge loss和logistic loss的优点,既能在yf(x)>1时产生稀疏解提高训练效率,又能进行概率估计。另外其对于(yf(x)<−1) 样本的惩罚以线性增加,这意味着受异常点的干扰较少,比较robust。scikit-learn中的SGDClassifier同样实现了modified huber loss。

分割线:

为什么在神经网络中很多运用交叉熵作为损失函数:
参考:https://zhuanlan.zhihu.com/p/70804197
在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值