谁都能学会的SVM(支持向量机)分类器(一)超平面篇

谁都能学会的SVM(支持向量机)分类器(一)超平面篇

机器学习领域问题实现模式一般为特征+分类器,SVM分类器在机器学习分类器领域地位举足轻重。
SVM擅长解决什么类型的问题呢?
1.小样本
2.非线性(松弛变量、核函数为SVM精髓)
3.高维模式识别(例如文本分类)

从感知机开始,引入超平面的概念

n 维空间中的超平面由下面的方程确定:
w T x + b = 0 w^Tx+b=0 wTx+b=0其中,w和x都是n维列向量,x 为平面上的点,w 为平面上的法向量,决定了超平面的方向,b 是一个实数,能决定超平面到原点的距离。
x = ( x 1 , x 2 , x 3 , ⋅ ⋅ ⋅ , x n ) T x={(x_1,x_2,x_3,\cdot\cdot\cdot,x_n)}^T x=(x1,x2,x3,,xn)T w = ( w 1 , w 2 , w 3 , ⋅ ⋅ ⋅ , w n ) T w={(w_1,w_2,w_3,\cdot\cdot\cdot,w_n)}^T w=(w1,w2,w3,,wn)T

  • w为什么是法向量?
  • b为什么能决定超平面到原点的距离?
  • 关于超平面是否会经过原点的问题

在查超平面的定义时,其百度百科词条写道:因为是子空间,所以超平面一定经过原点,很多博客根据这个定义默认了此概念,并没有过多的解释,在介绍支持向量机超平面时,加上超平面一定经过原点。虽然过不过原点对后面的SVM的学习没有过多影响,还是要弄清楚这一点。如果超平面一定过原点,那b代表的超平面与原点间的位移,不就恒为0了吗?

为了帮助理解,首先做一个概念区分(线性子空间&仿射子空间):

  • 线性子空间: 如果 W W 是线性空间 V V 的一个非空子集,记作 W ≤ V W≤V WV

    • W W W必须包含0向量,因为0肯定属于 V V
    • 如果向量 x x 属于 W W 空间,则向量 C ∗ x C*x C也必须属于 W W 空间(乘法封闭性)
    • 如果两个向量 A A A B B B属于 W W 空间,则向量 A + B A+B A+B也属于 W W 空间(加法封闭性)
  • 仿射子空间 V V V的一个非空子集 Y Y Y V V V的仿射子空间,如果存在一个 V V V的线性子空间 W ≤ V W≤V WV和向量 a 0 ∈ V a_0∈V a0V,那么 Y = a 0 + W = { a 0 + β ∣ β ∈ W } Y=a_0+W=\{a_0+\beta\vert\beta\in W\} Y=a0+W={a0+ββW}由此可以得出结论:仿射子空间是对应线性子空间的平移,而支持向量机所说的超平面泛指仿射子空间,该超平面并不一定经过原点。百度百科默认子空间代表线性子空间,因此它所构成的超平面一定经过原点。超平面 w T x + b = 0 w^Tx+b=0 wTx+b=0式中,b为位移项,决定了超平面到原点的距离。

说了这么多只解释清楚了是否过原点的问题,所以 w w w为什么是法向量?

降维说明一下该问题,建立方程: a x + b y + c = 0 ax+by+c=0 ax+by+c=0 y = − a x − c b y=\frac{-ax-c}b y=baxc其包含的点集Q为:

令 x = t 令x=t x=t ( t , − a t − c b ) = t ( 1 , − a b ) − ( 0 , c b ) (t,\frac{-at-c}b)=t(1,-\frac ab)-(0,\frac cb) (t,batc)=t(1,ba)(0,bc)该函式是经过点(0, c b \frac cb bc),方向为(1,- a b \frac ab ba)的直线

令 n = ( a , b ) 令n=(a,b) n=ab,则 n ∗ ( t , − a t − c b ) + c = 0 n*(t,\frac{-at-c}b)+c=0 n(t,batc)+c=0

在Q点集上任取一点 ( x 0 , y 0 ) (x_0,y_0) (x0y0) c = − n ∗ ( x 0 , y 0 ) c=-n*(x_0,y_0) c=n(x0y0)

n ∗ ( t , − a t − c b ) − n ∗ ( x 0 , y 0 ) = 0 ⇔ n ∗ ( ( t , − a t − c b ) − ( x 0 , y 0 ) ) = 0 n*(t,\frac{-at-c}b)-n*(x_0,y_0)=0\Leftrightarrow n*((t,\frac{-at-c}b)-(x_0,y_0))=0 n(t,batc)n(x0y0)=0n((t,batc)(x0y0))=0

由于 ( t , − a t − c b ) 和 ( x 0 , y 0 ) (t,\frac{-at-c}b)和(x_0,y_0) (t,batc)(x0y0)都为点集 Q Q Q上的一点,所以证明了 n ⊥ L n\perp L nL

同理将该方法推向多维依然适用,说了这么多终于可以证明 w w w为什么是超平面的法向量

点到直线的距离

针对超平面 w T x + b = 0 w^Tx+b=0 wTx+b=0,由点到直线的距离可以推出,任意点到超平面的距离 d d d:
d = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ d=\frac{\vert w^Tx+b\vert}{\vert\vert w\vert\vert} d=wwTx+b

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值