损失函数
资料 http://www.ics.uci.edu/~dramanan/teaching/ics273a_winter08/lectures/lecture14.pdf
损失函数是估计预测值与真实值差距大小的函数,损失函数的一般形式包括两项:损失项和正则项,如下所示
损失项是理想状态下的损失,正则项是防止过拟合,提高模型泛化能力的修正项。不同背景下的损失项和正则项有所不同。
(一) 损失项
对回归问题,常用的有:平方损失(for linear regression),绝对值损失;
对分类问题,常用的有:hinge loss(for soft margin SVM),log loss(forlogistic regression)。
说明:对hingeloss,又可以细分出hinge loss(或简称L1 loss)和squared hinge loss(或简称L2 loss)。
(二)正则项
常用的有L1-regularization和L2-regularization。
1.0-1损失
理想状态下的损失函数,损失值就是误分类的样本数。
2.hinge loss
对于soft-marginSVM(软间隔支持向量机),其损失项用Lhinge表示
注:在确定分类面时,soft-marginSVM允许误分类,与之相对的hard-margin SVM则不允许,常用的就是soft-margin SVM。
3.log loss
在逻辑回归中,损失函数形式为
其中
因为
损失函数化为
其中,损失项
4.squared loss
平方损失常用在线性回归中,通常记为L2
5.exponential loss
指数损失常用于boosting中,损失函数Lexp为
5种损失项如下图所示
1) Lhinge和Llog对于错误/噪声不敏感
2) 所有损失函数都在0-1损失L01的外部,所以有以下公式
3) 如果我们的目标不是最小化0-1损失L01,而是最大化后验概率P(y|x),选择对数损失Llog比较合适。但是,最大化P(y|x)意味着损失函数没有最大边界,可能会产生差的结果。
4) 有界损失和凸性相对。在一些情况下,损失应该是界的,所以不需要在意一些错分的例子。有界损失,如0-1损失,经常用于在测试集上对分类器进行评分,但有界损失函数是非凸的,难以进行优化,而凸函数则比较容易优化。
正则项是防止过拟合的修正项,用λR表示,常见的正则项有
正则项可以写成如下的一般形式
R2是最常见的正则项,在计算梯度时非常方便。
R0是最直观的正则项,有特征选择的作用,可以用于减少特征向量中的零,使计算方便。这种方式和SVM中的方式不同,对于一个m×n的矩阵X,其每一行是一个特征向量,可以简单地认为SVM-sparseness是试图减小m,而R0-sparseness是减小n。
R2和R1是凸的,当p<1是Rp都是非凸的(包括R0)。所以我们可以R1当成R0的凸近似,不过需要注意的是,R1正则化会导致产生稀疏权值向量。
一维和二维下的正则项图像如下所示: