学习笔记二十三:支持向量机-间隔与支持向量

1. 基本概念

1.1 分类学习的基本思想

分类学习的目标是在样本空间中找到一个划分超平面,将不同类别的样本分开。

问题:可能存在多个划分超平面都能正确分类,应该选择哪一个?

直观想法 :选择位于两类训练样本"正中间"的划分超平面,因为该超平面对训练样本局部扰动的"容忍"性最好,具有最强的泛化能力。

1.2 超平面的定义

在样本空间中,划分超平面可通过如下线性方程来描述:

wTx+b=0w^T x + b = 0wTx+b=0

其中:

  • www 为法向量,决定了超平面的方向
  • bbb 为位移项,决定了超平面与原点之间的距离

样本空间中任意点 xxx 到超平面 (w,b)(w, b)(w,b) 的距离为:

r=∣wTx+b∣∣∣w∣∣r = \frac{|w^T x + b|}{||w||}r=∣∣w∣∣∣wTx+b∣

1.3 支持向量与间隔

支持向量:距离超平面最近的训练样本点,它们决定了划分超平面的位置和方向。即使删除其他所有样本点,只保留支持向量,划分超平面也不会改变。

间隔:两个异类支持向量到超平面的距离之和,记为:

γ=2∣∣w∣∣\gamma = \frac{2}{||w||}γ=∣∣w∣∣2

间隔越大,分类的置信度越高,对训练样本的局部扰动和噪声的容忍性越强。

2. 最大间隔超平面

2.1 分类约束条件

假设超平面 (w,b)(w, b)(w,b) 能将训练样本正确分类,对于 (xi,yi)∈D(x_i, y_i) \in D(xi,yi)∈D:

  • 若 yi=+1y_i = +1yi=+1,则有 wTxi+b≥+1w^T x_i + b \ge +1wTxi+b≥+1
  • 若 yi=−1y_i = -1yi=−1,则有 wTxi+b≤−1w^T x_i + b \le -1wTxi+b≤−1

统一表示为:

yi(wTxi+b)≥1,i=1,2,...,my_i(w^T x_i + b) \ge 1, \quad i = 1, 2, \ldots, myi(wTxi+b)≥1,i=1,2,...,m

等号成立时,样本点位于间隔边界上,这些点就是支持向量。

2.2 SVM的基本型

为了找到具有最大间隔 的划分超平面,需要最大化间隔 γ=2∣∣w∣∣\gamma = \frac{2}{||w||}γ=∣∣w∣∣2,这等价于最小化 ∣∣w∣∣2||w||^2∣∣w∣∣2。

支持向量机的基本型

min⁡w,b12∣∣w∣∣2\min_{w,b} \frac{1}{2}||w||^2w,bmin21∣∣w∣∣2

s.t.yi(wTxi+b)≥1,i=1,2,...,m.\text{s.t.} \quad y_i(w^T x_i + b) \ge 1, \quad i = 1, 2, \ldots, m.s.t.yi(wTxi+b)≥1,i=1,2,...,m.

这是一个凸二次规划问题,存在全局最优解。

优化目标的意义

  • 最小化法向量的平方范数,等价于最大化间隔
  • 约束条件确保所有训练样本都被正确分类
  • 支持向量满足等号约束,位于间隔边界上

3. 总结

核心概念

  1. 划分超平面:用于分离不同类别样本的决策边界
  2. 支持向量:距离超平面最近的样本点,决定超平面的位置
  3. 间隔 :两个异类支持向量之间的距离,γ=2∣∣w∣∣\gamma = \frac{2}{||w||}γ=∣∣w∣∣2
  4. 最大间隔原则:选择间隔最大的划分超平面,以获得最好的泛化性能

SVM的基本型

min⁡w,b12∣∣w∣∣2\min_{w,b} \frac{1}{2}||w||^2w,bmin21∣∣w∣∣2

s.t.yi(wTxi+b)≥1,i=1,2,...,m.\text{s.t.} \quad y_i(w^T x_i + b) \ge 1, \quad i = 1, 2, \ldots, m.s.t.yi(wTxi+b)≥1,i=1,2,...,m.

优势

  • 最大间隔原则提供了良好的泛化能力
  • 支持向量决定了模型,模型具有稀疏性
  • 优化问题是凸优化问题,有全局最优解
  • 理论基础扎实,有严格的统计学习理论支撑
相关推荐
气概1 天前
法奥机器人学习使用
学习·junit·机器人
Qhumaing1 天前
C++学习:【PTA】数据结构 7-1 实验7-1(最小生成树-Prim算法)
c++·学习·算法
好大哥呀1 天前
Java Web的学习路径
java·前端·学习
梦雨羊1 天前
Base-NLP学习
人工智能·学习·自然语言处理
丝斯20111 天前
AI学习笔记整理(42)——NLP之大规模预训练模型Transformer
人工智能·笔记·学习
小猪佩奇TONY1 天前
Linux 内核学习(14) --- linux x86-32 虚拟地址空间
linux·学习
副露のmagic1 天前
更弱智的算法学习 day28
学习
ha20428941941 天前
Linux操作系统学习记录之---TcpSocket
linux·网络·c++·学习
凉、介1 天前
深入 QEMU Guest Agent:虚拟机内外通信的隐形纽带
c语言·笔记·学习·嵌入式·虚拟化
崇山峻岭之间1 天前
Matlab学习记录31
开发语言·学习·matlab