SVM——超平面

转载出处:超平面是什么?——理解超平面(SVM开篇之超平面详解)

引入

n维空间的超平面由下面的方程确定:

w T x + b = 0 w^Tx + b = 0 wTx+b=0

其中, w w w x x x都是n维列向量, x x x为平面上的点, w T w^T wT为平面上的法向量决定了超平面的方向, b b b是一个实数,代表超平面到原点的距离。且

x = ( x 1 , x 2 , . . . , x d ) T x = (x_1, x_2, ..., x_d)^T x=(x1,x2,...,xd)T
w = ( w 1 , w 2 , . . . , w d ) T w = (w_1, w_2, ..., w_d)^T w=(w1,w2,...,wd)T

那么 w T w^T wT为什么是法向量, b b b为什么是表示平面到原点的距离呢?

平面的概念

我们对“平面”的理解,一般是在三维空间中的,即

A x + B y + C z + D = 0 Ax + By + Cz + D = 0 Ax+By+Cz+D=0

这个平面有两个定义:

  1. 方程式线性的,是由空间点的各分量的线性组合
  2. 方程的数量是 1

这个平面是建立在“三维”上的。如果我们撇开“维度”这个限制,那么就有了超平面的定义。

超平面是纯粹的数学概念,不是物理概念,它是平面中的直线、空间中的平面的推广,只有当维度大于3,才称为“超”平面。

它的本质是自由度比空间维度小 1

何为自由度?

自由度的概念可以简单的理解为至少要给定多少个分量的值才能确定一个点. 例如, 三维空间里的(超)平面只要给定了(x,y,z)中任意两个分量, 剩下的一个的值就确定了. 先确定值的两个分量是自由的, 因为它们想取什么值就能取什么值;剩下的那个是"不自由的", 因为它的值已经由另外两确定了. 二维空间里的超平面为一条直线. 一维空间里超平面为数轴上的一个点。

举个栗子

通常,R2(二维空间)中的点集 i = ( x , y ) i = (x, y) i=(x,y) 满足等式 (点集 i i i 实际为一条直线):

a x + 1 / b y + c = 0 ( 1 ) ax + 1/by + c = 0(1) ax+1/by+c=0(1)
(这里使用1/b 是为了后续计算好表示)

其中, a , b , c a,b,c abc均为标量, a , 1 / b a,1/b a1/b至少有一个不为0.我们假设 b 不为0。那么

y = − a b x − c b y = -abx - cb y=abxcb

此时,使用换元法,令 t = x t = x t=x,(显然, t t t 为标量) 则点集 i ( x , y ) i (x,y) i(x,y) 可以表示成

i ( x , y ) = ( t , − a b t − c b ) = t ( 1 , − a b ) + ( 0 , − c b ) i (x,y) = ( t, -abt - cb) = t (1, -ab) + (0, -cb) i(x,y)=(t,abtcb=t(1,ab)+(0,cb)

之前说点集 i i i是一条直线,那么这条直线是什么?实际上就是过 ( 0 , − c b ) (0, -cb) (0,cb)点,方向为 ( 1 , − a b ) (1, -ab) (1,ab) 的直线 L。

更进一步,我们令向量 n = ( a , 1 / b ) n = (a, 1/b) n=(a,1/b)

则(1)可以表示为 n ∗ i + c = 0 n*i + c = 0 ni+c=0

此时,我们取在直线L上的一点,即子集 i i i 中的一个元素 p 0 ( x 0 , y 0 ) p_0(x_0,y_0) p0(x0,y0), 可以得到

n ∗ p 0 + c = 0 = > c = − n ∗ p 0 n* p_0 + c = 0 => c = -n*p_0 np0+c=0=>c=np0

则(2)可以改写为 n ( i − p 0 ) = 0 n(i - p_0) = 0 n(ip0)=0

因为 n n n ( i − p 0 ) (i - p_0 ) (ip0) 均是向量, ( i − p 0 ) (i - p_0) (ip0) 在直线 L 上, 所以, n n n 垂直直线L ,即 n n n为直线L的法向量

进一步解释超平面

给定向量空间 Rn 中的一个点 P 和一个非零向量 n n n ,满足

n ∗ ( i − p ) = 0 n * (i - p) = 0 n(ip)=0

则称点集 i 为通过点p 的超平面,向量 n 为通过超平面的法向量

点到超平面的距离

样本空间中的任意一点 x,到超平面 ( w , b ) (w,b) (w,b) 的距离,可以表示为

∣ w T + b ∣ ∣ ∣ w ∣ ∣ \frac{|w_T + b|}{|| w ||} wwT+b

证明也很简单:

对于超平面A w T x + b = 0 w^Tx + b = 0 wTx+b=0 假设 x‘ 为超平面上任意一点,那么,显然满足:

w T x ′ + b = 0 w^Tx' + b = 0 wTx+b=0

对于空间上任意一点 x, 到平面 A 的距离 d,等于 x 到超平面的法向量长度,也就是 向量 xx’ 在垂直方向上(即法向量)上的投影。而计算投影,将 xx’ 乘以法向量 w T w^T wT 即可。并且,我们不光要投影,还要计算单位,即使用单位为 1 的投影。也就是在分母除以 ∣ ∣ w ∣ ∣ || w || w。所以,距离 d 可以表示为:

d = ∣ w T ∣ ∣ w ∣ ∣ ( x − x ′ ) ∣ d = | \frac{w^T}{|| w ||}(x - x') | d=wwT(xx)

又因为

w T x ′ = − b w^Tx' = -b wTx=b

所以距离为

d = ∣ w T ( x − x ′ ) ∣ ∣ ∣ w ∣ ∣ = w T + b ∣ ∣ w ∣ ∣ d = \frac{|w^T(x - x')|}{|| w ||} = \frac{w^T + b}{||w||} d=wwT(xx)=wwT+b

判断超平面的正反

一个超平面可以将它所在的空间分为两半, 它的法向量指向的那一半对应的一面是它的正面, 另一面则是它的反面。如果利用数学来判断的话,需要利用到法向量 w T w^T wT

image

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值