常见损失函数总结(一)

在介绍常见损失函数之前,我想先就选择损失函数的意义做一下探讨,我认为损失函数应该从两个方面去进行考量:

(1) 如果损失函数达到最优了,在多大程度上可以认为模型的性能是非常好的?这点是最基本的要求,如果即使损失函数达到了全局最优,模型性能仍然不能很好的工作(例如MSE对比MAE,即使找到了全局最优仍然不能获取很好的性能),那应该考虑换个模型或者损失函数。

(2) 损失函数是否可以到达最优点或者局部最优点,如果可以,代价是什么?这就需要我们考虑优化算法的收敛速度,时间复杂度,空间复杂度等等。

分类损失函数

(1) 0-1 Loss

                                                              

最简单的损失函数形式,但不可对x求导(阶跃函数),应用受局限。

(2) cross-entropy Loss

交叉熵:,其可以衡量分布p和分布q的距离,并可作为神经网络的一种损失函数。假设神经网络的原始输出为{y}',在经过softmax变换后可转为概率分布形式\hat{y} = softmax({y}'),这里softmax定义为:

                                                                      \hat{y}_i = softmax({y}')_i = \frac{e^{​{y}'_i}}{\sum_j^n e^{​{y}'_j}}

实际神经网络输出为y(形式为[0,0,...,1,0,...,0]),则二者的距离为

                                                                             L(y,\hat{y}) \\ = H(y||\hat{y}) \\ =-\sum_i^n y_i log \hat{y_i}

上式即为y\hat{y}之间的交叉熵损失函数。实际上,逻辑回归的损失函数也可以理解为交叉熵损失函数,假设数据为(x^{(i)},y^{(i)}),其对于总体数据的损失函数为:-\sum_{k=1}^m logP(y^{(k)}|x^{(k)});对于固定数据(x^{(k)},y^{(k)}),其属于类别j的概率为\hat{y}_i^{(k)}= \frac{e^{\theta_i^Tx^{(k)}}}{\sum e^{\theta_j^Tx^{(k)}}},损失函数为:

                                                                    -logP(y^{(k)}|x^{(k)}) \\ = -log \prod_i^C (\frac{e^{\theta_i^Tx^{(k)}}}{\sum e^{\theta_j^Tx^{(k)}}})^{y_i^{(k)}} \\ = -\sum_i^C y_i^{(k)}log \frac{e^{\theta_i^Tx^{(k)}}}{\sum e^{\theta_j^Tx^{(k)}}} \\ = -\sum_i^C y_i^{(k)}log\hat{y}_i^{(k)}

这正是交叉熵损失函数的形式。

(3)Hinge Loss

我们来观察一下hinge loss的形式,如果把yf(x)看做是分类置信度或者是margin的话,其实样本的置信度在超过1之后就不会对损失函数有很大影响了。这一点也说明了SVM方法解的稀疏性(之和支持向量有关)。

                                                        

SVM的损失函数也是hinge loss。下面我们就来看下svm中的hinge loss 是如何被推导出来的:带有软间隔的SVM的最优化形式为:

                                                     

约束条件第一行可以改为\xi_i \geq 1 - y_i(w^Tx_i + b)。结合约束条件第二行,约束条件可以转化为:

                                                       \xi_i \geq max(0, 1 - y_i(w^Tx_i + b))

再进而优化问题可以转化为:

                                            \underset{w,b}{min} \quad \frac{1}{2}||w||^2 + C\sum_{i=1}^m max(0, 1 - y_i(w^Tx_i + b))

可以看到SVM损失函数可以转化为hinge loss 加上一个正则项,而正则项的大小取决于SVM的松弛度。

(4) Exponential Loss

                                                          

指数损失函数从形式上就可以看出,其非常容易放大异常点对模型的影响。

(5) Modified Huber Loss

                                    

modified huber loss 结合了 hinge loss 和 cross entropy loss 的优点,其在yf(x) 在-1到1之间的函数形式令其以概率的形式判断分类,另外,在小于-1和大于1的区域,它保证了对于异常点的鲁棒性,和解的稀疏性。

参考资料:

[1] 常见回归和分类损失函数比较

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值