超平面的数学基础知识

  • 超平面的相关知识是学习SVM算法的数学基础。当初为了弄清楚超平面的全面知识,在网络上搜寻良久都没找到详细的讲解,最终是一篇英文讲义救了急。
  • 我做了中文笔记分享出来,希望能帮助到大家(英文讲义链接就不分享啦,怕文章被封禁><)。
  • ps: 学习超平面相关知识需要了解向量的基础知识,包括但不限于向量的点积、向量的夹角等。

1. 定义

  1. 超平面是指在n维空间中,余维度为1的子空间,即超平面是n维空间中的n-1维的子空间
  2. 特别的有,2维空间的超平面就是一条线;3维空间的超平面则是一个平面。

2. 公式

  1. 假设存在n维空间,则位于其超平面的数据点(x \in \mathbb{R^n})满足该条件:\theta_0 + \theta_1 x_1+ \theta_2 x_2 + \theta_3 x_3...+ \theta_n x_n=0
    1. \theta_0是某个常数,当\theta_0 = 0时,超平面经过原点。
    2. 当两个超平面除了\theta_0之外,其余参数均相等,则两个超平面相互平行。

3. 法向量

  1. 法向量(normal vector)垂直于超平面,决定了超平面的方向。
    \vec{\theta}= \{\theta_1,\theta_2,\theta_3,...\theta_n\}
    1. 任何与法向量点积为0的向量亦平行于该超平面。
    2. 法向量等于两个不同方向的平行向量的叉积,即\vec{\theta} = \vec{a} * \vec{b}
      image.png

4. 点到超平面的距离s:

  1. 点到超平面的垂直距离s可以认为是点x_0与超平面上任意一点x_1构成的向量\vec{h}与标准化法向量\frac{\vec{\theta}}{||\vec{\theta}||}的点积,即该向量在标准化法向量上的映射。
  2. s为正,则该点位于超平面的正面;s为负,则位于另一面。
    s = \vec{h} \cdot \frac{\vec{\theta}}{||\vec{\theta}||} =\frac{(\vec{\theta} \cdot x_0 + \theta_0)}{||\vec{\theta}||}
    image.png

5. 点到超平面的映射

  1. x_0到超平面的映射(Orthogonal Projection)即为点q,等于点x_0与超平面上任意一点x_1构成的向量\vec{h}减去点到超平面的距离向量s \cdot \frac{\vec{\theta}}{||\vec{\theta}||},化简之后可以得到:
    x_0^{projection} = \vec{h}- s \cdot \frac{\vec{\theta}}{||\vec{\theta}||}=x_0 - \frac{\theta \cdot (\theta \cdot x_0+\theta_0)}{||\vec{\theta}||^2}
    image.png

6. 超平面之间的夹角

  1. 超平面的夹角等于法向量的夹角。
    \alpha = cos^{-1}(\frac{\vec{\theta_1} \cdot \vec{\theta_2}}{||\vec{\theta_1}|| \cdot ||\vec{\theta_2}||})
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。