SVM学习笔记

基础

本文基本上参考《李航-统计学习方法》进行学习、排版。

  1. 二类分类模型;
  2. 基本模型是定义在特征空间上、间隔最大的线性分类器;
  3. 学习策略是间隔最大化,可形式化为求解凸二次规划问题,等价于正则化的损失函数最小化问题;
  4. 和感知机有何区别:SVM是间隔最大化;
  5. 模型细分类:
    (1)线性可分支持向量机:数据线性可分时,通过硬间隔最大化,学习线性上分类的SVM。
    (2)线性支持向量机(软间隔支持向量机):数据近似线性可分时,通过软间隔最大化,学习线性SVM。
    (3)非线性支持向量机:数据线性不可分,通过核技巧(kernal) 以及软间隔最大化,学习非线性的SVM。
  6. 核函数(kernal)
    输入空间为欧氏空间(多维),或者离散集合,特征空间为希尔伯特空间(完备性)时,核函数表示了,从输入空间映射到特征空间得到的特征向量之间的内积。(之后再解释)
  7. 最开始应该如何定义数据集和系数的维度?笔者不太理解《李航-统计学习方法》中,在对偶问题中,是否直接将 x i x_i xi视作一个点?
    笔者的理解:
    单个点计算情况
y i y_i yi( w w w x i x_i xi+ b b b )
1*11*dd*11*1

Y = [ y 1 y 2 . . . y n ] Y= \left[ \begin{matrix} y_1 \\ y_2 \\ ...\\ y_n\\ \end{matrix} \right] Y=y1y2...yn

ω = [ ω 1 ω 2 . . . ω d ] \omega= \left[ \begin{matrix} \omega_1 \\ \omega_2 \\ ...\\ \omega_d\\ \end{matrix} \right] ω=ω1ω2...ωd

x i = [ x i , 1 x i , 2 . . . x i , d ] x_i= \left[ \begin{matrix} x_{i,1} \\ x_{i,2} \\ ...\\ x_{i,d} \\ \end{matrix} \right] xi=xi,1xi,2...xi,d

X = [ x 1 T x 2 T . . . x n T ] X= \left[ \begin{matrix} x_{1}^{T} \\ x_{2}^{T} \\ ...\\ x_{n}^{T} \\ \end{matrix} \right] X=x1Tx2T...xnT

7.1 线性可分SVM

7.1.1 线性可分SVM定义

假设给定一个特征空间上的训练数据集为:
T = { ( x 1 , y 1 ) , . . . , ( x i , y i ) , . . . , ( x N , y N ) } T= \{ (x_1,y_1),...,(x_i,y_i),...,(x_N,y_N) \} T={(x1,y1),...,(xi,yi),...,(xN,yN)}

y i ∈ y = [ − 1 , + 1 ] y_i \in y=[-1,+1] yiy=[1,+1]

其中, x i ∈ x ≡ R n x_i \in x \equiv R^n xixRn 称作第i个特征向量,或者实例(理解为样本点)。

定义7.1(线性可分SVM): 这里是引用《李航-统计学习方法》
给定的线性可分训练数据集,通过间隔最大化或者等价求解 —> 凸二次规划问题,学习到模型即分离超平面,以及判断函数:
(7.1) w ∗ ∗ x + b = 0 f ( x ) = s i g n ( w ∗ ∗ x + b ) w^* * x+b=0 \\ \tag{7.1} f(x) = sign(w^* * x+b) wx+b=0f(x)=sign(wx+b)(7.1)

7.1.2 函数间隔和几何间隔

函数间隔概念:分类准确度存在确定程度,在确定 w ∗ ∗ x + b = 0 w^* * x+b=0 wx+b=0 的超平面之后,能够得到目标点距离超平面的距离,距离越远,说明判断的确信程度更高。利用变量 y ( w ∗ ∗ x + b ) y(w^* * x+b) y(wx+b)来表示正确性和确信程度。

定义7.2(函数间隔,有hat): 这里是引用《李航-统计学习方法》
给定的数据集T以及超平面 ( w , b ) (w,b) (w,b),定义样本点和超平面的函数间隔为
(7.3) γ i ^ = y i ∗ ( w ∗ x i + b ) \hat{\gamma_{i}} = y_i * (w* x_i + b) \tag{7.3} γi^=yi(wxi+b)(7.3)
此外,定义超平面 ( w , b ) (w,b) (w,b)关于训练数据集T的函数间隔为超平面关于所有样本点的函数间隔的最小值【也就是,最靠近】
(7.4) γ ^ = m i n γ i ^ \hat{\gamma} = min \hat{\gamma_{i}} \tag{7.4} γ^=minγi^(7.4)

