svm1

支持向量机( S V M SVM SVM

1 导读部分

  • S V M SVM SVM是一种二分类模型
  • S V M SVM SVM的基本模型是定义在特征空间上的间隔最大的线性分类器
  • S V M SVM SVM还包括核技巧,这使得它成为非线性分类器
  • S V M SVM SVM的学习策略是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题
  • S V M SVM SVM模型由简至繁的分类:
    • 线性可分支持向量机:训练数据线性可分,通过硬间隔最大化,学习一个线性的分类器
    • 线性支持向量机:训练数据近似线性可分,通过软间隔最大化,学习一个线性的分类器
    • 非线性支持向量机:训练数据线性不可分,通过核技巧和软间隔最大化,学习一个非线性的分类器

2 线性可分支持向量机与硬间隔最大化

一个特征空间上的数据集:

  • T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T=\left\{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \cdots,\left(x_{N}, y_{N}\right)\right\} T={(x1,y1),(x2,y2),,(xN,yN)},其中 x i ∈ X = R n , y i ∈ Y = { + 1 , − 1 } x_{i} \in \mathcal{X}=\mathbf{R}^{n},y_{i} \in \mathcal{Y}=\{+1,-1\} xiX=Rn,yiY={+1,1} i = 1 , 2 , ⋯   , N i=1,2, \cdots, N i=1,2,,N x i x_i xi是第 i i i个特征向量,也称为实例, y i y_i yi x i x_i xi的类别标记

  • y = + 1 y=+1 y=+1时,称 x i x_i xi为正例;当 y = − 1 y=-1 y=1时,称 x i x_i xi为正例

  • ( x i , y i ) (x_i,y_i) (xi,yi)为样本点,假设数据集是线性可分的

  • 分离超平面为: w ⋅ x + b = 0 w \cdot x+b=0 wx+b=0,由法向量 w w w和截距 b b b决定,由 ( w , b ) (w, b) (w,b)表示;将特征空间分为两部分:正类和负类

函数间隔和几何间隔:

  • 函数间隔:

    • 给定数据集 T T T和超平面 ( w , b ) (w, b) (w,b),超平面 ( w , b ) (w,b) (w,b)和样本点 ( x i , y i ) (x_i,y_i) (xi,yi)函数间隔为: γ ^ i = y i ( w ⋅ x i + b ) \hat{\gamma}_{i}=y_{i}\left(w \cdot x_{i}+b\right) γ^i=yi(wxi+b)
    • 函数间隔可以表示分类预测的正确性确信度
    • 定义超平面 ( w , b ) (w,b) (w,b)关于训练数据集 T T T的函数间隔为超平面 ( w , b ) (w,b) (w,b)关于 T T T中所有样本点 ( x i , y i ) (x_i,y_i) (xi,yi)函数间隔之和最小值,即: γ ^ = min ⁡ i = 1 , ⋯   , N γ ^ i \hat \gamma=\displaystyle \min_{i=1,\cdots,N}\hat\gamma_i γ^=i=1,,Nminγ^i
  • 几何间隔:

    • 给定数据集 T T T和超平面 ( w , b ) (w, b) (w,b),超平面 ( w , b ) (w,b) (w,b)和样本点 ( x i , y i ) (x_i,y_i) (xi,yi)几何间隔为: γ i = y i ( w ∥ w ∥ ⋅ x i + b ∥ w ∥ ) \gamma_{i}=y_{i}\left(\frac{w}{\|w\|} \cdot x_{i}+\frac{b}{\|w\|}\right) γi=yi(wwxi+wb)
    • 几何间隔对法向量 w w w和截距 b b b做了规范化处理,同除 w w w L 2 L_2 L2范数,是样本点到超平面带符号的距离
    • 定义超平面 ( w , b ) (w,b) (w,b)关于训练数据集 T T T的函数间隔为超平面 ( w , b ) (w,b) (w,b)关于 T T T中所有样本点 ( x i , y i ) (x_i,y_i) (xi,yi)几何间隔之和最小值,即: γ = min ⁡ i = 1 , ⋯   , N γ i \gamma=\displaystyle \min_{i=1,\cdots,N}\gamma_i γ=i=1,,Nminγi
  • 函数间隔和几何间隔的关系: γ i = γ ^ i ∥ w ∥ \gamma_{i}=\frac{\hat{\gamma}_{i}}{\|w\|} γi=wγ^i γ = γ ^ ∥ w ∥ \gamma=\frac{\hat{\gamma}}{\|w\|} γ=wγ^

间隔最大化:

  • 支持向量机学习:正确分类训练数据集+找到几何间隔最大的分离超平面(以获得比较好的泛化能力),这个超平面是唯一

  • 求函数间隔最大化的超平面:
    max ⁡ w , b γ  s.t.  y i ( w ∥ w ∥ ⋅ x i + b ∥ w ∥ ) ⩾ γ , i = 1 , 2 , ⋯   , N \begin{array}{ll}{\displaystyle\max _{w, b}} & {\gamma} \\ {\text { s.t. }} & {y_{i}\left(\frac{w}{\|w\|} \cdot x_{i}+\frac{b}{\|w\|}\right) \geqslant \gamma, \quad i=1,2, \cdots, N}\end{array} w,bmax s.t. γyi(wwxi+wb)γ,i=1,2,,N

  • 求几何间隔最大化的超平面:
    max ⁡ w , b γ ^ ∥ w ∥  s.t.  y i ( w ⋅ x i + b ) ⩾ γ ^ , i = 1 , 2 , ⋯   , N \begin{array}{cl}{\displaystyle\max _{w, b}} & {\frac{\hat{\gamma}}{\|w\|}} \\ {\text { s.t. }} & {y_{i}\left(w \cdot x_{i}+b\right) \geqslant \hat{\gamma}, \quad i=1,2, \cdots, N}\end{array} w,bmax s.t. wγ^yi(wxi+b)γ^,i=1,2,,N

  • 该优化问题与几何间隔 γ ^ \hat{\gamma} γ^的取值无关,故等价优化问题为:
    min ⁡ w , b 1 2 ∥ w ∥ 2  s.t.  y i ( w ⋅ x i + b ) − 1 ⩾ 0 , i = 1 , 2 , ⋯   , N \color{red} \begin{array}{ll}{\displaystyle\min _{w, b}} & {\frac{1}{2}\|w\|^{2}} \\ {\text { s.t. }} & {y_{i}\left(w \cdot x_{i}+b\right)-1 \geqslant 0, \quad i=1,2, \cdots, N}\end{array} w,bmin s.t. 21w2yi(wxi+b)10,i=1,2,,N
    这是一个凸二次规划问题,这个式子是SVM的原始最优化问题

  • 求得最优解: w ∗ , b ∗ w^{*}, b^{*} w,b,得分离超平面: w ∗ ⋅ x + b ∗ = 0 w^{*} \cdot x+b^{*}=0 wx+b=0,得分类超平面: f ( x ) = sign ⁡ ( w ∗ ⋅ x + b ∗ ) f(x)=\operatorname{sign}\left(w^{*} \cdot x+b^{*}\right) f(x)=sign(wx+b)

  • 最大间隔分离超平面的存在唯一性可证明

支持向量和间隔边界:

  • 支持向量对应于: y i ( w ⋅ x i + b ) − 1 = 0 y_i(w\cdot x_i+b)-1 = 0 yi(wxi+b)1=0

  • 对应于两个超平面:

    对应 y i = + 1 y_i=+1 yi=+1正例点,支持向量在超平面: H 1 : w ⋅ x + b = 1 H_{1}: w \cdot x+b=1 H1:wx+b=1

    对应 y i = − 1 y_i=-1 yi=1负例点,支持向量在超平面: H 2 : w ⋅ x + b = − 1 H_{2}: w \cdot x+b=-1 H2:wx+b=1

  • H 1 , H 2 H_1,H_2 H1,H2上的点称为支持向量分离超平面位于 H 1 , H 2 H_1,H_2 H1,H2中央, H 1 , H 2 H_1,H_2 H1,H2称为间隔边界

  • H 1 , H 2 H_1,H_2 H1,H2之间的距离称为间隔,等于: 2 ∥ w ∥ \frac{2}{\|w\|} w2

  • 在确定分离超平面时只有支持向量起着决定作用,所以将这种分类模型称为支持向量机

  • 7.1 7.1 7.1的解法, P y t h o n Python Python程序实现为:

    from scipy import optimize
    import numpy as np
    
    fun = lambda x: ((x[0]) ** 2 + (x[1]) ** 2)/2
    cons = ({'type': 'ineq', 'fun': lambda x: 3 * x[0] + 3 * x[1] + x[2] - 1},
            {'type': 'ineq', 'fun': lambda x: 4 * x[0] + 3 * x[1] + x[2] - 1},
            {'type': 'ineq', 'fun': lambda x: -x[0] - x[1] - x[2] - 1})
    res = optimize.minimize(fun, np.ones(3), method='SLSQP', constraints=cons)
    res
    

学习的对偶问题:

  • 对偶问题往往更容易求解;自然引入核函数,进而推广到非线性分类问题

  • 针对每个不等式约束,定义拉格朗日乘子 α i ≥ 0 \alpha_i\ge0 αi0,定义拉格朗日函数:
    KaTeX parse error: No such environment: align at position 19: …olor{red}\begin{̲a̲l̲i̲g̲n̲}̲ L(w,b,\alpha)&…
    其中 α = ( α 1 , α 2 , … , α N ) T \alpha=(\alpha_1,\alpha_2,\dots,\alpha_N)^T α=(α1,α2,,αN)T拉格朗日乘子向量

  • 原始问题是极小极大问题,根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题
    max ⁡ α min ⁡ w , b L ( w , b , α ) \max\limits_\alpha\min\limits_{w,b}L(w,b,\alpha) αmaxw,bminL(w,b,α)

  • min ⁡ w , b L ( w , b , α ) \displaystyle \min _{w, b} L(w, b, \alpha) w,bminL(w,b,α)
    ∇ w L ( w , b , α ) = w − ∑ i = 1 N α i y i x i = 0 ∇ b L ( w , b , α ) = ∑ i = 1 N α i y i = 0 \begin{array}{l}{\nabla_{w} L(w, b, \alpha)=w-\displaystyle \sum_{i=1}^{N} \alpha_{i} y_{i} x_{i}=0} \\ {\nabla_{b} L(w, b, \alpha)=\displaystyle \sum_{i=1}^{N} \alpha_{i} y_{i}=0}\end{array} wL(w,b,α)=wi=1Nαiyixi=0bL(w,b,α)=i=1Nαiyi=0

    得:
    w = ∑ i = 1 N α i y i x i ∑ i = 1 N α i y i = 0 \begin{array}{l}{w=\displaystyle \sum_{i=1}^{N} \alpha_{i} y_{i} x_{i}} \\ {\displaystyle \sum_{i=1}^{N} \alpha_{i} y_{i}=0}\end{array} w=i=1Nαiyixii=1Nαiyi=0
    代入 L ( w , b , α ) L(w,b,\alpha) L(w,b,α)后得:
    L ( w , 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 = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i \begin{aligned} L(w, b, \alpha) &=\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j}\left(x_{i} \cdot x_{j}\right)-\sum_{i=1}^{N} \alpha_{i} y_{i}\left(\left(\sum_{j=1}^{N} \alpha_{j} y_{j} x_{j}\right) \cdot x_{i}+b\right)+\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}\left(x_{i} \cdot x_{j}\right)+\sum_{i=1}^{N} \alpha_{i} \end{aligned} L(w,b,α)=21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαiyi((j=1Nαjyjxj)xi+b)+i=1Nαi=21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi

    即:
    min ⁡ w , b L ( w , b , α ) = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i \min _{w, b} L(w, b, \alpha)=-\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j}\left(x_{i} \cdot x_{j}\right)+\sum_{i=1}^{N} \alpha_{i} w,bminL(w,b,α)=21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi

  • min ⁡ w , b L ( w , b , α ) \displaystyle \min _{w, b} L(w, b, \alpha) w,bminL(w,b,α) α \alpha α的极大,既是对偶问题:
    max ⁡ α − 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 , i = 1 , 2 , ⋯   , N \begin{array}{cl}{\displaystyle \max _{\alpha}} & {-\frac{1}{2} \displaystyle\sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j}\left(x_{i} \cdot x_{j}\right)+\sum_{i=1}^{N} \alpha_{i}} \\ {\text { s.t. }} & \displaystyle{\sum_{i=1}^{N} \alpha_{i} y_{i}=0} \\ {} & {\alpha_{i} \geqslant 0, \quad i=1,2, \cdots, N}\end{array} αmax s.t. 21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαii=1Nαiyi=0αi0,i=1,2,,N

    目标函数转化为最小:
    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 , i = 1 , 2 , ⋯   , N \color{red}\begin{array}{cl}\displaystyle {\min _{\alpha}} & {\frac{1}{2} \displaystyle\sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j}\left(x_{i} \cdot x_{j}\right)-\sum_{i=1}^{N} \alpha_{i}} \\ {\text { s.t. }} & \displaystyle {\sum_{i=1}^{N} \alpha_{i} y_{i}=0} \\ {} & {\alpha_{i} \geqslant 0, \quad i=1,2, \cdots, N}\end{array} αmin s.t. 21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαii=1Nαiyi=0αi0,i=1,2,,N

  • 根据上不等式可求得 α ∗ = ( α 1 ∗ , α 2 ∗ , ⋯   , α N ∗ ) T \alpha^{*}=\left(\alpha_{1}^{*}, \alpha_{2}^{*}, \cdots, \alpha_{N}^{*}\right)^{\mathrm{T}} α=(α1,α2,,αN)T,进一步求得: w ∗ , b ∗ w^{*}, b^{*} w,b
    w ∗ = ∑ i = 1 N α i ∗ y i x i b ∗ = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) \color{red}\begin{aligned} w^{*} &=\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} x_{i} \\ b^{*}=& y_{j}-\sum_{i=1}^{N} \alpha_{i}^{*} y_{i}\left(x_{i} \cdot x_{j}\right) \end{aligned} wb==i=1Nαiyixiyji=1Nαiyi(xixj)
    分离超平面为:
    ∑ i = 1 N α i ∗ y i ( x ⋅ x i ) + b ∗ = 0 \color{red} \sum_{i=1}^{N} \alpha_{i}^{*} y_{i}\left(x \cdot x_{i}\right)+b^{*}=0 i=1Nαiyi(xxi)+b=0
    线性可分支持向量机的对偶形式,分类决策函数:
    f ( x ) = sign ⁡ ( ∑ i = 1 N α i ∗ y i ( x ⋅ x i ) + b ∗ ) \color{red}f(x)=\operatorname{sign}\left(\sum_{i=1}^{N} \alpha_{i}^{*} y_{i}\left(x \cdot x_{i}\right)+b^{*}\right) f(x)=sign(i=1Nαiyi(xxi)+b)

