svm1

支持向量机(SVMSVMSVM

1 导读部分

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

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

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

  • T={(x1,y1),(x2,y2),⋯ ,(xN,yN)}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)},其中xi∈X=Rn,yi∈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,⋯ ,Ni=1,2, \cdots, Ni=1,2,,Nxix_ixi是第iii个特征向量,也称为实例,yiy_iyixix_ixi的类别标记

  • y=+1y=+1y=+1时,称xix_ixi为正例;当y=−1y=-1y=1时,称xix_ixi为正例

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

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

函数间隔和几何间隔:

  • 函数间隔:

    • 给定数据集TTT和超平面(w,b)(w, b)(w,b),超平面(w,b)(w,b)(w,b)和样本点(xi,yi)(x_i,y_i)(xi,yi)函数间隔为:γ^i=yi(w⋅xi+b)\hat{\gamma}_{i}=y_{i}\left(w \cdot x_{i}+b\right)γ^i=yi(wxi+b)
    • 函数间隔可以表示分类预测的正确性确信度
    • 定义超平面(w,b)(w,b)(w,b)关于训练数据集TTT的函数间隔为超平面(w,b)(w,b)(w,b)关于TTT中所有样本点(xi,yi)(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
  • 几何间隔:

    • 给定数据集TTT和超平面(w,b)(w, b)(w,b),超平面(w,b)(w,b)(w,b)和样本点(xi,yi)(x_i,y_i)(xi,yi)几何间隔为:γi=yi(w∥w∥⋅xi+b∥w∥)\gamma_{i}=y_{i}\left(\frac{w}{\|w\|} \cdot x_{i}+\frac{b}{\|w\|}\right)γi=yi(wwxi+wb)
    • 几何间隔对法向量www和截距bbb做了规范化处理,同除wwwL2L_2L2范数,是样本点到超平面带符号的距离
    • 定义超平面(w,b)(w,b)(w,b)关于训练数据集TTT的函数间隔为超平面(w,b)(w,b)(w,b)关于TTT中所有样本点(xi,yi)(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. yi(w∥w∥⋅xi+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. yi(w⋅xi+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,b12∥w∥2 s.t. yi(w⋅xi+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∗=0w^{*} \cdot x+b^{*}=0wx+b=0,得分类超平面:f(x)=sign⁡(w∗⋅x+b∗)f(x)=\operatorname{sign}\left(w^{*} \cdot x+b^{*}\right)f(x)=sign(wx+b)

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

支持向量和间隔边界:

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

  • 对应于两个超平面:

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

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

  • H1,H2H_1,H_2H1,H2上的点称为支持向量分离超平面位于H1,H2H_1,H_2H1,H2中央,H1,H2H_1,H_2H1,H2称为间隔边界

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

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

  • 7.17.17.1的解法,PythonPythonPython程序实现为:

    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,bL(w,b,α) \max\limits_\alpha\min\limits_{w,b}L(w,b,\alpha) αmaxw,bminL(w,b,α)

  • min⁡w,bL(w,b,α)\displaystyle \min _{w, b} L(w, b, \alpha)w,bminL(w,b,α)
    ∇wL(w,b,α)=w−∑i=1Nαiyixi=0∇bL(w,b,α)=∑i=1Nαiyi=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=1Nαiyixi∑i=1Nαiyi=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,α)=12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)−∑i=1Nαiyi((∑j=1Nαjyjxj)⋅xi+b)+∑i=1Nαi=−12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nα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,bL(w,b,α)=−12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nα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,bL(w,b,α)\displaystyle \min _{w, b} L(w, b, \alpha)w,bminL(w,b,α)α\alphaα的极大,既是对偶问题:
    max⁡α−12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi s.t. ∑i=1Nαiyi=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⁡α12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)−∑i=1Nαi s.t. ∑i=1Nαiyi=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=1Nαi∗yixib∗=yj−∑i=1Nαi∗yi(xi⋅xj) \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=1Nαi∗yi(x⋅xi)+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=1Nαi∗yi(x⋅xi)+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的样本点(xi,yi)\left(x_{i}, y_{i}\right)(xi,yi)的实例点xi∈Rnx_{i} \in \mathbf{R}^{n}xiRn称为支持向量

KKTKKTKKT互补条件可知:αi∗(yi(w∗⋅xi+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的样本点(xi,yi)\left(x_{i}, y_{i}\right)(xi,yi),有:yi(w∗⋅xi+b∗)−1=0y_{i}\left(w^{*} \cdot x_{i}+b^{*}\right)-1=0yi(wxi+b)1=0

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值