[模式识别-从入门到入土] 支持向量积SVM

[模式识别-从入门到入土] 支持向量积SVM

知乎:https://www.zhihu.com/people/byzh_rc

CSDN:https://blog.csdn.net/qq_54636039

注:本文仅对所述内容做了框架性引导,具体细节可查询其余相关资料or源码

参考文章:各方资料

文章目录

SVM引入

本质:特征空间中最大化间隔的线性分类器,属于二分类模型

给定数据集,存在法向量 ω = ( ω 1 ; ω 2 ; . . . ; ω m ) \omega=(\omega_1;\omega_2;...;\omega_m) ω=(ω1;ω2;...;ωm)和位移项 b b b,对应超平面 ω T x + b = 0 \omega^Tx+b=0 ωTx+b=0

若超平面满足下式,则数据集线性可分:
{ ω T x i + b > 0 , y i = + 1 ω T x i + b < 0 , y i = − 1 \begin{cases} \omega^T x_i+b>0,\quad y_i=+1 \\ \omega^T x_i+b<0,\quad y_i=-1 \end{cases} {ωTxi+b>0,yi=+1ωTxi+b<0,yi=−1

三类 数据 模型 核心机制
线性可分SVM 线性 线性分类器 硬间隔
线性SVM 非线性(含噪) 线性分类器 软间隔
非线性SVM 非线性 非线性分类器 核技巧

间隔

点到超平面的距离:
r = ∣ ω T x i + b ∣ ∣ ∣ ω ∣ ∣ r=\frac{|\omega^T x_i+b|}{||\omega||} r=∣∣ω∣∣∣ωTxi+b∣

在二维情况下, 超平面是直线:

样本点 x = ( x 1 , x 2 ) x=(x_1,x_2) x=(x1,x2)

超平面 ω T x + b = ω 1 x 1 + ω 2 x 2 + b = 0 \omega^Tx+b=\omega_1x_1+\omega_2x_2+b=0 ωTx+b=ω1x1+ω2x2+b=0

距离 r = ∣ ω 1 x 1 + ω 2 x 2 + b ∣ ω 1 2 + ω 2 2 r=\frac{|\omega_1x_1+\omega_2x_2+b|}{\sqrt{\omega_1^2+\omega_2^2}} r=ω12+ω22 ∣ω1x1+ω2x2+b∣

函数间隔 γ i ^ \hat{\gamma_i} γi^

衡量对样本分类(正/负例)的确信度,未归一化

  • 单个样本 x i x_i xi的函数间隔 γ i ^ \hat{\gamma_i} γi^
    γ i ^ = y i ( ω T x i + b ) = ∣ ω T x i + b ∣ \hat{\gamma_i} = y_i(\omega^T x_i+b) = |\omega^T x_i+b| γi^=yi(ωTxi+b)=∣ωTxi+b∣

  • 数据集的函数间隔 γ ^ \hat{\gamma} γ^ -> 所有样本函数间隔的最小值
    γ ^ = min ⁡ i = 1 , 2 , . . . , m γ i ^ \hat{\gamma} = \min_{i=1,2,...,m}\hat{\gamma_i} γ^=i=1,2,...,mminγi^

缺陷:当 ω \omega ω和 b b b成比例缩放 n n n倍时,超平面位置不变,但函数间隔会变为原来的 n n n倍

几何间隔 γ i \gamma_i γi

归一化后的间隔,即样本到超平面的真实欧氏距离

  • 单个样本 x i x_i xi的几何间隔 γ i \gamma_i γi:
    γ i = y i ( ω T ∥ ω ∥ x i + b ∥ ω ∥ ) \gamma_i= y_{i}\left(\frac{\omega^{T}}{\|\omega\|} x_{i}+\frac{b}{\|\omega\|}\right) γi=yi(∥ω∥ωTxi+∥ω∥b)

  • 数据集的几何间隔 γ \gamma γ -> 所有样本几何间隔的最小值
    γ = min ⁡ i = 1 , 2 , . . . , m γ i \gamma = \min_{i=1,2,...,m}\gamma_i γ=i=1,2,...,mminγi

二者关系:
γ i = γ i ^ ∣ ∣ ω ∣ ∣ \gamma_i=\frac{\hat{\gamma_i}}{||\omega||} γi=∣∣ω∣∣γi^

当 ∣ ∣ ω ∣ ∣ = 1 ||\omega||=1 ∣∣ω∣∣=1时, 几何间隔就是函数间隔

最大间隔分离超平面(唯一的)

同时满足两个条件的超平面:

  • 正确划分数据集
  • 使数据集的几何间隔最大(让数据点尽可能远离超平面)

表述一:
max ⁡ ω , b γ s.t. y i ( ω T ∥ ω ∥ x i + b ∥ ω ∥ ) ≥ γ , i = 1 , ⋯   , m \begin{align} \max_{\omega, b} &\quad \gamma \\ \text{s.t.} &\quad y_{i}\left(\frac{\omega^{T}}{\|\omega\|} x_{i}+\frac{b}{\|\omega\|}\right) \geq \gamma, \quad i=1, \cdots, m \end{align} ω,bmaxs.t.γyi(∥ω∥ωTxi+∥ω∥b)≥γ,i=1,⋯,m

表述二:
max ⁡ γ , ω , b γ ^ ∥ ω ∥ s.t. y i ( ω T x i + b ) ≥ γ ^ , i = 1 , 2 , ⋯ m \begin{align} \max_{\gamma, \omega, b} &\quad \frac{\hat{\gamma}}{\|\omega\|} \\ \text {s.t. } & y_{i}\left(\omega^{T} x_{i}+b\right) \geq \hat{\gamma}, i=1,2, \cdots m \end{align} γ,ω,bmaxs.t. ∥ω∥γ^yi(ωTxi+b)≥γ^,i=1,2,⋯m

线性可分SVM

由于 ( ω , b ) (\omega,b) (ω,b)可按比例缩放,不失一般性,固定最小函数间隔 γ ^ \hat{\gamma} γ^为 1 , 则:
γ i = 1 ∣ ∣ ω ∣ ∣ \gamma_i=\frac{1}{||\omega||} γi=∣∣ω∣∣1

原问题

最大化几何间隔 γ i \gamma_i γi,等价于最小化 ∣ ∣ ω ∣ ∣ 2 ||\omega||^2 ∣∣ω∣∣2
min ⁡ γ , ω , b 1 2 ∣ ∣ ω ∣ ∣ 2 s.t. y i ( ω T x i + b ) ≥ 1 , i = 1 , 2 , ⋯ m \begin{align} \min_{\gamma, \omega, b} &\quad \frac{1}{2} ||\omega||^2 \\ \text {s.t. } & y_{i}\left(\omega^{T} x_{i}+b\right) \geq 1, i=1,2, \cdots m \end{align} γ,ω,bmins.t. 21∣∣ω∣∣2yi(ωTxi+b)≥1,i=1,2,⋯m

支持向量

刚好落在间隔边界上的样本:
y i ( ω T x i + b ) = 1 y_{i}\left(\omega^{T} x_{i}+b\right) = 1 yi(ωTxi+b)=1

-> 直接决定超平面的位置

对偶问题求解

原问题是凸优化问题,可通过拉格朗日对偶性转换为对偶问题求解

引入拉格朗日乘子 α i ≥ 0 \alpha_i \ge 0 αi≥0,构造拉格朗日函数:
L ( ω , b , α ) = 1 2 ∣ ∣ ω ∣ ∣ 2 − ∑ i = 1 m α i [ y i ( ω T x i + b ) − 1 ] \quad L(\omega,b,\alpha)=\frac{1}{2} ||\omega||^2-\sum_{i=1}^m\alpha_i[y_{i}(\omega^{T} x_{i}+b)-1] L(ω,b,α)=21∣∣ω∣∣2−i=1∑mαi[yi(ωTxi+b)−1]

先极小化拉格朗日函数关于 ω , b \omega,b ω,b 的值,再极大化关于 α \alpha α 的值:
d = max ⁡ α : α i min ⁡ ω , b L ( ω , α , b ) \quad d=\max_{\alpha:\alpha_i} \min_{\omega, b} L(\omega, \alpha, b) d=α:αimaxω,bminL(ω,α,b)

对 ω \omega ω 求偏导: ∇ ω L = ω − ∑ i = 1 m α i y i x i = 0 \nabla_{\omega} L = \omega-\sum^m_{i=1}\alpha_iy_ix_i=0 ∇ωL=ω−∑i=1mαiyixi=0

-> ω = ∑ i = 1 m α i y i x i \omega = \sum^m_{i=1}\alpha_iy_ix_i ω=∑i=1mαiyixi

对 b 求偏导: ∇ b L = ∑ i = 1 m α i y i = 0 \nabla_{b} L = \sum^m_{i=1}\alpha_iy_i=0 ∇bL=∑i=1mαiyi=0

将 ω = ∑ i = 1 m α i y i x i \omega = \sum^m_{i=1}\alpha_iy_ix_i ω=∑i=1mαiyixi 和 ∑ i = 1 m α i y i = 0 \sum^m_{i=1}\alpha_iy_i=0 ∑i=1mαiyi=0 代入 L ( ω , b , α ) L(\omega,b,\alpha) L(ω,b,α),化简得:
min ⁡ ω , b L ( ω , b , α ) = − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j ( x i ) T x j + ∑ i = 1 m α i \min_{\omega, b} L(\omega, b,\alpha) =-\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\alpha_{i}\alpha_{j} y_{i}y_{j}(x_{i})^{T} x_{j}+\sum_{i=1}^{m}\alpha_{i} ω,bminL(ω,b,α)=−21i=1∑mj=1∑mαiαjyiyj(xi)Txj+i=1∑mαi

原极大化目标等价于极小化其相反数,最终对偶优化问题为:
min ⁡ α 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j ⟨ x i , x j ⟩ − ∑ i = 1 m α i s.t. α i ≥ 0 , i = 1 , ⋯   , m ∑ i = 1 m α i y i = 0 \min_{\alpha} \frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m} \alpha_{i} \alpha_{j} y_{i} y_{j} \langle x_{i}, x_{j} \rangle - \sum_{i=1}^{m} \alpha_{i} \\ \begin{align} \text{s.t.} \quad & \alpha_{i} \geq 0, \quad i=1, \cdots, m \\ &\sum_{i=1}^{m} \alpha_{i} y_{i} = 0 \end{align} αmin21i=1∑mj=1∑mαiαjyiyj⟨xi,xj⟩−i=1∑mαis.t.αi≥0,i=1,⋯,mi=1∑mαiyi=0

⟨ x i , x j ⟩ \langle x_{i}, x_{j} \rangle ⟨xi,xj⟩: 向量 x i x_i xi 和 x j x_j xj 的内积/点积

若 α ∗ = ( α 1 ∗ , α 2 ∗ , . . . , α m ∗ ) T \alpha^*=(\alpha^*_1,\alpha^*_2,...,\alpha^*_m)^T α∗=(α1∗,α2∗,...,αm∗)T 是对偶问题的最优解,则原问题的最优解为:

  • 最优参数 ω ∗ \omega^* ω∗: ω ∗ = ∑ i = 1 m α i ∗ y i x i \omega^{*} = \sum_{i=1}^{m} \alpha_{i}^* y_{i} x_{i} ω∗=∑i=1mαi∗yixi
  • 最优参数 b ∗ b^* b∗(取任意支持向量 x j x_j xj 计算): b ∗ = y j − ∑ i = 1 m α i ∗ y i ⟨ x i , x j ⟩ b^{*} = y_{j} - \sum_{i=1}^{m} \alpha_{i}^* y_{i} \langle x_{i}, x_{j} \rangle b∗=yj−∑i=1mαi∗yi⟨xi,xj⟩
  • 最大间隔超平面方程: ∑ i = 1 m α i ∗ y i ⟨ x i , x ⟩ + b ∗ = 0 \sum_{i=1}^m\alpha_i^* y_i\langle x_{i}, x \rangle+b^*=0 ∑i=1mαi∗yi⟨xi,x⟩+b∗=0
KKT条件
条件 数学表达式 含义
1 α i ≥ 0 \alpha_i \ge 0 αi≥0 拉格朗日乘子必须是非负的
2 y i f ( x i ) − 1 ≥ 0 y_i f(x_i) - 1 \ge 0 yif(xi)−1≥0 要么在间隔边界上 ,要么在间隔外
3 α i ( y i f ( x i ) − 1 ) = 0 \alpha_i (y_i f(x_i) - 1) = 0 αi(yif(xi)−1)=0 互补松弛性:决定哪些点成为支持向量

只有在"刚好卡在间隔边界上的样本"才具有 α i > 0 \alpha_i > 0 αi>0,因此才是真正影响超平面的位置 的样本 → 支持向量

线性SVM

数据存在一些特异点, 但大部分是线性可分的

-> 数据非线性

目标: 在最大化分类间隔的同时,最小化误分类点的数量(允许少量样本不满足严格线性可分)

松弛变量 : ξ i ≥ 0 \xi_i \geq 0 ξi≥0

用于衡量样本偏离"理想间隔边界"的程度
ξ i \xi_i ξi越大,样本偏离越严重(甚至误分)

惩罚参数 : C > 0 C > 0 C>0

平衡"最大化间隔"与"最小化误分类代价"的权重

  • C C C 越大:对误分类点的惩罚越重,更倾向于减少误分,可能导致间隔变小,易过拟合
  • C C C 越小:对误分类点的惩罚越轻,更倾向于增大间隔,可能导致更多误分,易欠拟合
原问题

在允许松弛变量的前提下,通过最小化 1 2 ∣ ∣ ω ∣ ∣ 2 \frac{1}{2} ||\omega||^2 21∣∣ω∣∣2和误分类代价 C ∑ i = 1 m ξ i C\sum_{i=1}^m \xi_i C∑i=1mξi,构建约束优化问题:
min ⁡ γ , ω , b 1 2 ∣ ∣ ω ∣ ∣ 2 + C ∑ i = 1 m ξ i s.t. y i ( ω T x i + b ) ≥ 1 − ξ i , i = 1 , 2 , ⋯   , m ξ i ≥ 0 , i = 1 , 2 , ⋯   , m \min_{\gamma, \omega, b} \quad \frac{1}{2} ||\omega||^2 + C\sum_{i=1}^m \xi_i \\ \begin{align} \text {s.t. } & y_{i}\left(\omega^{T} x_{i}+b\right) \geq 1-\xi_i, \quad i=1,2, \cdots, m \\ & \xi_i \geq 0, \quad i=1,2, \cdots, m \end{align} γ,ω,bmin21∣∣ω∣∣2+Ci=1∑mξis.t. yi(ωTxi+b)≥1−ξi,i=1,2,⋯,mξi≥0,i=1,2,⋯,m

线性可分SVM是线性SVM的特殊情况:

当无特异点时, ξ i = 0 \xi_i=0 ξi=0,线性SVM退化为线性可分SVM

最优解:

  • 最优参数 ω ∗ \omega^* ω∗:唯一确定
  • 最优参数 b ∗ b^* b∗:不唯一,解存在于一个区间内
  • 最优超平面: ω ∗ x + b ∗ = 0 \omega^*x + b^* = 0 ω∗x+b∗=0
对偶问题求解

引入拉格朗日乘子 α i ≥ 0 \alpha_i \geq 0 αi≥0(对应间隔约束)和 μ i ≥ 0 \mu_i \geq 0 μi≥0(对应松弛变量非负约束)

构造拉格朗日函数:
L ( ω , b , ξ , α , μ ) = 1 2 ∥ ω ∥ 2 + C ∑ i = 1 m ξ i − ∑ i = 1 m α i ( y i ( ω x ( i ) + b ) − 1 + ξ i ) − ∑ i = 1 m μ i ξ i L(\omega, b,\xi,\alpha,\mu)=\frac{1}{2}\|\omega\|^{2}+C\sum_{i=1}^{m}\xi_{i}-\sum_{i=1}^{m}\alpha_{i}\left(y_{i}\left(\omega x^{(i)}+b\right)-1+\xi_{i}\right)-\sum_{i=1}^{m}\mu_{i}\xi_{i} L(ω,b,ξ,α,μ)=21∥ω∥2+Ci=1∑mξi−i=1∑mαi(yi(ωx(i)+b)−1+ξi)−i=1∑mμiξi

"先极小化拉格朗日函数关于 ω , b , ξ \omega, b, \xi ω,b,ξ的值,再极大化关于 α \alpha α的值"

-> 最终转化为对偶优化问题(极小化目标):
min ⁡ ω , b , ξ 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j ⟨ x i , x j ⟩ − ∑ i = 1 m α i s.t. 0 ≤ α i ≤ C , i = 1 , ⋯   , m ∑ i = 1 m α i y i = 0 \min_{\omega,b,\xi} \frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m} \alpha_{i} \alpha_{j} y_{i} y_{j} \langle x_{i}, x_{j} \rangle - \sum_{i=1}^{m} \alpha_{i} \\ \begin{align} \text{s.t.} \quad & 0 \leq \alpha_{i} \leq C, \quad i=1, \cdots, m \\ &\sum_{i=1}^{m} \alpha_{i} y_{i} = 0 \end{align} ω,b,ξmin21i=1∑mj=1∑mαiαjyiyj⟨xi,xj⟩−i=1∑mαis.t.0≤αi≤C,i=1,⋯,mi=1∑mαiyi=0

