SVM(支持向量机)算法介绍

最近正好有时间将SVM的推导整理一遍,借此文章记录自己的学习过程, 在本文中借鉴了T老师的讲义和一些博文,以及李航的统计学习方法,若有不足之处,望海涵。

SVM

svm算法通俗的理解在二维上,就是找一分割线把两类分开,问题是如下图三条线都可以把红色点和黄色点分开,但哪条线是最优的呢?如果数据本身比较难分怎么办?这都是我们要考虑的问题。 

 

 

决策边界:选出离样本点最远的线段。

我们需要让距离决策边界最近的点之间的距离最远。

1.距离的计算

 x' x"所在平面的表达式为:W^{^{t}}X + b = 0 ,其中,W为平面的法向量。

我们需要求得x到平面的距离dist(x, h), 那么我们只要求得xx'的距离, 然后对平面做竖直方向上的投影(既点x到平面的距离)即可。计算过程如下:

然后得到距离公式: 

2.数据标签定义

 

3. SVM的优化目标

我们需要找到一条线(w和b),使得离该线段最近的点之间的距离最远,由上面的距离公式和数据的决策方程我们可以得出:

点到直线的距离为:

进而得到优化目标:

决策方程(w,b)可以进行放缩变换,使得其结果值|y|>=1:

 

4. 优化目标的求解

将目标函数进行转换:求最值大问题即求倒数最小值问题, 加入常数不影响(方便求导)

然后利用拉格朗日乘子法对其进行求解。

拉格朗日乘子法:

 

将我们需要求解的目标函数和约束条件通过拉格朗日进行计算:得到

多了个参数\alpha _{_{i}}

 把上式获取的参数代入公式优化max值:

化解到最后一步,就可以获取最优的a值:

求正数最大值,相当于求负数的最小值。

以上就可以得到了超平面。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值