【AI】机器学习——支持向量机(线性模型)

支持向量机是一种二分类算法,通过在高维空间中构建超平面实现对样本的分类

文章目录

    • 5.1 SVM概述
      • 5.1.1 分类
    • 5.2 线性可分SVM
      • 5.2.1 线性可分SVM基本思想
      • 5.2.2 策略
        • 函数间隔
        • 几何间隔
        • 硬间隔最大化
      • 5.2.3 原始算法
        • 支持向量
      • 5.2.4 对偶形式
        • 算法
          • 1. 构造并求解对偶问题
          • 2. 计算参数
          • 3. 求得分离超平面
        • 优点
        • 例题

5. 支持向量机(非线性SVM)


线性可分SVM通过硬间隔最大化求出划分超平面,解决线性分类问题

线性SVM通过软间隔最大化求出划分超平面,解决线性分类问题

5.1 SVM概述

解决的问题:二分类问题

目标:通过间隔最大化策略,找一个超平面 ω ∗ ⋅ x + b ∗ = 0 \omega^*\cdot x+b^*=0 ωx+b=0 ,将特征空间划分为两部分 { + 1 , − 1 } \{+1,-1\} {+1,1}

模型:定义在特征空间上的 间隔最大 的线性分类器

  • 间隔最大是与感知机有区别的地方
  • 通过核技巧,使SVM成为非线性分类器/回归器

策略:间隔最大化 → \rightarrow 凸二次化(加约束项)

  • 正则化的合页损失函数最小化

算法:求解凸二次规划的最优化算法

5.1.1 分类