线性可分SVM的差异:

核心区别在于对拉格朗日乘子 α i \alpha_i αi的不等式约束:

  • 线性可分SVM: α i ≥ 0 \alpha_i \geq 0 αi≥0
  • 线性SVM(软间隔): 0 ≤ α i ≤ C 0 \leq \alpha_i \leq C 0≤αi≤C

若 α ∗ = ( α 1 ∗ , α 2 ∗ , . . . , α m ∗ ) T \alpha^*=(\alpha^*_1,\alpha^*_2,...,\alpha^*_m)^T α∗=(α1∗,α2∗,...,αm∗)T是对偶问题的最优解,则原问题的最优解可通过以下公式计算:

  • 最优 ω ∗ \omega^* ω∗: ω ∗ = ∑ i = 1 m α i ∗ y i x i \omega^{*} = \sum_{i=1}^{m} \alpha_{i}^* y_{i} x_{i} ω∗=∑i=1mαi∗yixi(由对偶问题的KKT条件推导得出)
  • 最优 b ∗ b^* b∗:取任意支持向量 x j x_j xj计算, b ∗ = y j − ∑ i = 1 m α i ∗ y i ⟨ x i , x j ⟩ b^{*} = y_{j} - \sum_{i=1}^{m} \alpha_{i}^* y_{i} \langle x_{i}, x_{j} \rangle b∗=yj−∑i=1mαi∗yi⟨xi,xj⟩
  • 最优超平面方程: ∑ i = 1 m α i ∗ y i ⟨ x i , x ⟩ + b ∗ = 0 \sum_{i=1}^m\alpha_i^* y_i\langle x_{i}, x \rangle + b^* = 0 ∑i=1mαi∗yi⟨xi,x⟩+b∗=0
