机器学习中的超平面理解(SVM开篇之超平面详解)

目录

一、什么是超平面

二、点到超平面的距离

 三、 判断超平面的正反


一、什么是超平面

以上是三维为例子。 

通过查阅资料对超平面有了一定的认识, n 维空间中的超平面由下面的方程确定:

\large w ^ { T } x + b = 0

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

\large \begin{array} { l } { x = \left( x _ { 1 } , x _ { 2 } , \ldots , x _ { d } \right) ^ { T } } \\ { w = \left( w _ { 1 } , w _ { 2 } , \dots , w _ { d } \right) ^ { T } } \end{array}

 那么,w 为什么是法向量呢?b 为什么表示平面到原点的距离呢?下面给出详细解释: 我们对“平面”概念的理解,一般是定义在三维空间中的,即

\large A x + B y + C z + D = 0

这个平面由两个性质定义:1、方程是线性的,是由空间点的各分量的线性组合。2、方程数量是1。这个平面是建立在“三维”上的。如果我们撇开“维度”这个限制,那么就有了超平面的定义。

实际上,超平面是纯粹的数学概念,不是物理概念,它是平面中的直线、空间中的平面的推广,只有当维度大于3,才称为“超”平面。它的本质是自由度比空间维度小1。自由度的概念可以简单的理解为至少要给定多少个分量的值才能确定一个点. 例如, 三维空间里的(超)平面只要给定了(x,y,z)中任意两个分量, 剩下的一个的值就确定了. 先确定值的两个分量是自由的, 因为它们想取什么值就能取什么值;剩下的那个是"不自由的", 因为它的值已经由另外两确定了. 二维空间里的超平面为一条直线. 一维空间里超平面为数轴上的一个点。

在《 统计学习方法》一书给出如下说明:

其中,w与x都是D维列向量,x=(x1,x2,…,xD)T为平面上的点, w=(w1,w2,…,wD)T为平面的法向量。b是一个实数,,代表平面与原点之间的距离。 

所以显而易见: 
二维平面就是\small \bg_green \LARGE \left \( W_{1}, W_{2} \right \)\left ( X_{1}, X_{2}\right )^{T}+b=0   即 \large W_{1}X_{1}+W_{2}X_{2}+b=0(直线方程) 

二、点到超平面的距离

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

\large \frac { \left| w ^ { T } x + b \right| } { \| w \| }

点到超平面上的点为什么这么计算呢?我在这里再具体说一下。推导过程并不繁琐(这里以三维空间为例)。

点到平面的距离公式(可以作为类比):

\large d = \frac { \left| A x _ { 0 } + B y _ { 0 } + C z _ { 0 } + D \right| } { \sqrt { A ^ { 2 } + B ^ { 2 } + C ^ { 2 } } }

 上面利用了向量内积的等价替换,例如下面2个向量做内积。

\large \vec { a } \cdot \vec { b } = \left\{ a _ { 1 } b _ { 1 } + a _ { 2 } b _ { 2 } + a _ { 3 } b _ { 3 } + \ldots + a _ { n } b _ { n } \right\} = | \vec { a } | | \vec { b } | \cos \theta

 三、 判断超平面的正反

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

 若将距离公式中分子的绝对值去掉, 让它可以为正为负. 那么, 它的值正得越大, 代表点在平面的正向且与平面的距离越远. 反之, 它的值负得越大, 代表点在平面的反向且与平面的距离越远。

猜你喜欢

转载自blog.csdn.net/abc13526222160/article/details/84333419