美文网首页机器学习
什么是超平面?

什么是超平面?

作者: 思想永不平凡 | 来源:发表于2019-07-14 12:59 被阅读0次

前言:最近在学习特征选择算法,看到了一篇论文,里面提出了基于局部超平面的动态Relief特征选择算法。恰逢刚创博客,想着写点什么,那开篇之作不妨就介绍下什么是超平面吧

注:码字不易,转载请标明出处!!!

在我看过的有关推荐系统的书里面有这样的观点:

搜索引擎满足了用户有明确目的时的主动查找需求,而推荐系统能够在用户没有明确目的的时候帮助他们发现感兴趣的内容。

当我们想了解什么是超平面,我们可以使用搜索引擎,在维基百科中,超平面是这样定义的:

在数学中,超平面是 n 维欧式空间中余维度等于 1 的子空间,即 n 维空间中的超平面是 n-1 维的子空间。这是平面中的直线,空间中的平面之推广(注:这句话很重要)

设 F 为域(为了初等起见,可考虑 F=R),n 维空间F^n中的超平面是由以下方程确定的

a_{1}x_{1} +...+a_{n}x_{n}=b

看上去很抽象,下面我将以个人的理解来讲述超平面,从数学的角度出发,不考虑物理概念。鉴于第一次写博客,经验不足,如有错误,请多多指教!

低维空间上的对超平面的简单了解

在高中的数学课本,我们应该听过,“点动成线,线动成面,面动成体”。

我们先从低维空间出发,在低维空间中简单理解超平面

在一维空间中,只有一个维度,一维坐标系

a_{1}x_{1} +b=0

在一维空间上确定了一个点

点是一维空间上的超平面

在二维空间上,有两个维度,平面直角坐标系

a_{1}x_{1}+a_{2}x_{2}+b=0

在二维空间上确定了一条直线

直线是二维空间上的超平面

在三维空间上,有三个维度,三维坐标系

a_{1}x_{1}+a_{2}x_{2}+a_{3}x_{3}+b=0

在三维空间上确定了一个平面

平面是三维空间上的超平面

以此类推到n维空间上

下面我们将给出一个比较系统的论证

n 维空间中的超平面可以由以下方程给出

a_{1}x_{1} +...+a_{n}x_{n}+b=0       (*)

令 w 和 x 都是 n 维列向量,x 是 n 维空间上的点,w 是 n 维空间上的法向量,b 是一个实数,代表原点到超平面的距离,则

x=(x_{1},x_{2},...,x_{n})^T

a=(a_{1},a_{2},...,a_{n})^T

(*) 改写为 a^Tx+b=0

在此,我们从三维空间出发

在三维空间中,平面的定义如下:

a_{1}x_{1}+a_{2}x_{2}+a_{3}x_{3}+b=0

(注:不同地方的平面方程形式会有不同,但都可以化成上述形式,只是系数会有不同,这里为了统一,采用上述形式)

该平面方程是线性的,即由三维空间上点的三个分量的线性组合构成

显而易见,方程数量是 1 。该平面方程是建立在三维空间上的,类推到高维空间上,就有了超平面的概念。值得说的是,在物理学里,据90年代提出的M理论(超弦理论的一种),宇宙是十一维的,由震动的平面构成的。在此,我们不追究高维空间的物理意义,只研究数学概念

前面说过,超平面是平面中的直线,空间中的平面的推广。同时当维度大于3,才可以被称为超平面。

超平面的本质是自由度比空间维度小1,如何理解自由度呢

数学上,自由度是一个随机向量的维度数,也就是一个向量能被完整描述所需的最少单位向量数。(来自维基百科)

以一种简单的方式来理解吧,自由度是在当前维度空间中的点至少要给定几个分量才能确定它。在文章开头以低维空间的例子中正好说明了该点

超平面 H 是从 n 维空间到 n-1 维空间的一个映射子空间,它有一个n维向量和一个实数定义。(来自于百度百科)

我们依然从三维空间出发

三维空间中点集I=(x,y,z)满足等式( I 为一个平面):

Ax+By+Cz+D=0    (这里对平面方程替换了字母表示,为了后续表示方便)

A,B,C均为标量,且至少有一个不为0,不妨设 C 不为0,则

z=-\frac{A}{C}x-\frac{B}{C}y-\frac{D}{C}