软间隔的支持向量

对偶问题最优解 α ∗ \alpha^* α∗中,满足 α i ∗ > 0 \alpha_i^* > 0 αi∗>0的样本点 x i x_i xi

(仅支持向量才能影响超平面的位置和形状)

根据 α i ∗ \alpha_i^* αi∗和 ξ i \xi_i ξi的取值,支持向量分为4类,对应不同的样本位置:

α i ∗ \alpha_i^* αi∗ 与 ξ i \xi_i ξi 几何位置(基于 f ( x ) = w ⊤ x + b f(x)=\mathbf w^\top x+b f(x)=w⊤x+b)
0 < α i ∗ < C 0 < \alpha_i^* < C 0<αi∗<C, ξ i = 0 \xi_i=0 ξi=0 恰好位于对应类别的间隔边界线上 ,即 y i f ( x i ) = 1 y_i f(x_i)=1 yif(xi)=1
α i ∗ = C \alpha_i^*=C αi∗=C, 0 < ξ i < 1 0<\xi_i<1 0<ξi<1 位于对应类别的间隔边界与超平面之间 ,即 0 < y i f ( x i ) < 1 0<y_i f(x_i)<1 0<yif(xi)<1
α i ∗ = C \alpha_i^*=C αi∗=C, ξ i = 1 \xi_i=1 ξi=1 恰好位于分类超平面上 ,即 y i f ( x i ) = 0 y_i f(x_i)=0 yif(xi)=0
α i ∗ = C \alpha_i^*=C αi∗=C, ξ i > 1 \xi_i>1 ξi>1 位于分类超平面错误一侧 ,即 y i f ( x i ) < 0 y_i f(x_i)<0 yif(xi)<0
text 复制代码
              正类一侧  →  沿 w 方向
            (纵向表示的不是f(x),而是yf(x))