定义7.3(几何间隔,无hat): 这里是引用《李航-统计学习方法》
由于 w w w的值对于距离有影响,所以需要进行规范化,使得它的范数为1。如果 ∣ ∣ w ∣ ∣ = 1 ||w||=1 w=1则两种间隔相同。
(7.5) γ i = y i ∗ ( w ∣ ∣ w ∣ ∣ ∗ x i + b ∣ ∣ w ∣ ∣ ) {\gamma_i} = y_i * (\frac{w}{||w||}*x_i + \frac{b}{||w||} ) \tag{7.5} γi=yi(wwxi+wb)(7.5)
类推,超平面关于关于训练数据集T的几何间隔为超平面关于所有样本点的几何间隔的最小值【也就是,最靠近】
(7.6) γ = m i n γ i {\gamma} = min {\gamma_{i}} \tag{7.6} γ=minγi(7.6)

所以得知,几何间隔 γ \gamma γ与函数间隔 γ ^ \hat{\gamma} γ^有如下关系:
(7.8) γ = γ ^ ∣ ∣ ω ∣ ∣ \gamma = \frac{\hat{\gamma}}{||\omega||} \tag{7.8} γ=ωγ^(7.8)

7.1.3 间隔最大化(学习策略)

直观解释:找到“几何间隔”最大化的超平面,以达到最大的确信程度来进行分类。(尚未涉及可能出现分类混杂于彼此的样本小现象)

  1. 最大间隔分离超平面
    max ⁡ w , b   γ s u b j e c t   t o   γ i = y i ∗ ( w ∣ ∣ w ∣ ∣ ∗ x i + b ∣ ∣ w ∣ ∣ ) γ = min ⁡   γ i \max_{w,b}\ \gamma \\ subject \ to \ {\gamma_i} = y_i * (\frac{w}{||w||}*x_i + \frac{b}{||w||} ) \\ \gamma = \min \ \gamma_{i} w,bmax γsubject to γi=yi(wwxi+wb)γ=min γi
    由于几何间隔的“地板”为 γ \gamma γ,然后再最大化这个指标,写作:
    (7.10) max ⁡ w , b    γ s . t .   y i ∗ ( w ∣ ∣ w ∣ ∣ ∗ x i + b ∣ ∣ w ∣ ∣ ) ≥ γ \max_{w,b}\ \ \gamma \\ s.t. \ y_i * (\frac{w}{||w||}*x_i + \frac{b}{||w||} ) \geq {\gamma} \tag{7.10} w,bmax  γs.t. yi(wwxi+wb)γ(7.10)
    写成函数间隔(带hat)的形式,可能存在 λ \lambda λ使得距离进行拉伸,
    λ w , λ b − − > λ γ \lambda w ,\lambda b --> \lambda \gamma λw,λb>λγ,所以取 γ ^ = 1 \hat{\gamma} = 1 γ^=1
    (7.10) max ⁡ w , b    γ ^ ∣ ∣ ω ∣ ∣ s . t .   y i ∗ ( ω ∗ x i + b ) ≥ γ ^ \max_{w,b}\ \ \frac{\hat{\gamma}}{||\omega||} \\ s.t. \ y_i * (\omega*x_i +b ) \geq \hat{\gamma} \tag{7.10} w,bmax  ωγ^s.t. yi(ωxi+b)γ^(7.10)
    重新写最优化问题:
    min ⁡ w , b   1 2 ∣ ∣ w ∣ ∣ 2 s . t .   y i ( w ∗ x i + b ) − 1 ≥ 0 ,   i = 1 , 2 , . . . , N \min_{w,b}\ \frac{1}{2}||w||^2 \\ s.t. \ y_i(w*x_i + b) - 1 \geq 0, \ i=1,2,...,N w,bmin 21w2s.t. yi(wxi+b)10, i=1,2,...,N
    求解之后,得到:超平面+分类决策函数

  2. 最大间隔分离超平面的存在性及唯一性
    存在性:数据集线性可分,而且目标函数有下界,因此有解。而且,如果 w = 0 w=0 w=0则无法单纯依靠系数 b b b得到分类,因此解满足 w ≠ 0 w \neq 0 w̸=0
    唯一性:分别证明 w w w以及 b b b
    (1)证明 w w w
    假设有两个 w w w符合要求,即 ( w 1 , b 1 ) (w_1,b_1) (w1,b1)以及 ( w 2 , b 2 ) (w_2,b_2) (w2,b2)
    因为取最优的最小值,得到 ∣ ∣ w 1 ∣ ∣ = ∣ ∣ w 2 ∣ ∣ = c o n s t ||w_1||=||w_2||=const w1=w2=const
    w = w 1 + w 2 2 w = \frac{w_1 + w_2}{2} w=2w1+w2以及 b = b 1 + b 2 2 b = \frac{b_1 + b_2}{2} b=2b1+b2,则没法达到最小值,有 c ≤ ∣ ∣ w ∣ ∣ c \leq ||w|| cw
    依靠模的计算,有 ∣ ∣ w ∣ ∣ ≤ 1 2 ∣ ∣ w 1 ∣ ∣ + 1 2 ∣ ∣ w 2 ∣ ∣ = c ||w|| \leq \frac{1}{2}||w_1|| + \frac{1}{2}||w_2|| = c w21w1+21w2=c
    (夹逼)因此有 ∣ ∣ w ∣ ∣ = 1 2 ∣ ∣ w 1 ∣ ∣ + 1 2 ∣ ∣ w 2 ∣ ∣ ||w|| = \frac{1}{2}||w_1|| + \frac{1}{2}||w_2|| w=21w1+21w2 w 1 , w 2 w_1,w_2 w1,w2角度为0,方向相同, w 1 = λ w 2 , ∣ λ ∣ = 1 w_1 = \lambda w_2, |\lambda|=1 w1=λw2,λ=1 λ \lambda λ取-1时,则 w = 0 w=0 w=0不满足存在性,应该取1,则有 w 1 = w 2 w_1 = w_2 w1=w2
    (2)证明 b b b