I(x,y,z)=(x,y,-\frac{A}{C}x-\frac{B}{C}y-\frac{D}{C})=x(1,0,-\frac{A}{C})+y(0,1,-\frac{B}{C})+(0,0,-\frac{D}{C})

说明该平面过(0,0,-\frac{D}{C})点,法向量为(A,B,C)

实际上此处是将 z 替换了,若换成x,y,则该平面还会过

(-\frac{D}{A
},0,0)(0,-\frac{D}{B},0),而法向量依然是(A,B,C)

在该平面上任取一点(x_{0},y_{0},z_{0}),显然该点和(0,0,-\frac{D}{C})的差向量与法向量(A,B,C)垂直

A(x-0)+B(y-0)+C(x-(-\frac{D}{C}))=0(平面方程的点法式)  (#)

可以写成Ax+By+Cz+D=0

我们(#)式进行变换,令非零向量n=(A,B,C),该空间中有一个点p
=(0,0,-\frac{D}{C})

由(#)得到        (A,B,C)((x,y,z)-(0,0,-\frac{D}{C}))=0

则在三维空间上,超平面上的点为i,则超平面的方程为

n*(i-p)=0

进一步推广到 n 维空间上

给定 n 维空间上一个点p=(x_{1},x_{2},...,x_{n})和非零向量a=(a_{1},a_{2},...,a_{n}),满足

a*(i-p)=0

点集 i 与点 p 的差向量与 a 向量正交,则称点集 i 为通过点 p 的超平面,向量 a 为通过超平面的法向量

按照该定义,只有当维度大于3才可以成为“超”平面,但是我们仍然可以认为,直线是二维空间内的超平面,平面是三维空间内的超平面 。n 空间的超平面是 n 空间内的一个 n - 1 维的仿射子空间

总结

超平面的概念就暂时介绍到这里了,还有很多相关的概念没有叙述,比如点到超平面的距离,如何判断超平面的正反等等

其实,这些概念可以由立体几何的基础知识类推到 n 维空间上

就比如说判断超平面的正反

在二维空间的直线上,判断一个点与一条直线的位置,我们可以将该点带入直线方程中,将与 0 比较,等于0,说明在直线上,大于,小于 0 说明其在直线的左右侧

在三维空间的平面上,也是如此。类推到 n 维空间上,亦是如此!

注:文章中有些概念带有个人的理解,如有错误,请及时指正哦!

相关文章

  • 什么是超平面?

    低维空间上的对超平面的简单了解 在高中的数学课本,我们应该听过,“点动成线,线动成面,面动成体”。 我们先从低维空...

  • 什么是超平面?

    前言:最近在学习特征选择算法,看到了一篇论文,里面提出了基于局部超平面的动态Relief特征选择算法。恰逢刚创博客...

  • 再看SVM

    超平面描述方程其中w是法向量。空间任意点到平面的距离:假设超平面可以正确分类,则 支持向量到超平面的距离之和为 期...

  • 神经网络与机器学习,tensorflow,part1(感知机)

    1.超平面在几何体中,超平面是一维小于其环境空间的子空间。 如果空间是3维的,那么它的超平面是二维平面,而如果空间...

  • 空间内一点到超平面的距离推广公式

    超平面 与 法向量 超平面(H,Hyperplane) 是二维平面中直线、三维空间中平面对象的推广形式,本质是维空...

  • 06-支持向量机原理(一)线性支持向量机

    1、SVM的超平面 这里可以得到一个结论W向量的转置是这条超平面的转置 1.1、计算点到超平面的距离 1.2、计算...

  • SVM算法

    7.20:::::::硬间隔最大化(线性可分) 二分类问题 找到超平面 且是最优超平面(最大间距的超平面凸二次规...

  • 统计学习方法之支持向量机

    【概述】 SVM训练分类器的方法是寻找到超平面,使正负样本在超平面的两侧(分类正确性即“分得开”),且样本到超平面...

  • Python机器学习之支持向量机

    引言 SVM的基本概念 分隔超平面:将数据集分割开来的直线叫做分隔超平面。超平面:如果数据集是N维的,那么就需要N...

  • 机器学习概念总结

    超平面 超平面是n维欧氏空间中余维度等于一的[线性]子空间,也就是必须是(n-1)维度。 这是平面中的直线、空间中...

网友评论

    本文标题:什么是超平面?

    本文链接:https://www.haomeiwen.com/subject/eacbkctx.html