f(x)=+1   |============①=================|   正间隔边界
          |        α<C, ξ=0              |
          |                              |
          |                              |
          |       ②                      |
          |  α=C, 0<ξ<1                  |
----------|-------------------③----------|----------  f(x)=0 超平面
          |       ②         α=C, ξ=1     |
          |  α=C, 0<ξ<1                  |
          |                              |
          |            ④                 |
          |        α=C, ξ>1              |
f(x)=-1   |==============================|   负间隔边界

非线性SVM

优化目标:

核函数替换对偶问题的内积
W ( α ) = 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j K ( x i , x j ) − ∑ i = 1 m α i W(\alpha)=\frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m} \alpha_{i} \alpha_{j} y_{i} y_{j} K(x_{i}, x_{j}) - \sum_{i=1}^{m} \alpha_{i} W(α)=21i=1∑mj=1∑mαiαjyiyjK(xi,xj)−i=1∑mαi

因映射函数是非线性的,故含核函数的SVM为非线性SVM

选取合适的核函数 K ( x , z ) K(x,z) K(x,z)和参数 C C C,构造优化问题:
min ⁡ α 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j K ( x i , x j ) − ∑ i = 1 m α i s.t. 0 ≤ α i ≤ C , i = 1 , ⋯   , m ∑ i = 1 m α i y i = 0 \min_{\alpha} \frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m} \alpha_{i} \alpha_{j} y_{i} y_{j} K(x_{i}, x_{j}) - \sum_{i=1}^{m} \alpha_{i} \\ \begin{align} \text{s.t.} \quad & 0 \leq \alpha_{i} \leq C, \quad i=1, \cdots, m \\ &\sum_{i=1}^{m} \alpha_{i} y_{i} = 0 \end{align} αmin21i=1∑mj=1∑mαiαjyiyjK(xi,xj)−i=1∑mαis.t.0≤αi≤C,i=1,⋯,mi=1∑mαiyi=0