定义:训练数据集中对应于 α i ∗ > 0 \alpha_{i}^{*}>0 αi>0的样本点 ( x i , y i ) \left(x_{i}, y_{i}\right) (xi,yi)的实例点 x i ∈ R n x_{i} \in \mathbf{R}^{n} xiRn称为支持向量

K K T KKT KKT互补条件可知: α i ∗ ( y i ( w ∗ ⋅ x i + b ∗ ) − 1 ) = 0 , i = 1 , 2 , ⋯   , N \alpha_{i}^{*}\left(y_{i}\left(w^{*} \cdot x_{i}+b^{*}\right)-1\right)=0, \quad i=1,2, \cdots, N αi(yi(wxi+b)1)=0,i=1,2,,N

对于 α i ∗ > 0 \alpha_{i}^{*}>0 αi>0的样本点 ( x i , y i ) \left(x_{i}, y_{i}\right) (xi,yi),有: y i ( w ∗ ⋅ x i + b ∗ ) − 1 = 0 y_{i}\left(w^{*} \cdot x_{i}+b^{*}\right)-1=0 yi(wxi+b)1=0

或者: w ∗ ⋅ x i + b ∗ = ± 1 w^{*} \cdot x_{i}+b^{*}=\pm 1 wxi+b=±1

即:样本点 ( x i , y i ) \left(x_{i}, y_{i}\right) (xi,yi)一定在间隔边界上

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值