SVM原理推导以及SMO、Kernel的理解

一、支持向量机(Support Vector Machines, SVM)

原理:找到离分隔超平面最近的点,确保它们离分隔平面的距离尽可能远。

超平面(hyperplane):决策的边界,通常表示为 w.T*x+b=0,至于为何可以表示为一个平面,思考二维情况:

                                        w.T*x+b=0 即为 w1x1+w2x2+b=0,也就是平面坐标系中的直线。

间隔(margin):点到分隔平面的距离。

支持向量(Support Vector):离分隔超平面最近的那些点。

分类器:

hw,b(x) = g(w.T*x+b)

若z≥0, g(z) = 1

若z<0,g(z) = -1


两种距离表示:函数距离(functional margins)&几何距离(geometric margins)

1. 函数距离: γ(i) = y(i)*(w.T*x(i)+b),    y(i)∈{-1, 1} (点(x(i), y(i))的函数距离)

w.T*x+b>0时,y(i)=1,点离平面距离越远,函数距离越大。

w.T*x+b<0时,y(i)=-1,距离仍是一个很大的正数。

所以无论点在平面的正负侧,函数距离都是正数,且距离越远,数值越大。

定义某训练集的函数距离为 γ = min i=1,...,m γ(i)  ,即训练集中所有点的函数距离的最小值作为该训练集的函数距离。


2. 几何距离:γ(i) = y(i)*((w/||w||).T*x(i) + b/||w||) (点(x(i), y(i))的几何距离)

推导:


如图,w为平面 w.T*x+b=0 的法向量(思考二维平面情况中,直线w1x1+w2x2+b=0的法向量为(w1, w2),同理三维或N维)。

对于点A(x(i), y(i))来说,线段AB即是点A到超平面的几何间隔,记为γ(i)

所以B点的坐标为:x(i) - γ(i)*w/||w||, w/||w||即为w向量方向上的单位向量。

又因为B点在超平面w.T*x+b=0上,所以满足 w.T*(x(i) - γ(i)*w/||w||) + b = 0

可解得 γ(i) = (w/||w||).T*x(i) + b/||w||

再乘上y(i)保证符号,最后几何间隔为: γ(i) = y(i)*((w/||w||).T*x(i) + b/||w||)

同样,定义训练集的几何间隔为 γ = min i=1,...,m γ(i)  ,即训练集中所有点的几何距离的最小值作为该训练集的几何距离。


在SVM优化问题中,我们选用几何间隔而不是函数间隔,因为任意缩放参数(w, b)时,例如变为(2w, 2b),hw,b

  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值