几何学基本概念——超平面(hyperplane)

在几何中,超平面是将三维空间中的二维平面推广至任意维数学空间所得到的概念 。正如三维空间中的平面一样,超平面是一种"平坦(flat)"的超曲面 (hypersurface),即它是维数比其所处的环境空间 (ambient space)低一维的子空间。超平面的两个低维实例分别是平面中的一维直线,以及直线上的零维点加上前缀"超" ( hyper -) 以表明,它虽然类似于平面,但其内涵可能远不止是一个普通的二维平面。 在三维几何学中,我们通常将一个平面视为一个三维空间中的一个二维对象。在标准的 Euclid 几何中,经过某已知点且垂直于某直线的平面是唯一确定的;同理,经过平面上某已知点且垂直于该平面的直线也是唯一确定的。我们希望将这种"直线与平面"之间的关联推广至更高维度。这正是"超平面"定义为 n - 1 维的原因------因为它恰好是该空间中某个 1 维子空间的正交补。

最常见的情况是,环境空间为n 维Euclid空间;在此情形下,超平面即为 (n - 1) 维的"平坦子空间"(flats),每一个超平面都将该空间分割为两个半空间。关于超平面的反射是一种"运动"(即保持点间距离不变的几何变换),而所有的运动共同构成了一个群,该群正是由这些反射所生成的。凸多胞形(A convex polytope)则是若干个半空间的交集。

在非Euclid几何中,环境空间可能是 n 维球面、双曲空间,或者更一般地,是伪Riemann空间形式;此时的超平面则是由所有穿过某一点且垂直于特定法测地线的测地线所构成的超曲面。

在其他类型的环境空间中,Euclid空间所具备的某些性质可能不再适用。例如,在仿射空间中,由于不存在距离的概念,因此也就无所谓反射或运动。而在像椭圆空间或射影空间这类不可定向的空间中,则不存在"半空间"这一概念。从最广义的角度来看,只要某个数学空间中定义了子空间的维数概念,那么"超平面"这一概念在该空间中便具有其确切的意义。

子空间与其环境空间之间的维数之差,称为该子空间的"余维数"(codimension)。超平面的余维数恒为 1 。

在计算机科学中,超平面是指利用直线或平面来分隔多维空间中不同区域的一种概念。超平面通常通过方程来表示,并可依据数据点相对于超平面的位置,将其归入不同的类别。最优超平面是指能够最大化超平面自身与来自两个类别的最近数据点之间间隔(即"间隔")的那个超平面。

此类超平面常用于分类算法中(例如支持向量机 [SVM] 和线性回归),旨在将属于不同类别的数据点区分开来。此外,它们也被应用于聚类算法中,用于识别输入空间内的数据点簇。

为了在分类任务中确定理想的超平面,算法通常致力于最大化该超平面与各类别中距离其最近的数据点之间的"间隔"(margin);这是因为,更宽阔的间隔往往能自然地构建出更为稳健且泛化能力更强的模型。

超平面同样适用于回归任务,此类任务的目标是预测连续的输出数值,而非类别标签。在此情境下,超平面代表着那条"最佳拟合线",其作用在于最小化预测值与实际值之间误差平方之和。

相关推荐
沈阳信息学奥赛培训2 小时前
C++ 指针* 和 指针的引用 *& (不是指针和引用,是指针的引用)
数据结构·c++·算法
老鱼说AI2 小时前
《深入理解计算机系统》(CSAPP)2.2:整数数据类型与底层机器级表示
开发语言·汇编·算法·c#
会编程的土豆2 小时前
【数据结构与算法】 树
数据结构·算法
LSL666_2 小时前
Redis值数据类型——hash
redis·算法·哈希算法·数据类型
喵喵蒻葉睦2 小时前
力扣 hot100 滑动窗口最大值 单调双端队列 java 简单题解
java·数据结构·算法·leetcode·双端队列·滑动窗口·队列
样例过了就是过了2 小时前
LeetCode热题100 搜索二维矩阵
数据结构·c++·算法·leetcode·矩阵
2401_831920742 小时前
C++与Qt图形开发
开发语言·c++·算法
Shining05962 小时前
AI 编译器系列(四)《AI 编译器中的后端优化》
linux·服务器·人工智能·线性代数·算法·triton·ai编译器
郑同学zxc2 小时前
机器学习18-tensorflow4.1
人工智能·机器学习