7.1.4 学习的对偶算法

笔者疑问:对偶问题求解相比原始问题有何优势?

引子1:拉格朗日

  1. 原始问题:各式子均可微
    min ⁡ x ∈ R n f ( x ) s . t .   c i ( x ) ≤ 0 h j ( x ) = 0 \min_{x \in R^n}{f(x)} \\ s.t. \ {c_i(x) \leq 0} \\ h_j(x) = 0 xRnminf(x)s.t. ci(x)0hj(x)=0
  2. 引进拉格朗日函数: α i ≥ 0 \alpha_i \geq 0 αi0
    L ( x , α , β ) = f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ i = 1 l β j h j ( x ) L(x,\alpha, \beta) = f(x) + \sum_{i=1}^{k}{\alpha_i c_{i}(x)} + \sum_{i=1}^{l}{\beta_j h_{j}(x)} L(x,α,β)=f(x)+i=1kαici(x)+i=1lβjhj(x)
    引入 x x x的函数:注意max底下并没有x,说明其中的 f ( x ) f(x) f(x)项并没有起到最大化效果。 p p p表示原始问题。
    θ P ( x ) = max ⁡ α , β ; α ≥ 0 L ( x , α , β ) \theta_P(x) = \max_{\alpha, \beta; \alpha \geq 0}{L(x,\alpha,\beta)} θP(x)=α,β;α0maxL(x,α,β)
    换言之:
    假设 x x x引发两个条件,即存在 i , j i,j i,j使得 c i ( x ) ≤ 0 , h j ( x ) = 0 c_i(x) \leq 0 ,h_j(x) = 0 ci(x)0,hj(x)=0无法成立,因为 α i , β j − > + ∞ \alpha_i, \beta_j -> +\infty αi,βj>+
    max ⁡ α , β ; α ≥ 0 ∑ i = 1 k α i c i ( x ) = + ∞ max ⁡ α , β ; α ≥ 0 ∑ i = 1 l β j h j ( x ) = + ∞ \max_{\alpha, \beta; \alpha \geq 0} \sum_{i=1}^{k}{\alpha_i c_{i}(x)} = +\infty \\ \max_{\alpha, \beta; \alpha \geq 0} \sum_{i=1}^{l}{\beta_j h_{j}(x)} = +\infty α,β;α0maxi=1kαici(x)=+α,β;α0maxi=1lβjhj(x)=+
    因此有:
    θ P ( x ) = max ⁡ α , β ; α ≥ 0 L ( x , α , β ) = { f ( x ) , C o n d i t i o n s S a t i s f i e d + ∞ , N o t S a t i s f i e d \theta_P(x) = \max_{\alpha, \beta; \alpha \geq 0}{L(x,\alpha,\beta)}= \begin{cases} f(x), Conditions Satisfied\\ +\infty, NotSatisfied \\ \end{cases} θP(x)=α,β;α0maxL(x,α,β)={f(x),ConditionsSatisfied+,NotSatisfied
  3. 考虑原始问题 min ⁡ x ∈ R n f ( x ) \min_{x \in R^n}{f(x)} minxRnf(x) 则有“拉格朗日极小极大问题”:
    min ⁡ x ∈ R n f ( x ) = min ⁡ x ∈ R n θ P ( x ) = min ⁡ x ∈ R n max ⁡ α , β ; α ≥ 0 L ( x , α , β ) \min_{x \in R^n}{f(x)}=\min_{x \in R^n}{\theta_P(x) }=\min_{x\in R^n}\max_{\alpha, \beta; \alpha \geq 0}{L(x,\alpha,\beta)} xRnminf(x)=xRnminθP(x)=xRnminα,β;α0maxL(x,α,β)
  4. 原始问题的值: p ∗ = min ⁡ x ∈ R n θ P ( x ) p^* = \min_{x \in R^n}{\theta_P(x) } p=minxRnθP(x)

引子2:拉格朗日对偶问题

  1. “拉格朗日极大极小问题”( m i n , m a x min,max min,max的下标一样需要跟进):
    max ⁡ α , β ; α ≥ 0 θ D ( α , β ) = max ⁡ α , β ; α ≥ 0 min ⁡ x ∈ R n L ( x , α , β ) \max_{\alpha, \beta; \alpha \geq 0 }{\theta_D(\alpha, \beta) }=\max_{\alpha, \beta; \alpha \geq 0} \min_{x \in R^n}{L(x,\alpha,\beta)} α,β;α0maxθD(α,β)=α,β;α0maxxRnminL(x,α,β)
    对偶问题的值: d ∗ = max ⁡ α , β ; α ≥ 0 θ D ( α , β ) d^* = \max_{\alpha, \beta; \alpha \geq 0 }{\theta_D(\alpha, \beta) } d=maxα,β;α0θD(α,β)
  2. 对偶问题和原始问题的关系:
    (1)
    θ D ( α , β ) = min ⁡ x ∈ R n L ( x , α , β ) ≤ L ( x , α , β ) ≤ max ⁡ α , β ; α ≥ 0 L ( x , α , β ) = θ P ( x ) \theta_D(\alpha, \beta) = \min_{x \in R^n}{L(x,\alpha,\beta)} \leq L(x,\alpha,\beta) \\ \leq \max_{\alpha, \beta; \alpha \geq 0}{L(x,\alpha,\beta)} = \theta_P(x) θD(α,β)=xRnminL(x,α,β)L(x,α,β)α,β;α0maxL(x,α,β)=θP(x)
    即有, θ D ( α , β ) ≤ θ P ( x ) \theta_D(\alpha, \beta) \leq \theta_P(x) θD(α,β)θP(x)
    所以两者的最优值有大小关系, d ∗ = max ⁡ α , β ; α ≥ 0 θ D ( α , β ) ≤ min ⁡ x ∈ R n θ P ( x ) = p ∗ d^* = \max_{\alpha, \beta; \alpha \geq 0 }{\theta_D(\alpha, \beta) } \leq \min_{x \in R^n}{\theta_P(x) }=p^* d=α,β;α0maxθD(α,β)xRnminθP(x)=p

(2) x ∗ x^* x是原始问题的解, α ∗ , β ∗ \alpha^*,\beta^* α,β是对偶问题的解
<— 充分必要条件 —>
KKT条件(图片来自于《统计学习方法-李航》)
拉格朗日函数要对 x , α , β x,\alpha,\beta x,α,β求导得0,其他满足于前文所示条件。
在这里插入图片描述

如何进行学习的对偶算法

由7.1.3我们得到应该求得的最优化凸二次规划问题

min ⁡ w , b   1 2 ∣ ∣ w ∣ ∣ 2 s . t .   y i ( w ∗ x i + b ) − 1 ≥ 0 ,   i = 1 , 2 , . . . , N \min_{w,b}\ \frac{1}{2}||w||^2 \\ s.t. \ y_i(w*x_i + b) - 1 \geq 0, \ i=1,2,...,N w,bmin 21w2s.t. yi(wxi+b)10, i=1,2,...,N

构造拉格朗日函数:在此拉格朗日中的 x x x为问题中的 ω , b \omega, b ω,b

L ( ω , b , α , β ) = f ( ω , b ) + ∑ i = 1 k α i c i ( ω , b ) + ∑ i = 1 l β j h j ( ω , b ) = 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 k α i ( 1 − y i ( w ∗ x i + b ) ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 k α i y i ( w ∗ x i + b ) + ∑ i = 1 k α i ∗ 1 L(\omega,b, \alpha, \beta) = f(\omega,b) + \sum_{i=1}^{k}{\alpha_i c_{i}(\omega,b)} + \sum_{i=1}^{l}{\beta_j h_{j}(\omega,b)} \\ = \frac{1}{2}||w||^2 + \sum_{i=1}^{k}{\alpha_i (1 - y_i(w*x_i + b))} \\ = \frac{1}{2}||w||^2 - \sum_{i=1}^{k}{\alpha_i y_i(w*x_i + b)} + \sum_{i=1}^{k}{\alpha_i * 1} L(ω,b,α,β)=f(ω,b)+i=1kαici(ω,b)+i=1lβjhj(ω,b)=21w2+i=1kαi(1yi(wxi+b))=21w2i=1kαiyi(wxi+b)+i=1kαi1

通过对偶问题来求解,极大极小问题

max ⁡ α ; α ≥ 0 min ⁡ ω b ∈ R n L ( ω , b , α ) \max_{\alpha; \alpha \geq 0} \min_{\omega b \in R^n}{L(\omega,b,\alpha)} α;α0maxωbRnminL(ω,b,α)

(1)先求解 min ⁡ ω b ∈ R n L ( ω , b , α ) \min_{\omega b \in R^n}{L(\omega,b,\alpha)} minωbRnL(ω,b,α): 对于 ω , b \omega,b ω,b求导

∇ ω L ( ω , b , α ) = w − ∑ i = 1 N α i y i x i = 0 ∇ b L ( ω , b , α ) = − ∑ i = 1 N α i y i = 0 \nabla_{\omega} L(\omega,b,\alpha) = w-\sum_{i=1}^{N}{\alpha_i y_ix_i }=0 \\ \nabla_{b} L(\omega,b,\alpha) = - \sum_{i=1}^{N}{\alpha_i y_i} = 0 ωL(ω,b,α)=wi=1Nαiyixi=0bL(ω,b,α)=i=1Nαiyi=0

所以,得到目标的表达式和另外的条件。如果看下表,则 ω \omega ω不应该按照如下公式表示, x i x_i xi需要转置。(但暂时不看向量的积的维度问题)

y i y_i yi( w w w x i x_i xi+ b b b )
1*11*dd*11*1

w = ∑ i = 1 N α i y i x i ∑ i = 1 N α i y i = 0 w = \sum_{i=1}^{N}{\alpha_i y_ix_i } \\ \sum_{i=1}^{N}{\alpha_i y_i} = 0 w=i=1Nαiyixii=1Nαiyi=0

将其代入 L ( ω , b , α ) L(\omega,b,\alpha) L(ω,b,α)之中,得到

L ( ω , b , α ) = 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i y i ( ( ∑ j = 1 N α j y j x j ) ⋅ x i + b ) + ∑ 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 ) L(\omega,b,\alpha) = \frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_i \alpha_j y_i y_j (x_i \cdot x_j) \\ -\sum_{i=1}^{N} \alpha_i y_i ((\sum_{j=1}^{N} \alpha_j y_j x_j) \cdot x_i +b) + \sum_{i=1}^{N} \alpha_i \\ =\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) L(ω,b,α)=21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαiyi((j=1Nαjyjxj)xi+b)+i=1Nαi=i=1Nαi21i=1Nj=1Nαiαjyiyj(xixj)

得到下一步的输入物:

min ⁡ ω , b ∈ R n L ( ω , b , α ) = ∑ i = 1 N α i − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) \min_{\omega, b \in R^n}{L(\omega,b,\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) ω,bRnminL(ω,b,α)=i=1Nαi21i=1Nj=1Nαiαjyiyj(xixj)

(2)开始求极大极小中的极大问题,

max ⁡ α ; α ≥ 0 min ⁡ ω b ∈ R n L ( ω , b , α ) = 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 \max_{\alpha; \alpha \geq 0} \min_{\omega b \in R^n}{L(\omega,b,\alpha)}\\ = \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) \\ s.t. \ \sum_{i=1}^{N}{\alpha_i y_i} = 0\\ \alpha_i \geq 0 α;α0maxωbRnminL(ω,b,α)=αmaxi=1Nαi21i=1Nj=1Nαiαjyiyj(xixj)s.t. i=1Nαiyi=0αi0

