Hinge Loss 解释

SVM 求解使通过建立二次规划原始问题,引入拉格朗日乘子法,然后转换成对偶的形式去求解,这是一种理论非常充实的解法。这里换一种角度来思考,在机器学习领域,一般的做法是经验风险最小化 ERM ,即构建假设函数为输入输出间的映射,然后采用损失函数来衡量模型的优劣。求得使损失最小化的模型即为最优的假设函数,采用不同的损失函数也会得到不同的机器学习算法,比如这里的主题 SVM 采用的是 Hinge Loss ,Logistic Regression 采用的则是负 $\log$ 损失,

\[L(Y,P(Y|X)) = - \log P(Y|X)\]

从二项分布的角度来考虑 Logistic 回归:

\begin{aligned}
P(Y=1|X) &= \frac{1}{1 + e^{- \theta x}}\\
P(Y=0|X) &= 1- P(Y=1|X)
\end{aligned}

这里另 $z = \theta^Tx$ ,  $\delta$ 为 sigmod 映射,则:

\[E(z) = - \log (\delta(z)) \]

$E(z)$ 的图形如下图的红色曲线,可见 $z$ 越接近 1 , $E(z)$ 的取值越小,即损失越小。反之另:

\[E(z) = 1- \log (\delta(z)) \]

此时得到的图像应该为关于 $E(z)$ 对称的红色的线(没画出),此时 $z$ 越接近 -1,$E(z)$ 的取值越小,即损失越小。

: 图中绿色的线为 square loss ,蓝色的线为 hinge loss, 红的的线为负 log 损失。
2.1 二分类问题

给定数据集  $T = \left \{ (x_i,y_i)\right \}_{i=1}^N $ , 要用这些数据做一个线性分类器,即求得最优分离超平面 $w\cdot x + b = 0$ 来将样本分为正负两类,给定数据集后只需求得最优的参数  $w , b$ 即可,为了解决这个问题,首先做出如下线性映射函数

\[y = w \cdot x + b\]

根据经验风险最小化原则, 这里引入二分类的 Hinge Loss :

\[max(0, 1- y_i(w \cdot x_i + b))\]

上图中对应的 $E(z) = max(0,1-z)$ ,所以SVM可以通过直接最小化如下损失函数二求得最优的分离超平面:

\[ \min_{w,b} \sum_{i=1}^N max(0, 1- y_i(w \cdot x_i + b)) + \lambda ||w||^2 \]

2.2 多分类问题

对于多分类问题,现在要用这些数据做一个 k 类的线性分类器 ,现在需要优化的参数变为 $W ,b$ , 此时的 $W \in \mathbb{R} ^{k \times n}$,为一个 $k \times n$ 的矩阵,$b \in \mathbb{R}^k$ 为一个向量,现在的映射关系如下 :$s =W x_i +b$,此时有 $s \in \mathbb{R}^k$  ,$s$ 中的每个分量代表分类器在该类别的得分,样本 $x_i$ 的标签  $y_i \in \mathbb{R}^k$ , 这里若 $x_i$ 属于类别 $k$ ,则 $y_i$ 中除了第 $k$ 个分量外其余元素全为 0 ,比如 5 分类问题, $x_i$  属于第 3 类,则有  $y_i = [0,0,1,0,0]$  , 用 $s_j$ 表示得分向量 $s$ 中的第 $j$ 个分量 , $s_{y_i}$ 表示对应 $y_i = 1$ 的分量,则单个样本多分类的Hinge Loss可表示为:

\[\sum_{j \ne y_i} max(0,s_j - s_{y_i} + 1)\],

所以 $k$ 分类线性分类SVM 的 Hinge Loss表示为:

\[\min_{W,b} \sum_{i=1}^N\sum_{j \ne y_i} max(0,s_j - s_{y_i} + 1) + \lambda \sum_k \sum_nW_{k,n}^2\]

支持向量机之Hinge Loss 解释的更多相关文章

  1. SVM(支持向量机)之Hinge Loss解释

    Hinge Loss 解释 SVM 求解使通过建立二次规划原始问题,引入拉格朗日乘子法,然后转换成对偶的形式去求解,这是一种理论非常充实的解法.这里换一种角度来思考,在机器学习领域,一般的做法是经验风 ...

  2. 损失函数 hinge loss vs softmax loss

    1. 损失函数 损失函数(Loss function)是用来估量你模型的预测值 f(x) 与真实值 Y 的不一致程度,它是一个非负实值函数,通常用 L(Y,f(x)) 来表示. 损失函数越小,模型的鲁 ...

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

    https://blog.csdn.net/u010976453/article/details/78488279 1. 损失函数 损失函数(Loss function)是用来估量你模型的预测值 f( ...

  4. Hinge Loss、交叉熵损失、平方损失、指数损失、对数损失、0-1损失、绝对值损失

    损失函数(Loss function)是用来估量你模型的预测值 f(x) 与真实值 Y 的不一致程度,它是一个非负实值函数,通常用 L(Y,f(x)) 来表示.损失函数越小,模型的鲁棒性就越好. 损失 ...

  5. logistic regression svm hinge loss

    二类分类器svm 的loss function 是 hinge loss:L(y)=max(0,1-t*y),t=+1 or -1,是标签属性. 对线性svm,y=w*x+b,其中w为权重,b为偏置项 ...

  6. TransH中的Hinge Loss Function

    Hinge Loss Function Hinge Loss 函数一种目标函数,有时也叫max-margin objective. 在Trans系列中,有一个 \[ \max(0,f(h,r,t) + ...

  7. 有关马氏距离和hinge loss的学习记录

    关于度量学习,之前没有看太多相关的文献.不过南京的周老师的一篇NIPS,确实把这个问题剖析得比较清楚. Mahalanobis距离一般表示为d=(x-y)TM(x-y),其中x和y是空间中两个样本点, ...

  8. Hinge Loss

    http://blog.csdn.net/luo123n/article/details/48878759 https://en.wikipedia.org/wiki/Hinge_loss       ...

  9. 机器学习之十一问支持向量机(SVM)

    推导了支持向量机的数学公式后,还需要对比和总结才能更深入地理解这个模型,所以整理了十一个关于支持向量机的问题. 第一问:支持向量机和感知机(Perceptron)的联系? 1.相同点: 都是一种属于监 ...

随机推荐

  1. 深入浅出ES6(八):Symbols

    作者 Jason Orendorff  github主页  https://github.com/jorendorff 你是否知道ES6中的Symbols是什么,它有什么作用呢?我相信你很可能不知道, ...

  2. WCF分布式开发步步为赢(9):WCF服务实例激活类型编程与开发

    .Net Remoting的激活方式也有三种:SingleTon模式.SingleCall模式.客户端激活方式,WCF服务实例激活类型包括三种方式:单调服务(Call Service),会话服务(Se ...

  3. Good Bye 2015 A. New Year and Days 签到

    A. New Year and Days   Today is Wednesday, the third day of the week. What's more interesting is tha ...

  4. 欧拉工程第56题:Powerful digit sum

    题目链接   Java程序 package projecteuler51to60; import java.math.BigInteger; import java.util.Iterator; im ...

  5. 540C: Ice Cave

    题目链接 题意: n*m的地图,'X'表示有裂痕的冰块,'.'表示完整的冰块,有裂痕的冰块再被踩一次就会碎掉,完整的冰块被踩一次会变成有裂痕的冰块, 现在告诉起点和终点,问从起点能否走到终点并且使终点 ...

  6. ffmpeg转码时对编码率和固定码率的处理

    http://www.rosoo.net/a/201107/14663.html 一般fps在代码里这样表示 Fps = den/num 如果den = 15,num=1,则fps = 15. 如果帧 ...

  7. 在MAC中安装XMPP服务器

    一.安装MySQL 1.下载安装包

  8. Highcharts AJAX JSON JQuery 实现动态数据交互显示图表 柱形图

    http://my.oschina.net/xshuai/blog/345117?fromerr=hEXYMdR0 http://www.oschina.net/code/snippet_144464 ...

  9. ace-min.css

    textarea,input[type="text"],input[type="password"],input[type="datetime&quo ...

  10. dojo 总结

    对以前项目中用到的dojo框架进行一个框架式的总结,以备参考学习. 主要组成... 1 开发注意... 3 Dojo代码约定... 3 Dojo形式的脚本库... 4 Dojo Build. 4 Do ...