最优解 α ∗ \alpha^* α∗与截距 b ∗ b^* b∗的计算:

  • 求解上述优化问题,得到最优解 α ∗ = ( α 1 ∗ , α 2 ∗ , . . . , α m ∗ ) T \alpha^*=(\alpha^*_1,\alpha^*_2,...,\alpha^*_m)^T α∗=(α1∗,α2∗,...,αm∗)T
  • 选取 α ∗ \alpha^* α∗中满足 0 < α j ∗ < C 0 < \alpha_j^* < C 0<αj∗<C 的样本,计算截距 b ∗ b^* b∗
  • b ∗ = y j − ∑ i = 1 m α i ∗ y i K ( x i , x j ) b^*=y_j - \sum_{i=1}^m \alpha_i^* y_i K(x_i, x_j) b∗=yj−∑i=1mαi∗yiK(xi,xj)

SMO算法

传统SVM的求解方法计算量庞大,不适合小样本场景

-> 解决办法: SMO: Sequential Minimal Optimization

SMO(序列最小优化)是一种启发式算法

-> 在一次迭代中只优化两个变量,同时固定其他所有变量

-> 通过逐步迭代逼近最优解,降低计算复杂度

求解

目标是求解最优α向量,优化模型如下:
max ⁡ α ∑ i = 1 N α i − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) s.t. ∑ i = 1 N α i y i = 0 , α i ≥ 0 , i = 1 , ... , N \max {\alpha}\sum{i=1}^{N}\alpha_{i}-\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j}(x_{i}\cdot x_{j}) \\ \text{s.t.}\quad\sum_{i=1}^{N}\alpha_{i}y_{i}=0,\ \alpha_{i}\geq0,\ i=1,\ldots,N αmaxi=1∑Nαi−21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)s.t.i=1∑Nαiyi=0, αi≥0, i=1,...,N