转化为极小问题

min ⁡ α ; α ≥ 0 L ( ω , b , α ) = 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 = 1 N α i y i = 0 α i ≥ 0 \min_{\alpha; \alpha \geq 0} {L(\omega,b,\alpha)}\\ = \min_{\alpha} \frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_i \alpha_j y_i y_j (x_i \cdot x_j) -\sum_{i=1}^{N} \alpha_i\\ s.t. \ \sum_{i=1}^{N}{\alpha_i y_i} = 0\\ \alpha_i \geq 0 α;α0minL(ω,b,α)=αmin21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαis.t. i=1Nαiyi=0αi0

支持向量

将训练数据集中对应于 α i &gt; 0 \alpha_i &gt;0 αi>0的样本点 ( x i , y i ) (x_i, y_i) (xi,yi)的实例 x i ∈ R n x_i \in R^n xiRn称为支持向量。由于存在KKT条件, α i ( y i ( w ∗ x i + b ) − 1 ) = 0 \alpha_i (y_i (w * x_i +b)-1)=0 αi(yi(wxi+b)1)=0,需要解同时符合

y i ( w ∗ x i + b ) = 1 y_i (w * x_i +b)=1 yi(wxi+b)=1

因此 x i x_i xi是在间隔边界上。

7.2 线性SVM与软间隔最大化

