支持向量机Support Vector Machine(SVM)

二元SVM

SVM是一种有监督学习方法,因为它可以最大化几何边缘,所以又被称为最大间隔分类器

目标函数

f(x)=\sum{w_ix_i} +b

损失函数

L=C\sum_i^n {max(0,1-y_if(x_i))}+\sum _i^n{w_i^2}

即:当真实的label y_i 为1时, 损失函数变为

L=C\sum_i^n {max(0,1-f(x_i))}+\sum _i^n{w_i^2}

此时的函数图像如下

此时,只要目标函数f(x_i)>1 时损失就为0。

当真实的label y_i 为-1时,损失函数为

L=C\sum_i^n {max(0,1+f(x_i))}+\sum _i^n{w_i^2}

此时的函数图像如下

此时,只要目标函数f(x_i)<-1 时,损失就为0。

为什么SVM是最大间隔分类器

根据SVM的损失函数,我们需要计算f(x_i)=w_i^Tx(为方便计算,这里将偏置项b省略),为了使损失最小,需要根据不同的label值,尽可能使得f(x_i)>1 或者f(x_i) <-1

而在线性代数中,我们可以将w^Tx 转换成另外一种形式。举例来说,假设我们有向量A=\begin{bmatrix} x_1\\ x_2 \end{bmatrix},W=\begin{bmatrix} w_1\\ w_2 \end{bmatrix}

 

则它们的内积W^TA=p||W||,其中p为A在W上的投影,当p与w方向相同时为正数,否则为负数,||W||为向量W的长度。

所以f(x_i) = w_i^Tx=p_i||w||, 我们要让其大于1或小于-1,由于损失函数中有加入w的长度作为正则项,我们需要减小||w|| ,增大p_i 。假设W=\begin{bmatrix} 2\\ 1 \end{bmatrix},X=\begin{bmatrix} x_1\\ x_2 \end{bmatrix},为方便计算,省略偏置项b,则W^TX=0,我们画出SVM的超平面(注意横纵坐标),如图

 

由于W^TX=0,所以W和超平面垂直,由图可以看出,每个点在参数向量W的投影p都等于该点到超平面的距离,而我们正需要增大p,所以SVM可以最大化数据与分类超平面的间隔。

参考文献:http://blog.csdn.net/han_xiaoyang/article/details/52679559

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值