机器学习中的损失函数 (着重比较:hinge loss vs softmax loss)

Posted Vinicier

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习中的损失函数 (着重比较:hinge loss vs softmax loss)相关的知识,希望对你有一定的参考价值。

1. 损失函数

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

θ=argminθ1Ni=1NL(yi,f(xi;θ))+λ Φ(θ)
其中,前面的均值函数表示的是经验风险函数, L 代表的是损失函数,后面的 Φ 是正则化项(regularizer)或者叫惩罚项(penalty term),它可以是L1,也可以是L2,或者其他的正则函数。整个式子表示的意思是 找到使目标函数最小时的 θ

2. 常用损失函数

常见的损失误差有五种:
1. 铰链损失(Hinge Loss):主要用于支持向量机(SVM) 中;
2. 互熵损失 (Cross Entropy Loss,Softmax Loss ):用于Logistic 回归与Softmax 分类中;
3. 平方损失(Square Loss):主要是最小二乘法(OLS)中;
4. 指数损失(Exponential Loss) :主要用于Adaboost 集成学习算法中;
5. 其他损失(如0-1损失,绝对值损失)

2.1 Hinge loss

Hinge loss 的叫法来源于其损失函数的图形,为一个折线,通用的函数表达式为:

L(mi)=max(0,1mi(w))
表示如果被正确分类,损失是0,否则损失就是 1mi(w)

在机器学习中,Hing 可以用来解 间距最大化 的问题,最有代表性的就是SVM 问题,最初的SVM 优化函数如下:

argminw,ζ12||w||2+Ciζist.yiwTxi1ζiζi0
将约束项进行变形,则为:
ζi1yiwTxi
则损失函数可以进一步写为:
J(w)=12||w||2+Cimax(0,1yiwTxi)=12||w||2+Cimax(0,1mi(w))=12||w||2+CiLHinge(mi)
因此, SVM 的损失函数可以看作是 L2-norm 和 Hinge loss 之和

2.2 Softmax Loss

有些人可能觉得逻辑回归的损失函数就是平方损失,其实并不是。平方损失函数可以通过线性回归在假设样本是高斯分布的条件下推导得到,而逻辑回归得到的并不是平方损失。在逻辑回归的推导中,它假设样本服从伯努利分布(0-1分布),然后求得满足该分布的似然函数,接着取对数求极值等等。而逻辑回归并没有求似然函数的极值,而是把极大化当做是一种思想,进而推导出它的经验风险函数为:最小化负的似然函数(即 maxF(y,f(x))minF(y,f(以上是关于机器学习中的损失函数 (着重比较:hinge loss vs softmax loss)的主要内容,如果未能解决你的问题,请参考以下文章

机器学习中的损失函数(附python代码)

机器学习中的损失函数

损失函数与鲁棒性

损失函数选择

损失函数(损失函数代价函数目标函数)​​​​​​​MSE0-1损失函数绝对误差损失函数分位数损失函数Huber损失函数感知损失函数Hinge损失函数指数损失函数对数损失函数

损失函数 hinge loss vs softmax loss