7.2.1 线性SVM(不是线性可分)

由于现实中大多数样例都不是线性可分的,所以需要“松弛变量”来令SVM得以“纳错”以正确分类。

【重点】在于之前的不等式约束条件不能得到满足。线性不可分意味着,一些样本点无法满足几何间隔大于等于1的情况。

因此,纳入新的“松弛变量”改变原先的不等式约束条件,得到式子:
y i ∗ ( ω ∗ x i + b ) ≥ 1 − ξ i y_i*(\omega * x_i + b) \geq 1- \xi_i yi(ωxi+b)1ξi
相应的学习问题依旧为凸二次规划:
(7.32) min ⁡ w , b   1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i s . t .   y i ( w ∗ x i + b ) ≥ 1 − ξ i ,   i = 1 , 2 , . . . , N ξ i ≥ 0 \min_{w,b}\ \frac{1}{2}||w||^2 + C\sum_{i=1}^{N} \xi_i \\ s.t. \ y_i(w*x_i + b) \geq 1-\xi_i, \ i=1,2,...,N \\ \xi_i \geq 0 \tag{7.32} w,bmin 21w2+Ci=1Nξis.t. yi(wxi+b)1ξi, i=1,2,...,Nξi0(7.32)
之后得到SVM为 f ( x ) = s i g n ( ω ∗ ⋅ x i + b ∗ ) f(x) = sign (\omega^* \cdot x_i + b^*) f(x)=sign(ωxi+b),其中 ω ∗ \omega^* ω有唯一解, b ∗ b^* b有区间解,两者为规划问题的解。