通过SMO算法求解上述优化问题,得到最优α向量 α ∗ α^* α∗

根据最优 α ∗ α^* α∗计算分类超平面的权重 w ∗ w^* w∗
w ∗ = ∑ i = 1 N α i ∗ y i x i w^{*}=\sum_{i=1}^{N}\alpha_{i}^{*}y_{i}x_{i} w∗=i=1∑Nαi∗yixi

计算最优偏置 b ∗ b^* b∗

  • 第一步:筛选支持向量:找出所有满足 α s > 0 α_s>0 αs>0的样本 ( x s , y s ) (x_s, y_s) (xs,ys),共S个

  • 第二步:计算单个支持向量对应的 b s ∗ b_s^* bs∗:
    b s ∗ = y s − ∑ i = 1 N α i ∗ y i ( x i ⋅ x s ) b_{s}^{*}=y_{s}-\sum_{i=1}^{N}\alpha_{i}^{*}y_{i}(x_{i}\cdot x_{s}) bs∗=ys−i=1∑Nαi∗yi(xi⋅xs)

  • 第三步:求所有 b s ∗ b_s^* bs∗的平均值,得到最终 b ∗ b^* b∗:
    b ∗ = 1 S ∑ i = 1 S b s ∗ b^{*}=\frac{1}{S}\sum_{i=1}^{S}b_{s}^{*} b∗=S1i=1∑Sbs∗

-> 分类超平面: w ∗ ⋅ x + b ∗ = 0 w^{*} \cdot x+b^{*}=0 w∗⋅x+b∗=0

-> 分类决策函数: f ( x ) = sign ⁡ ( w ∗ ⋅ x + b ∗ ) f(x)=\operatorname{sign}(w^{*} \cdot x+b^{*}) f(x)=sign(w∗⋅x+b∗)

多分类SVM

SVM本质是二分类模型,扩展到多类分类问题时,主要采用以下两种经典策略:

一类对余类(one-against-all, OVR)

其中一个类别作为正类,剩余所有类别合并作为负类 ,构建一个二分类器

-> 对于M个类别的问题,共需构建M个二分类优化器。

特点:应用广泛(常用),计算量相对较小

成对分类方法(one-against-one, OVO)

每次选取两个不同的类别构建一个二分类器

-> 对于M个类别的问题,共需构建 C ( M , 2 ) = M ( M − 1 ) / 2 C(M,2)=M(M-1)/2 C(M,2)=M(M−1)/2个二分类器

预测时通过投票机制确定样本类别

相关推荐
NAGNIP1 小时前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
冬奇Lab2 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab2 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
AngelPP6 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年6 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼6 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS6 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区8 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈8 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang8 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx