目录
老饼讲解:一步一步上手学习

【模型】SVM-模型结构-硬间隔模型

作者 : 老饼 发表日期 : 2026-01-07 11:40:36 更新日期 : 2026-05-18 02:28:13
老饼讲解-简单易懂,干货满满,爽过嗦螺!


SVM模型全称为(Support Vector Machine)支持向量机,是机器学习中堪称最具数学之前的模型,SVM最早提出的是硬间隔模型,但后来又拓展出了软间隔模型,虽然实际使用中一般是使用软间隔模型,但学习时又必须先了解硬间隔模型,才能更好地理解软间隔模型,因此,这里我们先来看看SVM的硬间隔模型。

一、SVM-硬间隔模型

支持向量机SVM主要用于解决二分类问题,也就是预测样本是正样本还是负样本。SVM最早提出的是硬间隔模型,它的前提是样本线性可分,但后来又提出了软间隔模型,去除了这一条件。在本文中,我们只讲硬间隔模型

1.1. SVM-硬间隔模型-原始目的

SVM是一种二分类模型,而SVM硬间隔模型假设样本线性可分,它的原始目的是找出一个判别面,让样本离判断面的最小距离最大化,如下:

 SVM-硬间隔模型-原始目的

如上图所示,SVM最原始的目标是找出一个判别超平面,把样本按类别一分为二,能令样本分开的平面非常多,而SVM的目标是令样本离判别平面的最小距离最大化。

1.2. SVM-硬间隔模型-引入支持面

直接找最优判别面较难找,SVM并不是直接找最优判别面,而是在两类样本之间,引入两个平行的支持面(支持面之间不能有样本),然后让支持平面尽量撑开:

 SVM-支持面

支持面是一对平行面,它们之间的距离越大越好,在最大间隔化时它们是两类样本的边界,进一步地,定义两个支持面的中心就是判别面,所以找到支持面,同时也就找到了判别面。

所以,SVM的直接目标是找出距离最大化的两个支持面,从而曲线救国达到找出最优判别面的原始目的。

1.3. SVM-硬间隔模型

总的来说,SVM硬间隔模型的前提是正负两类样本必须线性可分,然后引入两个支持面,在两个支持面之间没有任何样本的前提下,尽量最大化支持面的间隔:

 SVM-硬间隔模型

SVM的两个支持面的中心就是判别面,在应用时就可以通过判别面来对样本进行判别。

二、SVM-模型数学表述

通过上面,我们就知道SVM到底是想干什么了,下面我们来看看SVM模型的数学表述。

2.1. 判别面与支持面的表示

我们这里先用数学来描述一下判别面、支持面的表述,它们的表述是SVM的基础。

支持向量机的判别面、支持面是三个平行面,因此它们的数学表示为:

支持面:  

判别面:     

解说:由于支持面是两个平行面,不失一般性,可以设两个支持面为:,而判别面是两个支持面中间的平行面,因此,判别面的表示就为: 

进一步可得,判别面与支持面的距离为:

 

解说:由距离公式可知,判别面与支持面的距离为,注意,由于支持面对称地设为,因此不仅决定了它们的方向,还决定了它们的距离。

2.2. SVM的模型表达式-判别函数

好了,我们知道,SVM就是判别样本是正的还是负的,所以在应用SVM模型时,使用的是SVM的判别函数。

SVM的判别函数如下表示:

 

SVM的判别函数,就是SVM的模型,当判别值则判为正样本,当判别值则判为负样本。

我们来剖析一下,这个判别值g到底是什么。由于时,代表落在支持面上,而支持面与判别面的距离为d,所以判别值 就代表样本距离支持面是多少d,例如时,代表样本在判别面正侧2d的位置,时则代表在负侧2d的位置。

三、SVM的损失函数

本节讲述SVM支持向量机模型的损失函数。

3.1. SVM-支持面之间的距离 

在讲述SVM的损失函数前,我们先来看看支持面的距离公式。

上面已经讲述,SVM支持面与判别面的距离d为:

因此,两个支持面的距离则为2d,即:

3.2. SVM-硬间隔模型-损失函数

硬间隔SVM最大化支持面之间的距离,并要求所有样本在支持面之外,因此,硬间隔的损失函数如下:

 目标函数:                                                                    

                                  

约束条件:                                                                  

  ,    

硬间隔的目标函数是容易理解的,它就是要最大化两个支持面之间的距离,这就等价于最小化,进一步地,为了计算方便,给加平方,这样可以去掉根号,因此最终损失函数就变为为了。

而约束条件,是在约束正样本需要在正支持面一侧,而负样本需要在负支持面一侧,如下:

由于,正样本要在正支持面一侧,即,此时,可得  
同样,负样本要在负支持面一侧,即,此时,可得 


四、什么是支持向量

落在支持面上的样本,称为支持向量,它们是模型的关键样本。

 SVM-硬间隔模型-支持向量

也就是说,看起来用很多样本训练模型,但最关键的样本其实并不多。

这里我们只是先简单地了解一下什么是支持向量,后面再说支持向量的具体数学定义和理由。

总结

总的来说,SVM硬间隔模型在假设样本线性可分的前提下,希望找出一个最大间隔的判别面,但直接找判别面是困难的,因此曲线救国,先找出最大间隔的支持面,从而再得到判别面。而SVM的损失函数则是最大化两个支持面的间隔,同时约束样本必须在正确地落在支持面的两侧,好了,这就是SVM硬间隔模型的整体内容了。



图标 评论
添加评论