7.2.2 学习的对偶算法推导

  1. 根据7.32公式写出拉格朗日方程
    L ( w , b , ξ , α , μ ) = f ( w , C , ξ i ) + ∑ i = 1 k α i c i ( x ) + ∑ i = 1 l β j h j ( x ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i − ∑ i = 1 N α i (   y i ( w ∗ x i + b ) − 1 + ξ i ) − ∑ i = 1 N μ i ξ i w h e r e , α ≥ 0 , μ ≥ 0 L(w,b,\xi,\alpha,\mu) = f(w,C,\xi_i) + \sum_{i=1}^{k}{\alpha_i c_{i}(x)} + \sum_{i=1}^{l}{\beta_j h_{j}(x)} \\ = \frac{1}{2}||w||^2 + C\sum_{i=1}^{N} \xi_i - \sum_{i=1}^{N}{\alpha_i ( \ y_i(w*x_i + b)-1+\xi_i)} - \sum_{i=1}^{N}{\mu_i \xi_i} \\ where, \alpha \geq 0, \mu \geq 0 L(w,b,ξ,α,μ)=f(w,C,ξi)+i=1kαici(x)+i=1lβjhj(x)=21w2+Ci=1Nξii=1Nαi( yi(wxi+b)1+ξi)i=1Nμiξiwhere,α0,μ0
  2. 由于求极大极小问题,所以先求极小问题。 min ⁡ w , b , ξ   L ( w , b , ξ , α , μ ) \min_{w,b,\xi} \ L(w,b,\xi,\alpha,\mu) w,b,ξmin L(w,b,ξ,α,μ)
    求导
    ∇ ω L ( ω , b , ξ i , α ) = w − ∑ i = 1 N α i y i x i = 0 ∇ ξ i L ( ω , b , ξ i , α ) = C − α i − μ i = 0 ∇ b L ( ω , b , ξ i , α ) = − ∑ i = 1 N α i y i = 0 \nabla_{\omega} L(\omega,b,\xi_i,\alpha)= w- \sum_{i=1}^{N}{\alpha_i y_ix_i }=0\\ \nabla_{\xi_i} L(\omega,b,\xi_i,\alpha) = C-\alpha_i - \mu_i =0\\ \nabla_{b} L(\omega,b,\xi_i,\alpha)=-\sum_{i=1}^{N}{\alpha_i y_i}=0 \\ ωL(ω,b,ξi,α)=wi=1Nαiyixi=0ξiL(ω,b,ξi,α)=Cαiμi=0bL(ω,b,ξi,α)=i=1Nαiyi=0
    得到若干条件:
    w = ∑ i = 1 N α i y i x i C = α i + μ i ∑ i = 1 N α i y i = 0 w=\sum_{i=1}^{N}{\alpha_i y_ix_i }\\ C = \alpha_i + \mu_i \\ \sum_{i=1}^{N}{\alpha_i y_i}=0 \\ w=i=1NαiyixiC=αi+μii=1Nαiyi=0
    重新代入 min ⁡   L ( w , b , ξ , α , μ ) \min \ L(w,b,\xi,\alpha,\mu) min L(w,b,ξ,α,μ)之中:
    L ( w , b , ξ , α , μ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i − ∑ i = 1 N α i (   y i ( w ∗ x i + b ) − 1 + ξ i ) − ∑ i = 1 N μ i ξ i = 1 2 ∑ i = 1 N α i y i x i ∑ j = 1 N α j y j x j + ∑ i = 1 N ( α i + μ i ) ξ i + ∑ i = 1 N α i − ∑ i = 1 N α i y i ( ∑ j = 1 N α j y j x j ) x i − ∑ i = 1 N μ i ξ i − ∑ i = 1 N α i ξ i = − 1 2 ∑ i = 1 N α i y i x i ∑ j = 1 N α j y j x j + ∑ i = 1 N α i = − 1 2 ∑ i = 1 N ∑ j = 1 N α i y i α j y j ( x i ⋅ x j ) + ∑ i = 1 N α i L(w,b,\xi,\alpha,\mu) \\ =\frac{1}{2}||w||^2 + C\sum_{i=1}^{N} \xi_i - \sum_{i=1}^{N}{\alpha_i ( \ y_i(w*x_i + b)-1+\xi_i)} - \sum_{i=1}^{N}{\mu_i \xi_i} \\ = \frac{1}{2} \sum_{i=1}^{N}{\alpha_i y_ix_i }\sum_{j=1}^{N}{\alpha_j y_j x_j } +\sum_{i=1}^{N} (\alpha_i + \mu_i)\xi_i +\sum_{i=1}^{N}{\alpha_i} \\ -\sum_{i=1}^{N}{\alpha_i y_i (\sum_{j=1}^{N}{\alpha_j y_j x_j } ) x_i } - \sum_{i=1}^{N}{\mu_i \xi_i} - \sum_{i=1}^{N}{\alpha_i \xi_i} \\ = -\frac{1}{2} \sum_{i=1}^{N}{\alpha_i y_ix_i }\sum_{j=1}^{N}{\alpha_j y_j x_j } +\sum_{i=1}^{N}{\alpha_i} \\ =-\frac{1}{2} \sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_i y_i \alpha_j y_j (x_i \cdot x_j)+\sum_{i=1}^{N}{\alpha_i} L(w,b,ξ,α,μ)=21w2+Ci=1Nξii=1Nαi( yi(wxi+b)1+ξi)i=1Nμiξi=21i=1Nαiyixij=1Nαjyjxj+i=1N(αi+μi)ξi+i=1Nαii=1Nαiyi(j=1Nαjyjxj)xii=1Nμiξii=1Nαiξi=21i=1Nαiyixij=1Nαjyjxj+i=1Nαi=21i=1Nj=1Nαiyiαjyj(xixj)+i=1Nαi
  3. 对于 min ⁡   L ( w , b , ξ , α , μ ) \min \ L(w,b,\xi,\alpha,\mu) min L(w,b,ξ,α,μ)求在 α \alpha α上的极大问题:
    max ⁡ α min ⁡ w , b , ξ   L ( w , b , ξ , α , μ ) = − 1 2 ∑ i = 1 N ∑ j = 1 N α i y i α j y j ( x i ⋅ x j ) + ∑ i = 1 N α i s . t .   C = α i + μ i ∑ i = 1 N α i y i = 0 α i ≥ 0 μ i ≥ 0 \max_{\alpha}\min_{w,b,\xi} \ L(w,b,\xi,\alpha,\mu) \\ =-\frac{1}{2} \sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_i y_i \alpha_j y_j (x_i \cdot x_j)+\sum_{i=1}^{N}{\alpha_i} \\ s.t. \ C = \alpha_i + \mu_i \\ \sum_{i=1}^{N}{\alpha_i y_i}=0 \\ \alpha_i \geq 0\\ \mu_i \geq 0\\ αmaxw,b,ξmin L(w,b,ξ,α,μ)=21i=1Nj=1Nαiyiαjyj(xixj)+i=1Nαis.t. C=αi+μii=1Nαiyi=0αi0μi0
    消去 μ i \mu_i μi限制条件可以写为:
    ∑ i = 1 N α i y i = 0 0 ≤ α i ≤ C \sum_{i=1}^{N}{\alpha_i y_i}=0 \\ 0 \leq \alpha_i \leq C i=1Nαiyi=00αiC
    【小结】相对于“线性可分SVM”,该节所求得的规划问题方程,只是多了一个对 α \alpha α的限制(小于C)。
    【定理7.3】得到 α i ∗ , i = 1 , 2 , . . . , N ( α ≤ C ) \alpha_i^*,i=1,2,...,N(\alpha \leq C) αi,i=1,2,...,N(αC)之后,求出来的解是:可以看出 w w w是唯一解, b b b有可能有多个解,实际计算时可以取在所有符合条件的样本点上的平均值。
    w ∗ = ∑ i = 1 N α i ∗ y i x i b = y j − w ∗ x j = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) w^*=\sum_{i=1}^{N}{\alpha_i^* y_ix_i }\\ b= y_j - w^* x_j = y_j - \sum_{i=1}^{N}{\alpha_i^* y_i (x_i \cdot x_j)} w=i=1Nαiyixib=yjwxj=yji=1Nαiyi(xixj)

7.2.3 支持向量

线1:支持向量本来应该到超平面的距离1(因为经过了规范化)。
线2: ξ i \xi_i ξi,即所允许的误差,“软间隔”的含义;同时是它到间隔边界的函数距离。
线3: 1 − ξ i 1-\xi_i 1ξi,即最开始的 y i ∗ ( ω ∗ x i + b ) ≥ 1 − ξ i y_i*(\omega * x_i + b) \geq 1- \xi_i yi(ωxi+b)1ξi条件。
因此,如《李航-统计学习方法》原文及图片所示,支持向量 x i x_i xi到达间隔边界的几何距离(经过规范化)为 ξ i ∣ ∣ w ∣ ∣ \frac{\xi_i}{||w||} wξi

【图片来自《李航-统计学习方法》】
在这里插入图片描述

优缺点

【参考 https://blog.csdn.net/x1kz18nkbqg/article/details/78690795
SVM算法的主要优点有:

  1. 解决高维特征的分类问题和回归问题很有效,在特征维度大于样本数时依然有很好的效果。
  2. 仅仅使用一部分支持向量来做超平面的决策,无需依赖全部数据。
  3. 有大量的核函数可以使用,从而可以很灵活的来解决各种非线性的分类回归问题。
  4. 样本量不是海量数据的时候,分类准确率高,泛化能力强。

SVM算法的主要缺点有:

  1. 如果特征维度远远大于样本数,则SVM表现一般。
  2. SVM在样本量非常大,核函数映射维度非常高时,计算量过大,不太适合使用。
  3. 非线性问题的核函数的选择没有通用标准,难以选择一个合适的核函数。
  4. SVM对缺失数据敏感。

用于回归问题

【参考】
https://blog.csdn.net/x1kz18nkbqg/article/details/78690795
https://blog.csdn.net/luoshixian099/article/details/51121767

参考书目

  1. 李航-统计学习方法
  2. 西瓜书
  3. 清华大学深圳研究生院袁春ppt
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值