[模式识别-从入门到入土] 支持向量积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个二分类器

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

相关推荐
plmm烟酒僧2 小时前
使用 OpenVINO 本地部署 DeepSeek-R1 量化大模型(第二章:前端交互与后端服务)
前端·人工智能·大模型·intel·openvino·端侧部署·deepseek
程序员水自流2 小时前
MySQL常用SQL语法及参数详细介绍(新手经验书)
java·数据库·sql·mysql·oracle
Rhys..2 小时前
js-三元运算符
前端·javascript·数据库
倔强的石头1062 小时前
金仓数据库 MongoDB 兼容:多模融合下的架构之道与实战体验
数据库·mongodb·架构·kingbase
im_AMBER2 小时前
Leetcode 86 【二分查找】在排序数组中查找元素的第一个和最后一个位置
笔记·学习·算法·leetcode
coder_xiaoyou2 小时前
MYSQL ReadView
数据库
laozhao4322 小时前
各方面横向对比,标标达和剑鱼标讯谁更正规?
大数据·人工智能
大数据追光猿2 小时前
【Agent】高可用智能 Agent:记忆机制设计与性能优化实战
人工智能·python·langchain·大模型·agent
戴着眼镜看不清2 小时前
ComfyUI 阿波罗AI专属ComfyUI插件-支持图像、视频、对话、音频等60+专业节点最新完成安装使用教程
人工智能·音视频·comfyui·nanobanana·sora2