SVM常用损失函数

Hinge Loss

表达式为:
L i = j y i m a x ( 0 , s j s y i + 1 ) L_{i}=\sum_{j\ne y_{i}}max(0, s_{j}-s_{y_{i}}+1)
实际上可以写成:
f ( n ) = j y i { 0 , if  s y i > s j + 1 s j s y i + 1 , otherwise f(n) =\sum_{j\ne y_{i}} \begin{cases} 0, & \text{if $s_{y_{i}}>s_{j}+1$} \\ s_{j}-s_{y_{i}}+1, & \text{otherwise} \end{cases}
其中 s y i s_{y_{i}} 是指第 i i 个样本的对应的其正确标签的得分, s j s_{j} 是指这个样本对应的第 j j 个标签的得分。
即对于第 i i 个样本,有:
s j = f ( x i ; W ) j s_{j}=f(x_{i};W)_{j}
s y i = f ( x i ; W ) y i s_{y_{i}}=f(x_{i};W)_{y_{i}}
比如下图中,对三张图片进行分类,一共有 c a t , c a r , f r o g cat, car, frog 三类。每张图片对应的每个类别的得分如下:
在这里插入图片描述则对于第一张图片,它的hinge loss 为:
( 5.1 3.2 + 1 ) + 0 = 2.9 (5.1-3.2+1)+0=2.9
对于第二张图片,它的hinge loss 为:
0 + 0 = 0 0+0=0
对于第三张图片,它的hinge loss 为:
( 2.2 ( 3.1 ) + 1 ) + ( 2.5 ( 3.1 ) + 1 ) = 12.9 (2.2-(-3.1)+1)+(2.5-(-3.1)+1)=12.9
所以对于这个包含三张图片的数据集来说,其hinge loss为:
L = 1 N i = 1 N L i L=\frac{1}{N}\sum_{i=1}^{N}L_{i}
= ( 2.9 + 0 + 12.9 ) / 3 = 5.27 =(2.9+0+12.9)/3=5.27
注:使 L = 0 L=0 的权重 W W 并不唯一,如 2 W 2W 同样可以使损失为0。
我们关心的是分类器在测试集而不是训练集中的效果,所以为了防止过拟合,我们使用正则化。
L = 1 N i = 1 N j y i m a x ( 0 , f ( x i ; W ) j f ( x i ; W ) y i + 1 ) + λ R ( W ) L=\frac{1}{N}\sum_{i=1}^{N}\sum_{j\ne y_{i}}max(0, f(x_{i};W)_{j}-f(x_{i};W)_{y_{i}}+1)+\lambda R(W)
L 2 L2 正则化中, R ( W ) = k l W k , l 2 R(W)=\sum_{k}\sum_{l}W_{k, l}^{2}
L 1 L1 正则化中, R ( W ) = k l W k , l R(W)=\sum_{k}\sum_{l}|W_{k, l}|
弹性网络( E l a s t i c    n e t Elastic\;net )正则化中, R ( W ) = k l β W k , l 2 + W k , l R(W)=\sum_{k}\sum_{l}\beta W_{k, l}^{2}+|W_{k, l}| 。(其实就是 L 1 + L 2 L1+L2 )

Softmax loss

输入 x i x_{i} 时,将一张图片定义为第 k k 个标签的概率为 P ( Y = k X = x i ) = e s k j e s j P(Y=k|X=x_{i})=\frac{e^{s}k}{\sum_{j}e^{s}j} ,其中 s = f ( x i ; W ) s=f(x_{i}; W)
定义 L i = l o g P ( Y = y i X = x i ) = l o g ( e s k j e s j ) L_{i}=-logP(Y=y_{i}|X=x_{i})=-log(\frac{e^{s}k}{\sum_{j}e^{s}j})
具体计算过程如下图:
在这里插入图片描述同样地,对于 s o f t m a x softmax ,正则化同样适用解决过拟合问题。

发布了36 篇原创文章 · 获赞 1 · 访问量 553

猜你喜欢

转载自blog.csdn.net/qq_36758914/article/details/103546383