1. 程式人生 > >機器學習中的超平面

機器學習中的超平面

一、仿射空間

(1)直線——1維仿射空間

給定n維的空間中,一條直線是方向向量v以及直線上的一點P決定。如下圖所示:

line figure

圖1:line figure illustration

因此直線方程如下所示,其中i表示直線上任一點,t表示標量。

                                                                                                          i=t*v+P

注意,始終的i,v,p均為n維空間的點,即n維空間向量。

 (2)平面——2維仿射空間

給定n維空間,空間中的一個平面是由空間上的一點P

和平面上兩個線性無關的向量v,w(可通過線性組合得到該平面中的任意向量),如下圖所示:

plane figure

圖2:plane figure illustration

因此平面方程如下式所示,其中i表示平面中的任意一點,s,t表示標量:

                                                        i=t*v+s*w+P

(3) k維仿射空間

由(1),(2)中推廣,給定的n維空間中,k維仿射空間由空間中的一點P和k個線性無關的向量v1,v2,v3,...,vk決定,

k維仿射空間的方程如下所示,其中i表示k維仿射空間中的任意一點,t1,t2,..,tk表示標量:

                                  i=t1*v1+t2*v2+...+tk*vk+P

因此,可以看到,空間中的一條直線是一個1維仿射空間,一個平面是一個2維仿射空間。

二 超平面

(1)二維空間中的超平面

假設二維空間中的點集i=(x2,x2),滿足下式,其中a,b,c為標量,且a,b不同時為0:

                                                 ax1+bx2+c=0

令t=x1,則點集i可以表示為:

                                  i=(x1,x2)=(t,-at/b-c/b)=t(1,-a/b)+(0,-c/b)

由上式可知道,這表示的是方向向量為(1,-a/b),並經過(0,-c/b)的直線。

記向量n=(a,b),則

                                                         n*i+c=0

記直線上另一點為P=(p1,p2),則

n*(i-P)=0

可以看出,n是直線的法向量。

(2)N維空間的超平面

在給定的N維空間中,超平面由空間中的一點P和一個向量n決定,超平面方程如下:

                                                         n*(i-P)=0

其中i表示超平面上的任意一點。

i,n,p均為N維向量。n為超平面的法向量。若i=(i1,i2,..,iN),n=(n1,n2,..,nN),p=(p1,p2,..pN),則超平面方程可以表示成:

                             n1*i1+n2*i2+...nN*iN+d=0

其中

                                        d=-n*P

按照上述定義,二維空間的超平面是一條直線,三維空間的超平面是一個平面,而N維空間的超平面則是N-1維的仿射空間。

Rn

(3)超平面性質

超平面將空間分成兩部分,一部分大於0,一部分小於0。

空間中任意一點到超平面的距離計算:

記n是超平面的法向量,P是超平面上的一點,而Q是超平面外的一點,計算Q到超平面的距離:

                         d=|(Q-P)*n|/|n|

                          =|(n*Q+d)|/|n|