机器学习----超平面推倒

提到机器学习,超平面总是绕不开的话题。今天就为大家解说一下这个超平面到底是一个什么东西。

大家再学习机器学习的时候,一定看到这样一句话:空间中的超平面可以用这个方程表示:
wTx + b = 0
wT为向量w的转置,w为法向量。

其实,超平面的问题对于理工科的学生来说,早就在高中的时候就已经接触了,只是那个时候没有这个叫法而已。高中的时候大家一定都求过某个平面的法向量吧。没错,求超平面就是和高中的求某个平面的法向量一样。

为了某些可能已经忘了法向量的相关概念的同学的学习,这里我就从最基础的直线开始讲起,逐步推演到平面。

首先,我们知道,在一个二维平面里,如何确定一条直线,最有效的方法之一就是如果我们可以知道该直线的法向量和该直线上的某一点的话,那么我们就可以很轻松的确定这条直线的方程,举例如下:
已知某条直线的法向量为k=(a,b)(a,b为已知量),同时,我们还知道该直线经过点P(c,d)(c,d已知),那么我们可以假设该直线上存在另外一点Q(x,y),则向量PQ=(x-c,y-d),因为法向量与直线垂直,所以有两个向量垂直的判定条件可得:
PQ*k=0
即:
a(x-c)+b(y-d)=0
变换可得直线方程
y=a(c-x)/b + d

这是二维平面的直线方程,转到三位平面就是一个平面方程了。为了大家能够很轻易的由接下来的三维空间迁移到更高维的矩阵空间,再接下来的推倒过程中,我会取一个特殊点来推倒方程。

同理,现在三位空间中有一个向量w(a,b,c),求满足以w为法向量的平面的方程。

从这里,很容易可以想到,符合该条件的平面方程有无数个,那么,既然有无数个,那么我们怎么确定这个方程呢,其实很简单,运用线性代数的思想,我们可以求取一个满足条件的特征量,然后在该特征量上加一个偏移即可得到。

这里,我们就假设,该平面经过点(a,b,c),同时,该平面一定会与其中一条坐标轴(或x或y或z轴)这里假设与x轴相交与一点(x,0,0),则我们可以得到两个向量w和k=(a-x,b,c),且这两个向量垂直。那么就有
wk=0
即:
(a,b,c)(a-x,b,c)=0
就有:
a2- ax + b2 + c2= 0
调整一下可得:
ax - a2- b2- c2 = 0 (1)
公式(1)是符合条件的一个平面,如果想要让条件契合所有平面,只需要将该平面沿着其法向量w的方向平移就行了,这里我们取极小向量e(e的模|e|无穷小),将其添加到特征方程上即可:
`ax - a2- b2- c2+|e| = 0
这里将a换成wT,|e|- a2- b2- c^2换成b就具有了超平面方程的形式。注意,这只是形式,并不是超平面方程,虽然两者含义一致,但是概念不一样,一个是代数概念,一个是矩阵概念。为什么说他们是一样的呢?原因是我们任何一个代数量都可以看作是矩阵空间向量的模,代数量都可以转换为矩阵量进行计算。

猜你喜欢

转载自blog.csdn.net/qq_38226778/article/details/84869244
今日推荐