支持向量机 { S V C ( 支持向量分类机 ) { 线性支持向量机 { 线性可分:硬间隔最大化 近似线性可分:软间隔最大化 非线性支持向量机:核技巧 + 软间隔最大化 S V R ( 支持向量回归机 ) 支持向量机\begin{cases} SVC(支持向量分类机)\begin{cases} 线性支持向量机\begin{cases} 线性可分:硬间隔最大化\\ 近似线性可分:软间隔最大化 \end{cases}\\ 非线性支持向量机:核技巧+软间隔最大化 \end{cases}\\ SVR(支持向量回归机) \end{cases} 支持向量机 SVC(支持向量分类机) 线性支持向量机{线性可分:硬间隔最大化近似线性可分:软间隔最大化非线性支持向量机:核技巧+软间隔最大化SVR(支持向量回归机)

数据集
D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } , x i ∈ X ⊆ R n , y ∈ { + 1 , − 1 } , i = 1 , 2 , ⋯   , N D=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\},x_i\in\mathcal{X}\subseteq R^n,y\in \{+1,-1\},i=1,2,\cdots,N D={(x1,y1),(x2,y2),,(xN,yN)},xiXRn,y{+1,1},i=1,2,,N

5.2 线性可分SVM

eg:SVM解决二分类问题的思路

线性可分的数据集可以简化为二维平面上的点集。

在直角坐标系中,如果有若干个点位于 x x x 轴下方,另外若干个点位于 x x x 轴上方,这两个点集共同构成了一个线性可分的训练数据集,而 x x x 轴就是将它们区别开的一维超平面,也就是直线。

假设 x x x 轴上方的点全部位于直线 y = 1 y=1 y=1 上及其上方, x x x 轴下方的点全部位于直线 y = − 2 y=-2 y=2 上及其下方。则任何平行于 x x x 轴且在 ( − 2 , 1 ) (-2,1) (2,1) 之间的直线都可以将这个训练集分开。但此时面临选择哪一条直线分类效果最好的问题。

直观上看 y = − 0.5 y=-0.5 y=0.5 最好,这条分界线正好位于两个边界中间,与两个类别的间隔 可以同时达到最大。当训练集中的数据因为噪音干扰而移动时,这个最优划分超平面的划分精确度受到的影响最小,具有很强的泛化能力

5.2.1 线性可分SVM基本思想

【AI】机器学习——支持向量机(线性模型)_第1张图片

在高维的特征空间上,划分超平面可以用简单的线性方程描述
ω ⋅ x + b = 0 \omega\cdot x+b=0 ωx+b=0

  • n n n 维向量 ω \omega ω 为法向量,决定了超平面的方向
  • b b b 为截距,决定了超平面与高维空间中原点的距离

划分超平面将特征空间分为两部分

  • 法向量所指一侧——正例, y = + 1 y=+1 y=+1
  • 法向量反方向恻——负例, y = − 1 y=-1 y=1

决策函数:
f ( x ) = s i g n ( ω ⋅ x + b ) f(x)=sign(\omega \cdot x+b) f(x)=sign(ωx+b)

5.2.2 策略

硬间隔最大化策略 ——使距离超平面最近的两个点之间的间距最大

【AI】机器学习——支持向量机(线性模型)_第2张图片

函数间隔

超平面 ( ω , b ) (\omega,b) (ω,b) 关于 ( x i , y i ) (x_i,y_i) (xi,yi) 的函数间隔
γ i = y i ( ω ⋅ x i + b ) \gamma_i=y_i(\omega\cdot x_i+b) γi=yi(ωxi+b)

  • 符号:是否分类正确
  • 大小:确信程度—— ∣ ω ⋅ x i + b ∣ \vert \omega\cdot x_i+b\vert ωxi+b 表示点到超平面的远近程度

超平面关于数据集 D D D 的函数间隔
γ ^ = min ⁡ x i ∈ X γ i ^ = min ⁡ x i ∈ X y i ( ω ⋅ + b ) \hat{\gamma}=\min\limits_{x_i\in \mathcal{X}}\hat{\gamma_i}=\min\limits_{x_i\in \mathcal{X}}y_i(\omega\cdot+b) γ^=xiXminγi^=xiXminyi(ω+b)
可用函数间隔表示分类的正确性和确信程度

几何间隔

给定超平面后,特征空间中的样本点 x i x_i xi 到超平面的距离可以表示为
+ 1 类到超平面的距离: γ i = ω ⋅ x i + b ∥ ω ∥ 2 − 1 类到超平面的距离: γ i = − ω ⋅ x i + b ∥ ω ∥ 2 +1类到超平面的距离:\gamma_i=\frac{\omega\cdot x_i+b}{\Vert \omega\Vert_2}\\ -1类到超平面的距离:\gamma_i=-\frac{\omega\cdot x_i+b}{\Vert \omega\Vert_2} +1类到超平面的距离:γi=ω2ωxi+b1类到超平面的距离:γi=ω2ωxi+b
即点被正确分类时,到超平面几何距离
γ i = y i ( ω ⋅ x i + b ∥ ω ∥ 2 ) \gamma_i=y_i\left(\frac{\omega\cdot x_i+b}{\Vert \omega\Vert_2}\right) γi=yi(ω2ωxi+b)

  • 这个距离是一个归一化距离——几何间隔

数据集 D D D 到超平面 ( ω , b ) (\omega,b) (ω,b) 的几何距离
γ = min ⁡ x i ∈ X ω T ⋅ x i + b ∥ ω ∥ 2 = min ⁡ x i ∈ X γ ^ i ∥ ω ∥ 2 \begin{aligned} \gamma&=\min\limits_{x_i\in \mathcal{X}}\frac{\omega^T\cdot x_i+b}{\Vert \omega\Vert_2}\\ &=\min\limits_{x_i\in \mathcal{X}}\frac{\hat{\gamma}_i}{\Vert \omega\Vert_2} \end{aligned} γ=xiXminω2ωTxi+b=xiXminω2γ^i

硬间隔最大化

定理 :最大分离超平面存在且唯一
{ max ⁡ ω , b γ = max ⁡ ω , b min ⁡ x i ∈ X ω ⋅ x i + b ∥ ω ∥ 2 = max ⁡ ω , b min ⁡ x i ∈ X γ ^ i ∥ ω ∥ 2 s . t . y i ( ω ⋅ x i + b ∥ ω ∥ ) ≥ γ \begin{cases} \max\limits_{\omega,b}\gamma=\max\limits_{\omega,b}\min\limits_{x_i\in \mathcal{X}}\frac{\omega\cdot x_i+b}{\Vert \omega\Vert_2}=\max\limits_{\omega,b}\min\limits_{x_i\in \mathcal{X}}\frac{\hat{\gamma}_i}{\Vert \omega\Vert_2}\\ s.t.\quad y_i\left(\frac{\omega\cdot x_i+b}{\Vert \omega\Vert}\right)\ge \gamma \end{cases} ω,bmaxγ=ω,bmaxxiXminω2ωxi+b=ω,bmaxxiXminω2γ^is.t.yi(ωωxi+b)γ

可通过等比例调整参数 ω \omega ω b b b ,可以使每个样本到达最优划分超平面的函数距离都不小于 1 1 1
λ i ( ω ⋅ x i + b ) ≥ 1 , y i = + 1 λ i ( ω ⋅ x i + b ) ≤ − 1 , y i = − 1 \lambda_i(\omega\cdot x_i+b)\ge 1,y_i=+1\\ \lambda_i(\omega\cdot x_i+b)\le -1,y_i=-1\\ λi(ωxi+b)1,yi=+1λi(ωxi+b)1,yi=1
λ i = 1 ω x i + b \lambda_i=\frac{1}{\omega x_i+b} λi=ωxi+b1 ,有
∣ γ ^ ′ ∣ = ∣ λ γ ^ ∣ ≥ 1 \vert \hat{\gamma}'\vert=\vert \lambda \hat{\gamma}\vert\ge 1\\ γ^=λγ^1
问题变为
{ max ⁡ ω , b γ ′ = max ⁡ ω , b min ⁡ x i ∈ X λ y i ( ω ⋅ x i + b ) ∥ λ ω ∥ 2 ≥ max ⁡ ω , b 1 ∥ ω ′ ∥ 2 s . t . λ y i ( ω ⋅ x i + b ) ∥ λ ω ∥ 2 = y i ( ω ′ ⋅ x i + b ) ∥ ω ′ ∥ 2 ≥ γ ′ ⇒ { max ⁡ ω , b γ = max ⁡ ω , b 1 ∥ ω ∥ 2 s . t . y i ( ω ⋅ x i + b ) ≥ 1 , i = 1 , 2 , ⋯   , N    ⟺    便于凸二次规划 { min ⁡ ω , b 1 γ = min ⁡ ω , b ∥ ω ∥ 2 2 2 s . t . y i ( ω ⋅ x i + b ) − 1 ≥ 0 , i = 1 , 2 , ⋯   , N    ⟺    { min ⁡ ω , b ∥ ω ∥ 2 2 2 s . t . 1 − y i ( ω ⋅ x i + b ) ≤ 0 , i = 1 , 2 , ⋯   , N \begin{aligned} &\begin{cases} \max\limits_{\omega,b}\gamma'=\max\limits_{\omega,b}\min\limits_{x_i\in \mathcal{X}}\frac{\lambda y_i(\omega\cdot x_i+b)}{\Vert \lambda\omega\Vert_2}\ge \max\limits_{\omega,b}\frac{1}{\Vert \omega'\Vert_2}\\ s.t.\quad \frac{\lambda y_i(\omega\cdot x_i+b)}{\Vert \lambda\omega\Vert_2}=\frac{y_i(\omega'\cdot x_i+b)}{\Vert \omega'\Vert_2}\ge \gamma' \end{cases}\\ \Rightarrow &\begin{cases} \max\limits_{\omega,b}\gamma=\max\limits_{\omega,b}\frac{1}{\Vert \omega\Vert_2}\\ s.t.\quad y_i(\omega\cdot x_i+b)\ge 1,i=1,2,\cdots,N \end{cases}\\ \overset{便于凸二次规划}{\iff} &\begin{cases} \min\limits_{\omega,b}\frac{1}{\gamma}=\min\limits_{\omega,b}\frac{\Vert \omega\Vert_2^2}{2}\\ s.t.\quad y_i(\omega\cdot x_i+b)-1\ge 0,i=1,2,\cdots,N \end{cases}\\ \iff&\begin{cases} \min\limits_{\omega,b}\frac{\Vert \omega\Vert_2^2}{2}\\ s.t.\quad 1-y_i(\omega\cdot x_i+b)\le 0,i=1,2,\cdots,N \end{cases} \end{aligned} 便于凸二次规划 ω,bmaxγ=ω,bmaxxiXminλω2λyi(ωxi+b)ω,bmaxω21s.t.λω2λyi(ωxi+b)=ω2yi(ωxi+b)γ ω,bmaxγ=ω,bmaxω21s.t.yi(ωxi+b)1,i=1,2,,N ω,bminγ1=ω,bmin2ω22s.t.yi(ωxi+b)10,i=1,2,,N ω,bmin2ω22s.t.1yi(ωxi+b)0,i=1,2,,N

5.2.3 原始算法

输入 :线性可分的数据集
D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } , x i ∈ X ⊆ R n , y i ∈ Y = { + 1 , − 1 } , i = 1 , 2 , ⋯   , N \begin{aligned} D=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\},x_i\in \mathcal{X}\subseteq R^n,y_i\in \mathcal{Y}=\{+1,-1\},i=1,2,\cdots,N \end{aligned} D={(x1,y1),(x2,y2),,(xN,yN)},xiXRn,yiY={+1,1},i=1,2,,N
输出 :最大分离超平面和决策函数

步骤

  1. 构造并求解最优化问题
    { min ⁡ ω , b ∥ ω ∥ 2 2 2 s . t . 1 − y i ( ω ⋅ x i + b ) ≤ 0 , i = 1 , 2 , ⋯   , N \begin{cases} \min\limits_{\omega,b}\frac{\Vert \omega\Vert_2^2}{2}\\ s.t.\quad 1-y_i(\omega\cdot x_i+b)\le 0,i=1,2,\cdots,N \end{cases} ω,bmin2ω22s.t.1yi(ωxi+b)0,i=1,2,,N
    凸二次规划可得最优解 ω ∗ , b ∗ \omega^*,b^* ω,b

  2. 可得分类超平面
    ω ∗ ⋅ x + b ∗ = 0 \omega^*\cdot x+b^*=0 ωx+b=0
    决策函数 f ( x ) = s i g n ( ω ∗ ⋅ x + b ∗ ) f(x)=sign(\omega^*\cdot x+b^*) f(x)=sign(ωx+b)

支持向量

在特征空间中,距离划分超平面最近的样本点能让函数间隔取等号,这些样本点称为 支持向量 ,即有点 x k + , x k − x_{k^+},x_{k^-} xk+,xk
ω ⋅ x k + + b = 1 , y k + = + 1 ω ⋅ x k − + b = − 1 , y k − = − 1 \omega\cdot x_{k^+}+b= 1,y_{k^+}=+1\\ \omega\cdot x_{k^-}+b= -1,y_{k^-}=-1\\ ωxk++b=1,yk+=+1ωxk+b=1,yk=1
【AI】机器学习——支持向量机(线性模型)_第3张图片

  • H 1 , H 2 H_1,H_2 H1,H2 为分类间隔边界; S S S 为分离超平面

两个异类支持向量到超平面的距离之和为 2 ∥ ω ∥ \frac{2}{\Vert \omega\Vert} ω2

因而对于线性可分的SVM任务就是:在满足上述不等式的条件下,寻找 2 ∥ ω ∥ \frac{2}{\Vert \omega\Vert} ω2 的最大值,最大化 2 ∥ ω ∥ \frac{2}{\Vert \omega\Vert} ω2 等效于最小化 1 2 ∥ ω ∥ 2 \frac{1}{2}\Vert \omega\Vert^2 21ω2

5.2.4 对偶形式

输入:
D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } ∈ X ∈ R n , y i ∈ Y ∈ { + 1 , − 1 } , i = 1 , ⋯   , N D=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}\in \mathcal{X}\in R^n,y_i\in \mathcal{Y}\in \{+1,-1\},i=1,\cdots,N D={(x1,y1),(x2,y2),,(xN,yN)}XRn,yiY{+1,1},i=1,,N
输出:分离超平面和决策函数

算法

1. 构造并求解对偶问题

由原始算法,可得 Lagrange 函数
L ( ω , b , α ) = 1 2 ∥ ω ∥ 2 2 + ∑ i = 1 N α i [ 1 − y i ( ω i ⋅ x i + b ) ] , α i ≥ 0 L(\omega,b,\alpha)=\frac{1}{2}\Vert \omega\Vert_2^2+\sum\limits_{i=1}^N\alpha_i[1-y_i(\omega_i\cdot x_i+b)],\alpha_i\ge 0 L(ω,b,α)=21ω22+i=1Nαi[1yi(ωixi+b)],αi0
1 2 ∥ ω ∥ 2 2 \frac{1}{2}\Vert \omega\Vert_2^2 21ω22 为凸函数,约束范围为凸集,则有 局部最优解 = 全局最优解 局部最优解=全局最优解 局部最优解=全局最优解
最优解 ∈ 约束域 , 即 1 − y i ( ω i ⋅ x i + b ) < 0 最优解 ∉ 约束域 , 即最优解在约束边界上,有 1 − y i ( ω i ⋅ x i + b ) = 0 } ⇒ max ⁡ α i α i [ 1 − y i ( ω i ⋅ x i + b ) ] = 0 \left. \begin{aligned} 最优解\in 约束域,即1-y_i(\omega_i\cdot x_i+b)<0\\ 最优解\notin 约束域,即最优解在约束边界上,有1-y_i(\omega_i\cdot x_i+b)=0 \end{aligned} \right\}\Rightarrow \max\limits_{\alpha_i}\alpha_i[1-y_i(\omega_i\cdot x_i+b)]=0 最优解约束域,1yi(ωixi+b)<0最优解/约束域,即最优解在约束边界上,有1yi(ωixi+b)=0}αimaxαi[1yi(ωixi+b)]=0
可知 max ⁡ α L ( ω , b , α ) = 1 2 ∥ ω ∥ 2 2 \max\limits_{\alpha}L(\omega,b,\alpha)=\frac{1}{2}\Vert \omega\Vert_2^2 αmaxL(ω,b,α)=21ω22 ,即
min ⁡ ω 1 2 ∥ ω ∥ 2 2 = min ⁡ ω max ⁡ α L ( ω , α ) \min\limits_{\omega}\frac{1}{2}\Vert \omega\Vert_2^2=\min\limits_{\omega}\max\limits_{\alpha}L(\omega,\alpha) ωmin21ω22=ωminαmaxL(ω,α)
又由于 min ⁡ ω max ⁡ α L ( ω , b , α ) \min\limits_{\omega}\max\limits_{\alpha}L(\omega,b,\alpha) ωminαmaxL(ω,b,α) max ⁡ α min ⁡ ω L ( ω , b , α ) \max\limits_{\alpha}\min\limits_{\omega}L(\omega,b,\alpha) αmaxωminL(ω,b,α) 是对偶问题,有相同的最优解

  • 对偶问题(极小中求极大),相当于求原问题(极大中求极小)的下界

最优解满足KKT条件
{ ∂ L ∂ ω = 0 ∂ L ∂ b = 0 ∂ L ∂ α i = 0 α i ≥ 0 α i [ 1 − y i ( ω i ⋅ x i + b ) ] ≤ 0 ⇒ { ω − ∑ i = 1 N α i y i x i = 0 − ∑ i = 1 N α i y i = 0 1 − y i ( ω i ⋅ x i + b ) = 0 α i ≥ 0 α i [ 1 − y i ( ω i ⋅ x i + b ) ] ≤ 0 \begin{cases} \frac{\partial L}{\partial \omega}=0\\ \frac{\partial L}{\partial b}=0\\ \frac{\partial L}{\partial \alpha_i}=0\\ \alpha_i\ge 0\\ \alpha_i[1-y_i(\omega_i\cdot x_i+b)]\le 0 \end{cases}\Rightarrow \begin{cases} \omega-\sum\limits_{i=1}^N\alpha_iy_ix_i=0\\ -\sum\limits_{i=1}^N\alpha_iy_i=0\\ 1-y_i(\omega_i\cdot x_i+b)=0\\ \alpha_i\ge 0\\ \alpha_i[1-y_i(\omega_i\cdot x_i+b)]\le 0 \end{cases} ωL=0bL=0αiL=0αi0αi[1yi(ωixi+b)]0 ωi=1Nαiyixi=0i=1Nαiyi=01yi(ωixi+b)=0αi0αi[1yi(ωixi+b)]0
即有 ω ∗ = ∑ i = 1 N α i y i x i \omega^*=\sum\limits_{i=1}^N\alpha_iy_ix_i ω=i=1Nαiyixi ,代入 L ( ω , b , α ) L(\omega,b,\alpha) L(ω,b,α)

min ⁡ ω , b L ( α ) = 1 2 ( ω ∗ ) T ω ∗ + ∑ i = 1 N α i − ∑ i = 1 N α i y i ω ∗ ⋅ x i − ∑ i = 1 N α i y i b = 1 2 ∑ j = 1 N α j y j x j ∑ i = 1 N α i y i x i + ∑ i = 1 N α i − ∑ i = 1 N α i y i ∑ j = 1 N α j y j x j = x j ⋅ , x i 为向量点积,其余部分为标量 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j x i ⋅ x j − ∑ i = 1 N ∑ j = 1 N α i α j y i y j x i ⋅ x j + ∑ i = 1 N α i = ∑ i = 1 N α i − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j x i ⋅ x j \begin{aligned} \min\limits_{\omega,b}L(\alpha)&=\frac{1}{2}(\omega^*)^T\omega^*+\sum\limits_{i=1}^N\alpha_i-\sum\limits_{i=1}^N\alpha_iy_i\omega^*\cdot x_i-\sum\limits_{i=1}^N\alpha_iy_i b\\ &=\frac{1}{2}\sum\limits_{j=1}^N\alpha_jy_jx_j\sum\limits_{i=1}^N\alpha_iy_ix_i+\sum\limits_{i=1}^N\alpha_i-\sum\limits_{i=1}^N\alpha_iy_i\sum\limits_{j=1}^N\alpha_jy_jx_j\\ &\xlongequal{x_j\cdot,x_i为向量点积,其余部分为标量}\frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_jx_i\cdot x_j-\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_jx_i\cdot x_j+\sum\limits_{i=1}^N\alpha_i\\ &=\sum\limits_{i=1}^N\alpha_i-\frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_jx_i\cdot x_j \end{aligned} ω,bminL(α)=21(ω)Tω+i=1Nαii=1Nαiyiωxii=1Nαiyib=21j=1Nαjyjxji=1Nαiyixi+i=1Nαii=1Nαiyij=1Nαjyjxjxj,xi为向量点积,其余部分为标量 21i=1Nj=1Nαiαjyiyjxixji=1Nj=1Nαiαjyiyjxixj+i=1Nαi=i=1Nαi21i=1Nj=1Nαiαjyiyjxixj
对偶问题
{ max ⁡ α L ( α ) = ∑ 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 ≥ 0 ∑ i = 1 N α i y i = 0 \begin{cases} \max\limits_{\alpha}L(\alpha)=\sum\limits_{i=1}^N\alpha_i-\frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_jx_i\cdot x_j\\ s.t. \quad \alpha_i\ge 0\\ \qquad \sum\limits_{i=1}^N\alpha_iy_i=0\\ \end{cases} αmaxL(α)=i=1Nαi21i=1Nj=1Nαiαjyiyjxixjs.t.αi0i=1Nαiyi=0
求解对偶问题,可得 α ∗ = ( α 1 ∗ α 2 ∗ ⋮ α N ∗ ) \alpha^*=\left(\begin{aligned}\alpha_1^*\\\alpha_2^*\\\vdots\\\alpha_N^*\end{aligned}\right) α= α1α2αN

2. 计算参数

α ∗ \alpha^* α 可得 ω ∗ = ∑ i = 1 N α i ∗ y i x i \omega^*=\sum\limits_{i=1}^N\alpha^*_iy_ix_i ω=i=1Nαiyixi

  • 结论:对于支持向量,有 α j ∗ > 0 \alpha_j^*>0 αj>0 ,其余点 α ∗ = 0 \alpha^*=0 α=0

间隔边界上的点,满足
y ( ω ⋅ x + b ) = 1 y 2 ( ω ⋅ x + b ) = y ⇒ ω ⋅ x + b = y \begin{aligned} &y(\omega\cdot x+b)=1\\ &y^2(\omega\cdot x+b)=y\\ \Rightarrow &\omega\cdot x+b=y \end{aligned} y(ωx+b)=1y2(ωx+b)=yωx+b=y
ω ∗ \omega^* ω 代入支持向量
ω ∗ x j + b ∗ = y j ⇒ b ∗ = y j − ω ∗ x j = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) \begin{aligned} &\omega^*x_j+b^*=y_j\\ \Rightarrow&b^*=y_j-\omega^*x_j=y_j-\sum\limits_{i=1}^N\alpha_i^*y_i(x_i\cdot x_j) \end{aligned} ωxj+b=yjb=yjωxj=yji=1Nαiyi(xixj)

3. 求得分离超平面

{ ω ∗ x + b ∗ = 0 分类决策函数 f ( x ) = s i g n ( ω ∗ x + b ) ⇒ { ∑ i = 1 N α i y i x i ⋅ x + ( y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) ) = 0 f ( x ) = s i g n ( ∑ i = 1 N α i y i x i ⋅ x + y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) ) \begin{cases} \omega^* x+b^*=0\\ 分类决策函数 f(x)=sign(\omega^* x+b) \end{cases}\Rightarrow\begin{cases} \sum\limits_{i=1}^N\alpha_iy_ix_i\cdot x+\left(y_j-\sum\limits_{i=1}^N\alpha_i^*y_i(x_i\cdot x_j)\right)=0\\ f(x)=sign\left(\sum\limits_{i=1}^N\alpha_iy_ix_i\cdot x+y_j-\sum\limits_{i=1}^N\alpha_i^*y_i(x_i\cdot x_j)\right) \end{cases} {ωx+b=0分类决策函数f(x)=sign(ωx+b) i=1Nαiyixix+(yji=1Nαiyi(xixj))=0f(x)=sign(i=1Nαiyixix+yji=1Nαiyi(xixj))

优点

  • 对偶问题易于求解
  • 引入核函数,推广到非线性分类问题

例题

有样本 + 1 : x 1 = ( 3 , 3 ) , x 2 = ( 4 , 3 ) +1:x_1=(3,3),x_2=(4,3) +1:x1=(3,3),x2=(4,3) − 1 : x 3 = ( 1 , 1 ) -1:x_3=(1,1) 1:x3=(1,1)

由对偶算法
{ min ⁡ α ( 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j x i ⋅ x j − ∑ i = 1 N α i ) s . t . α i ≥ 0 ∑ i = 1 N α i y i = 0 , i = 1 , 2 , ⋯   , N \begin{cases} \min\limits_{\alpha}\left(\frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_jx_i\cdot x_j-\sum\limits_{i=1}^N\alpha_i\right)\\ s.t.\quad \alpha_i\ge 0\\ \qquad \sum\limits_{i=1}^N\alpha_iy_i=0,i=1,2,\cdots,N \end{cases} αmin(21i=1Nj=1Nαiαjyiyjxixji=1Nαi)s.t.αi0i=1Nαiyi=0,i=1,2,,N
代入后有
{ min ⁡ α L ( α ) = 1 2 ( 18 α 1 2 + 25 α 2 2 + 2 α 3 2 + 42 α 1 α 2 − 12 α 1 α 3 − 14 α 2 α 3 ) − ( α 1 + α 2 + α 3 ) s . t . α 1 + α 2 − α 3 = 0 α i ≥ 0 \begin{cases} \begin{equation}\tag{1} \min\limits_{\alpha}L(\alpha)=\frac{1}{2}(18\alpha_1^2+25\alpha_2^2+2\alpha_3^2+42\alpha_1\alpha_2-12\alpha_1\alpha_3-14\alpha_2\alpha_3)-(\alpha_1+\alpha_2+\alpha_3) \end{equation} \\ s.t.\quad \alpha_1+\alpha_2-\alpha_3=0 \\ \qquad \alpha_i\ge 0 \end{cases} αminL(α)=21(18α12+25α22+2α32+42α1α212α1α314α2α3)(α1+α2+α3)(1)s.t.α1+α2α3=0αi0
α 3 = α 1 + α 2 \alpha_3=\alpha_1+\alpha_2 α3=α1+α2 代入 ( 1 ) (1) (1)
S ( α 1 , α 2 ) = 4 α 1 2 + 13 2 α 2 2 + 10 α 1 α 2 − 2 α 1 − 2 α 2 S(\alpha_1,\alpha_2)=4\alpha_1^2+\frac{13}{2}\alpha_2^2+10\alpha_1\alpha_2-2\alpha_1-2\alpha_2 S(α1,α2)=4α12+213α22+10α1α22α12α2
∂ S ∂ α 1 = 0 \frac{\partial S}{\partial \alpha_1}=0 α1S=0 ∂ S ∂ α 2 = 0 \frac{\partial S}{\partial \alpha_2}=0 α2S=0 可得 ( α 1 , α 2 ) T = ( 3 2 , − 1 ) T (\alpha_1,\alpha_2)^T=(\frac{3}{2},-1)^T (α1,α2)T=(23,1)T ,但不满足约束条件

可知最优解在约束边界上
若 α 1 = 0 ,令 ∂ S ∂ α 2 = 0 ⇒ α 2 = 2 13 ⇒ S ( 0 , 2 13 ) = − 2 13 α 2 = 0 ,令 ∂ S ∂ α 1 = 0 ⇒ α 1 = 1 4 ⇒ S ( 1 4 , 0 ) = − 1 4 若\alpha_1=0,令 \frac{\partial S}{\partial \alpha_2}=0\Rightarrow \alpha_2=\frac{2}{13}\Rightarrow S(0,\frac{2}{13})=-\frac{2}{13}\\ \alpha_2=0,令\frac{\partial S}{\partial \alpha_1}=0\Rightarrow \alpha_1=\frac{1}{4}\Rightarrow S(\frac{1}{4},0)=-\frac{1}{4} α1=0,令α2S=0α2=132S(0,132)=132α2=0,令α1S=0α1=41S(41,0)=41
∴ \therefore S ( α 1 , α 2 ) S(\alpha_1,\alpha_2) S(α1,α2) ( 1 4 , 0 ) T (\frac{1}{4},0)^T (41,0)T 上取最小, α 3 = α 1 + α 2 = 1 4 \alpha_3=\alpha_1+\alpha_2=\frac{1}{4} α3=α1+α2=41

由于 α 1 = α 3 = 1 4 ≠ 0 \alpha_1=\alpha_3=\frac{1}{4}\neq 0 α1=α3=41=0 ,故 x 1 , x 3 x_1,x_3 x1,x3 为支持向量
ω ∗ = α 1 y 1 x 1 + α 3 y 3 x 3 = 1 4 ( 3 3 ) + 1 4 ( − 1 ) ( 1 1 ) = ( 1 2 1 2 ) b ∗ = y 3 − ∑ i = 1 3 α i y i ( x i ⋅ x 3 ) = − 2 \begin{aligned} \omega^*&=\alpha_1y_1x_1+\alpha_3y_3x_3\\ &=\frac{1}{4}\left(\begin{aligned} 3\\3 \end{aligned}\right)+\frac{1}{4}(-1)\left(\begin{aligned} 1\\1 \end{aligned}\right)=\left(\begin{aligned} \frac{1}{2}\\\frac{1}{2} \end{aligned}\right)\\ b^*&=y_3-\sum\limits_{i=1}^3\alpha_iy_i(x_i\cdot x_3)=-2 \end{aligned} ωb=α1y1x1+α3y3x3=41(33)+41(1)(11)= 2121 =y3i=13αiyi(xix3)=2
所以有分离超平面 1 2 x ( 1 ) + 1 2 x ( 2 ) − 2 = 0 \frac{1}{2}x^{(1)}+\frac{1}{2}x^{(2)}-2=0 21x(1)+21x(2)2=0 ,决策函数 f ( x ) = s i g n ( 1 2 x ( 1 ) + 1 2 x ( 2 ) − 2 ) f(x)=sign(\frac{1}{2}x^{(1)}+\frac{1}{2}x^{(2)}-2) f(x)=sign(21x(1)+21x(2)2)

【AI】机器学习——支持向量机(线性模型)_第4张图片

你可能感兴趣的:(AI,#,机器学习,支持向量机,人工智能,机器学习)