机器学习个人笔记——(五)分类算法4、支持向量机(SVM)

SVM概念

SVM是一种有监督学习(已知样本的类别标签)的二分类算法,类似于逻辑回归,均为通过一条直线(超平面)将样本划分为两类。
SVM的作用是找到一条最优的直线,将样本更好地划分。

将数据集分隔开来的直线成为分隔平面,在二维平面中即为一条直线,若数据集是1024维的,那就需要1023维的对象对数据进行分隔,这个对象称为超平面

在这里插入图片描述

最优化

前提,数据是线性可分

如下图两种均为线性不可分
在这里插入图片描述在这里插入图片描述
图A的数据集为线性可分,且存在无数条直线能将其分为2类,图BCD中的直线,分别就是其中的一种。在这里插入图片描述

我们希望找到离直线(超平面)最近的点,确保他们离直线的距离尽可能地远。

例如,若选择C中的分隔面作为分类器,由于训练集的有限性或噪声的干扰,训练集外的样本可能更接近两个类目前的分隔界,在分类决策的时候就会出现错误,为了使分类器抗干扰能力强,即使得点到分隔面的距离(间隔)尽可能地大。

寻找最大间隔

设:
直线(超平面)的参数向量:
w T = [ w 1 w 2 . . . w n ] \begin{aligned} \mathbf{ w^{T}} &=\begin{bmatrix}w_{1}&w_{2}&...&w_{n}\end{bmatrix} \end{aligned} wT=[w1w2...wn]

特征向量:
x = [ x 1 x 2 . . . x n ] \begin{aligned} \mathbf{ x}&=\begin{bmatrix} x_{1}\\x_{2}\\...\\x_{n}\\ \end{bmatrix} \end{aligned} x=x1x2...xn
分隔超平面的形式可以写为: y = w T x + b y=\mathbf{w^{T}x}+b y=wTx+b

数据点A特征向量为:
A = [ a 1 a 2 . . . a n ] \begin{aligned} \mathbf{A}&=\begin{bmatrix} a_{1}\\a_{2}\\...\\a_{n}\\ \end{bmatrix} \end{aligned} A=a1a2...an

则点A到分隔面的距离为: ∣ w T A + b ∣ ∣ ∣ w ∣ ∣ {\LARGE\frac{|\mathbf{w^{T}A}+b|}{||\mathbf{w}||}} wwTA+b
即:
= ∣ w 1 a 1 + w 2 a 2 + . . . + w n a n + b ∣ w 1 2 + w 2 2 + . . . + w n 2 {\LARGE =\frac{|w_{1}a_{1}+w_{2}a_{2}+...+w_{n}a_{n}+b|}{\sqrt{w_{1}^2+w_{2}^2+...+w_{n}^2}}} =w12+w22+...+wn2 w1a1+w2a2+...+wnan+b
在这里插入图片描述
将类别分为+1和-1两个类,且距离最近的点函数间隔为1:
{ w T x i + b ≥ + 1 , y i = + 1 w T x i + b ≤ − 1 , y i = − 1 \begin{array}{l} \left\{\begin{matrix} \mathbf{w^{T}x_{i}}+b \ge +1 ,{y_{i}=+1} \\ \mathbf{w^{T}x_{i}}+b \le -1 , {y_{i}=-1} \end{matrix}\right. \end{array} {wTxi+b+1,yi=+1wTxi+b1,yi=1
在这里插入图片描述
y i ∗ ( w T x i + b ) ≥ 1 y_{i}*(\mathbf{w^{T}x_{i}}+b) \ge 1 yi(wTxi+b)1 恒成立

所以 d = y i ∗ ( w T x i + b ) ∣ ∣ w ∣ ∣ {\large d=\frac{y_{i}*(\mathbf{w^{T}x_{i}}+b)}{||\mathbf{w}||}} d=wyi(wTxi+b)

进行代换后,离超平面最近的点,满足
1 、 d = 1 ∣ ∣ w ∣ ∣ 1、{\large d=\frac{1}{||\mathbf{w}||}} 1d=w1
2 、 y i ∗ ( w T x i + b ) = 1 2、y_{i}*(\mathbf{w^{T}x_{i}}+b) = 1 2yi(wTxi+b)=1
该点到直线的距离可以转换为
d = y i ∗ ( w T x + b ) ∣ ∣ w ∣ ∣ {\large d=\frac{y_{i}*(\mathbf{w^{T}x}+b)}{||\mathbf{w}||}} d=wyi(wTx+b)

因此SVM的目标为
max ⁡ min ⁡ y i ∗ ( w T x i + b ) ∣ ∣ w ∣ ∣ \max \frac{\min y_{i}*(\mathbf{w^{T}x_{i}}+b)}{||\mathbf{w}||} maxwminyi(wTxi+b)
求解满足以上公式的 w \mathbf {w} w向量和 b b b参数

因为 min ⁡ y i ∗ ( w T x + b ) = 1 \min y_{i}*(\mathbf{w^{T}x}+b)=1 minyi(wTx+b)=1
所以目标为:
max ⁡ 1 ∣ ∣ w ∣ ∣ s . t : y i ∗ ( w T x i + b ) ≥ 1 \begin{aligned} &{\large \max \frac{1}{||\mathbf{w}||}}\\ \\ &{\large s.t:y_{i}*(\mathbf{w^{T}x_{i}}+b) \ge 1} \end{aligned} maxw1s.t:yi(wTxi+b)1

为了最大化间隔,仅需最小化 ∣ ∣ w ∣ ∣ ||\mathbf{w}|| w,即
min ⁡ ∣ ∣ w ∣ ∣ s . t : y i ∗ ( w T x i + b ) ≥ 1 \begin{aligned} &{\large \min||\mathbf{w}||}\\ \\ &{\large s.t:y_{i}*(\mathbf{w^{T}x_{i}}+b) \ge 1} \end{aligned} minws.t:yi(wTxi+b)1
同时可将 min ⁡ ∣ ∣ w ∣ ∣ \min||\mathbf{w}|| minw写为 min ⁡ 1 2 ∣ ∣ w ∣ ∣ 2 \min \frac{1}{2} ||\mathbf{w}||^{2} min21w2
转换如下,变为一个二次优化问题
min ⁡ 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ∗ ( w T x i + b ) ≥ 1 \begin{aligned} &{\large \min \frac{1}{2} ||\mathbf{w}||^{2}}\\ \\ &{\large s.t. \qquad y_{i}*(\mathbf{w^{T}x_{i}}+b) \ge 1} \end{aligned} min21w2s.t.yi(wTxi+b)1

对偶问题

对于优化问题
min ⁡ 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ∗ ( w T x + b ) ≥ 1 \begin{aligned} &{\large \min \qquad\frac{1}{2} ||\mathbf{w}||^{2}}\\ \\ &{\large s.t. \qquad y_{i}*(\mathbf{w^{T}x}+b) \ge 1} \end{aligned} min21w2s.t.yi(wTx+b)1
可通过拉格朗日乘子法可得到其"对偶问题"

前提:只有当目标函数为凸函数时,才保证求得的是最优解,如下图
在这里插入图片描述

拉格朗日乘子法(等式约束)

拉格朗日乘子法是求解约束优化问题的重要方法,当约束条件为等式约束时,使用拉格朗日乘子法
形式如下,目标函数为 f ( x ) f(x) f(x) m m m个约束约束条件为 h i ( x ) h_{i}(x) hi(x)
min ⁡ x f ( x ) s . t . h i ( x ) = 0 ; ( i = 1 , 2 , . . . , m ) \begin{aligned} \min_{x} \qquad &f(x)\\ s.t. \qquad &h_{i}(x) = 0 ;(i=1,2,...,m) \end{aligned} xmins.t.f(x)hi(x)=0;(i=1,2,...,m)
使用拉格朗日乘子法如下:

  1. 构建 拉格朗日函数
    L ( x , α 1 , α 2 , . . . , α m ) = f ( x ) + α 1 h 1 ( x ) + α 2 h 2 ( x ) + . . . + α m h m ( x ) = > L ( x , α ) = f ( x ) + ∑ i = 1 m α i h i ( x ) \begin{aligned} &L(x,\alpha_{1},\alpha_{2},...,\alpha_{m})=f(x)+\alpha_{1}h_{1}(x)+\alpha_{2}h_{2}(x)+...+\alpha_{m}h_{m}(x)\\\\ =>&L(x,\alpha)=f(x)+\sum_{i=1}^{m} \alpha_{i}h_{i}(x) \end{aligned} =>L(x,α1,α2,...,αm)=f(x)+α1h1(x)+α2h2(x)+...+αmhm(x)L(x,α)=f(x)+i=1mαihi(x)

  2. x , α x,\alpha x,α求偏导 = 0 =0 =0
    { ∇ x L ( x , α ) = 0 ∇ α L ( x , α ) = 0 \begin{cases} & \nabla_{x}L(x,\alpha )=0\\ & \nabla_{\alpha }L(x,\alpha )=0 \end{cases} {xL(x,α)=0αL(x,α)=0

  3. 令导数为 0 ,求得 x 、 α x 、\alpha xα 的值后,将 x x x 带入 f ( x ) f(x) f(x) 即为在约束条件 h i ( x ) h_{i}(x) hi(x) 下的可行解。

例:
目标是求 f ( x , y ) = x 2 ∗ y f(x,y)=x^2∗y f(x,y)=x2y的最大值
同时约束条件为 x 2 + y 2 = 1 x^2+y^2=1 x2+y2=1
max ⁡ x f ( x ) = x 2 ∗ y s . t . h ( x ) = x 2 + y 2 − 1 = 0 \begin{aligned} \max_{x}\qquad & f(x)=x^2∗y\\ s.t. \qquad &h(x) =x^2+y^2-1=0 \end{aligned} xmaxs.t.f(x)=x2yh(x)=x2+y21=0
4. 构造新目标函数
L ( x , y , α ) = x 2 ∗ y + α ∗ ( x 2 + y 2 − 1 ) L(x,y,\alpha)=x^2∗y+\alpha *(x^2+y^2-1) L(x,y,α)=x2y+α(x2+y21)
5. 分别求偏导
{ 对 x 求 偏 导 , ∂ L ( x , y , α ) ∂ x = 2 x y + 2 α x = 0 对 y 求 偏 导 , ∂ L ( x , y , α ) ∂ y = x 2 + 2 α y = 0 对 α 求 偏 导 , ∂ L ( x , y , α ) ∂ α = x 2 + y 2 − 1 = 0 \begin{cases} &对x求偏导,\frac{\partial L(x,y,\alpha )}{\partial x} =2xy+2\alpha x=0\\ &对y求偏导,\frac{\partial L(x,y,\alpha )}{\partial y} =x^2+2\alpha y=0\\ &对\alpha 求偏导,\frac{\partial L(x,y,\alpha )}{\partial \alpha } =x^{2}+y^{2}-1=0 \end{cases} xxL(x,y,α)=2xy+2αx=0yyL(x,y,α)=x2+2αy=0ααL(x,y,α)=x2+y21=0
6. 解出令偏导等于 0 0 0,得到可行解

拉格朗日乘子法(不等式约束)与KKT条件

对于等式约束,目标函数为 f ( x ) f(x) f(x) 1 1 1个约束约束条件为 h i ( x ) h_{i}(x) hi(x)
min ⁡ x f ( x ) s . t . h ( x ) = 0 \begin{aligned} \min_{x} \qquad &f(x)\\ s.t. \qquad &h(x) = 0 \end{aligned} xmins.t.f(x)h(x)=0
将等式约束 h ( x ) = 0 h(x) = 0 h(x)=0推广为不等式 h ( x ) ≤ 0 h(x) \le 0 h(x)0
min ⁡ x f ( x ) s . t . h ( x ) ≤ 0 \begin{aligned} \min_{x} \qquad&f(x)\\ s.t. \qquad &h(x) \le 0 \end{aligned} xmins.t.f(x)h(x)0

对应构造的函数为: L ( x , α ) = f ( x ) + α h ( x ) L(x,\alpha)=f(x)+\alpha h(x) L(x,α)=f(x)+αh(x)

由约束不等式 h ( x ) ≤ 0 h(x) \le 0 h(x)0,我们定义可行域:
K = { x ∣ h ( x ) ≤ 0 } K=\left\{x \mathbf{|}h(x)\le 0\right\} K={xh(x)0}

假设 x ∗ x^* x为满足约束条件的最佳解,有两种情况讨论:

  1. h ( x ∗ ) < 0 h(x^*) < 0 h(x)<0,最佳解位于 K K K的内部
  2. h ( x ∗ ) = 0 h(x^*)=0 h(x)=0,最佳解位于 K K K的边界

这两种情况的最佳解具有不同的必要条件。

1)内部解:此时,由于目标函数为凸函数(前提条件),约束条件 h ( x ) h(x) h(x)将不起作用,此时约束优化将转换为无约束优化问题, α = 0 \alpha=0 α=0

例如如下图,
f ( x ) f(x) f(x)是一个二次函数,:可行域为 K = [ x 1 , x 2 ] K=[x_{1}, x_{2}] K=[x1,x2](约束条件决定 K K K),最优解 x ∗ x^* x落在了 K K K的内部,此时最佳解就是最优解
在这里插入图片描述
对于构造函数 L ( x , α ) = f ( x ) + α h ( x ) L(x,\alpha)=f(x)+\alpha h(x) L(x,α)=f(x)+αh(x)
约束条件将不起作用,即求 min ⁡ f ( x ) \min f(x) minf(x)时,只需f(x)求导=0,无需担心区间的限制,此时 α = 0 \alpha=0 α=0
即: ∇ x L ( x , α ) = 0 , α = 0 \nabla_{x}L(x,\alpha )=0,\alpha=0 xL(x,α)=0α=0

2)边界解:此时约束条件有效,约束不等式变成等式 h ( x ) = 0 h(x)=0 h(x)=0,这与等式约束求解方法相同。
对于等式约束, L ( x , α ) = f ( x ) + α h ( x ) L(x,\alpha)=f(x)+\alpha h(x) L(x,α)=f(x)+αh(x)

分别求偏导
{ 对 x 求 偏 导 , ∇ x L ( x , α ) = 0 对 α 求 偏 导 , ∇ α L ( x , α ) = 0 \begin{cases} &对x求偏导,\nabla_{x}L(x,\alpha )=0\\ &对\alpha 求偏导,\nabla_{\alpha}L(x,\alpha )=0 \end{cases} {xxL(x,α)=0ααL(x,α)=0

上述问题中,目标函数 f f f 和约束等式函数 h h h只有一个x变量,只对x求偏导,
推广为一般形式,目标函数有多个变量, x 1 , x 2 , . . . , x n x_{1},x_{2},...,x_{n} x1,x2,...,xn,分别对 n n n个变量求偏导, 相当于令 ∇ L = 0 \nabla L=0 L=0 L L L的梯度=0),即转化为
{ ∇ x L = ∇ f + α ∇ h = 0 对 α 求 偏 导 , ∇ α L = h ( x ) = 0 \begin{cases} &\nabla_{x} L=\nabla f+\alpha \nabla h=0\\ &对\alpha 求偏导,\nabla_{\alpha}L= h(x)=0 \end{cases} {xL=f+αh=0ααL=h(x)=0
为了方便此处假设 h h h只有1个变量,即 h = h ( x ) h=h(x) h=h(x),此时 ∇ h = h ′ ( x ) \nabla h=h^{'}(x) h=h(x)

根据等式约束优化的求解过程,最优解满足以下条件
{ ∇ x L = ∇ f + α ∇ h = 0 ∇ α L = h ( x ) = 0 \begin{cases} &\nabla_{x} L=\nabla f+\alpha \nabla h=0\\ &\nabla_{\alpha}L= h(x)=0 \end{cases} {xL=f+αh=0αL=h(x)=0
=> { ∇ f + α ∇ h = 0 h ( x ) = 0 \begin{cases} &\nabla f+\alpha \nabla h=0\\ & h(x)=0 \end{cases} {f+αh=0h(x)=0
则:
{ ∇ f = − α ∇ h h ( x ) = 0 \begin{cases} &\nabla f=-\alpha \nabla h\\ & h(x)=0 \end{cases} {f=αhh(x)=0

梯度:指的是函数增长最快的方向。所以:
∇ x f \nabla_{x} f xf 是目标函数 f f f在某一点处增长最快的方向
∇ x h \nabla_{x} h xh 是约束条件函数 h ( x ) h(x) h(x)某一点处增长最快的方向

因为 h ( x ) ≤ 0 h(x)\le 0 h(x)0
所以 h ( x ) h(x) h(x)的梯度,方向一定指向区间 h ( x ) > 0 h(x)>0 h(x)>0的方向,
h ( x ) h(x) h(x)的梯度,一定指向区间(可行域 K K K)的外部

用二次函数为例:
f ( x ) f(x) f(x)是一个二次函数,:可行域为 K = [ x 1 , x 2 ] K=[x_{1}, x_{2}] K=[x1,x2](约束条件决定 K K K),最优解 x ∗ x^* x落在了 K K K的外部,目标函数在 x 2 x_{2} x2点处的梯度就是f(x)在 x 2 x_{2} x2导数的方向
在这里插入图片描述
在上述条件中,在约束条件为h(x),目标函数的最佳解为 x 2 x_{2} x2,即当 x = x 2 x=x_{2} x=x2时取最小值。
可以看到,只要最佳解是边界解,驻点一定在可行域 K K K的外部,且最佳解的点,所对应的的梯度方向一定指向区间内部。
f f f的梯度,方向一定指向可行域 K K K的内部

综上梯度方向的判断。

因为:

h ( x ) h(x) h(x)的梯度: ∇ x h \nabla_{x} h xh,一定指向区间(可行域 K K K)的外部
所以 − ∇ x h -\nabla_{x} h xh,则指向相反的方向,即可行域 K K K的内部

f f f的梯度: ∇ f \nabla f f,一定指向可行域 K K K的内部

又因为:
∇ f = − α ∇ h \nabla f=-\alpha \nabla h f=αh

所以当 α ≥ 0 \alpha \ge 0 α0
才能保证等式成立。

α ≥ 0 \alpha \ge 0 α0成为对偶可行性

因此,综上所进行的推导,
1)内部解条件:
{ α = 0 h ( x ) ≤ 0 \begin{cases} \alpha &= 0 \\ h(x) &\le 0 \end{cases} {αh(x)=00

2)边界解条件
{ α ≥ 0 h ( x ) = 0 ∇ f + α ∇ h = 0 \begin{cases} \alpha &\ge 0 \\ h(x) &=0\\ \nabla f+\alpha \nabla h&=0 \end{cases} αh(x)f+αh0=0=0
无论是对内部解条件,还是边界解条件,可得出
α h ( x ) = 0 ( 恒 成 立 ) \alpha h(x)=0(恒成立) αh(x)=0

因此得到KKT条件,即不等式约束,(对于最小化目标函数)最佳解的必要条件:
∇ x L = ∇ f + α ∇ h = 0 α h ( x ) = 0 h ( x ) ≤ 0 α ≥ 0 \begin{aligned} \nabla_{x}L&= \nabla f+\alpha \nabla h=0\\ \alpha h(x) &= 0 \\ h(x) &\le 0\\ \alpha &\ge 0 \end{aligned} xLαh(x)h(x)α=f+αh=0=000

如果要最大化目标函数,即 max ⁡ f \max f maxf,且不等式约束为 h ( x ) ≤ 0 h(x) \le 0 h(x)0,那么需要 α ≤ 0 \alpha \le 0 α0

上面结果可推广至多个约束等式与约束不等式的情况:
min ⁡ x f ( x ) s . t . g j ( x ) = 0 ; ( j = 1 , 2 , 3... , n , 共 n 个 约 束 条 件 ) h i ( x ) ≤ 0 ; ( i = 1 , 2 , 3... , m , 共 m 个 约 束 条 件 ) \begin{aligned} \min_{x} \qquad&f(x)\\ s.t. \qquad &g_{j}(x)=0 ;(j=1,2,3...,n, 共n个约束条件) \\&h_{i}(x) \le 0 ;(i=1,2,3...,m, 共m个约束条件) \end{aligned} xmins.t.f(x)gj(x)=0;(j=1,2,3...,n,n)hi(x)0;(i=1,2,3...,m,m)
此时构造的拉格朗日函数为
L ( x , { λ j } , { α i } ) = f ( x ) + λ 1 g 1 ( x ) + λ 2 g 2 ( x ) + . . . + λ n g n ( x ) + α 1 h 1 ( x ) + α 2 h 2 ( x ) + . . . + α m h m ( x ) = f ( x ) + ∑ j = 1 n λ j g j ( x ) + ∑ i = 1 m α i h i ( x ) \begin{aligned} L(x,\left \{\lambda_{j}\right \},\left \{\alpha_{i}\right \})&= f(x)+\lambda_{1}g_{1}(x)+\lambda_{2}g_{2}(x)+...+\lambda_{n}g_{n}(x)+\alpha_{1}h_{1}(x)+\alpha_{2}h_{2}(x)+...+\alpha_{m}h_{m}(x)\\ &=f(x)+\sum_{j= 1}^{n} \lambda_{j}g_{j}(x)+\sum_{i= 1}^{m} \alpha_{i}h_{i}(x) \end{aligned} L(x,{λj},{αi})=f(x)+λ1g1(x)+λ2g2(x)+...+λngn(x)+α1h1(x)+α2h2(x)+...+αmhm(x)=f(x)+j=1nλjgj(x)+i=1mαihi(x)

所满足的KKT条件包括:
∇ x L = ∇ f + ∇ g + ∇ h = 0 g j ( x ) = 0 ; ( j = 1 , 2 , 3... , n ) h i ( x ) ≤ 0 α i ≥ 0 α i h i ( x ) = 0 ; ( i = 1 , 2 , 3... , m ) \begin{aligned} \nabla_{x}L &= \nabla f+\nabla g+ \nabla h=0\\\\ g_{j}(x) &=0 ;(j=1,2,3...,n)\\\\ h_{i}(x) &\le 0 \\ \alpha_{i} &\ge 0\\ \alpha_{i} h_{i}(x)&=0;(i=1,2,3...,m) \end{aligned} xLgj(x)hi(x)αiαihi(x)=f+g+h=0=0;(j=1,2,3...,n)00=0;(i=1,2,3...,m)

SVM中,原问题的对偶问题

SVM的优化问题为:
min ⁡ w 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ∗ ( w T x i + b ) ≥ 1 \begin{aligned} &{\large \min_{\mathbf{w}} \qquad\frac{1}{2} ||\mathbf{w}||^{2}}\\ \\ &{\large s.t. \qquad y_{i}*(\mathbf{w^{T}x_{i}}+b) \ge 1} \end{aligned} wmin21w2s.t.yi(wTxi+b)1

转化为:
min ⁡ w f ( w ) = 1 2 ∣ ∣ w ∣ ∣ 2 = 1 2 ( w 1 2 + w 1 2 + . . . + w n 2 ) = 1 2 w T w s . t . h ( w ) = 1 − y i ∗ ( w T x i + b ) ≤ 0 \begin{aligned} &{\large \min_{\mathbf{w}} \qquad f(\mathbf{w} )=\frac{1}{2} ||\mathbf{w}||^{2}}=\frac{1}{2}(w_{1}^2+w_{1}^2+...+w_{n}^2)=\frac{1}{2}\mathbf{w}^T\mathbf{w}\\ \\ &{\large s.t. \qquad h(\mathbf{w})=1-y_{i}*(\mathbf{w^{T}x_{i}}+b) \le 0} \end{aligned} wminf(w)=21w2=21(w12+w12+...+wn2)=21wTws.t.h(w)=1yi(wTxi+b)0
最终
min ⁡ w 1 2 w T w s . t . h ( w ) = 1 − y i ∗ ( w T x i + b ) ≤ 0 ; ( i = 1 , 2 , . . . , , m , m 为 样 本 点 个 数 , 表 示 m 个 不 等 式 约 束 ) \begin{aligned} &{\large \min_{\mathbf{w}} \qquad \frac{1}{2}\mathbf{w}^T\mathbf{w} }\\ \\ &{\large s.t. \qquad h(\mathbf{w})=1-y_{i}*(\mathbf{w^{T}x_{i}}+b) \le 0;(i=1,2,...,,m,m为样本点个数,表示m个不等式约束)} \end{aligned} wmin21wTws.t.h(w)=1yi(wTxi+b)0;(i=1,2,...,,m,m,m)

这样就能转化为一般形式,
构造的拉格朗日函数形如:
L ( w , b , { α i } ) = f ( w ) + α 1 h 1 ( w ) + α 2 h 2 ( w ) + . . . + α m h m ( w ) = f ( w ) + ∑ i = 1 m α i h i ( w ) = 1 2 w T w + ∑ i = 1 m α i ( 1 − y i ∗ ( w T x i + b ) ) \begin{aligned} L(\mathbf{w} ,b,\left \{\alpha_{i}\right \})&= f(\mathbf{w} )+\alpha_{1}h_{1}(\mathbf{w})+\alpha_{2}h_{2}(\mathbf{w})+...+\alpha_{m}h_{m}(\mathbf{w})\\ &=f(\mathbf{w} )+\sum_{i= 1}^{m} \alpha_{i}h_{i}(\mathbf{w})\\ &=\frac{1}{2}\mathbf{w}^T\mathbf{w}+\sum_{i= 1}^{m} \alpha_{i}(1-y_{i}*(\mathbf{w^{T}x_{i}}+b)) \end{aligned} L(w,b,{αi})=f(w)+α1h1(w)+α2h2(w)+...+αmhm(w)=f(w)+i=1mαihi(w)=21wTw+i=1mαi(1yi(wTxi+b))

所满足的KKT条件包括:
∇ w L = ∇ w f + ∇ w h 1 + ∇ w h 2 + . . . + ∇ w h m = 0 ∇ b L = ∇ b f + ∇ b h 1 + ∇ b h 2 + . . . + ∇ b h m = 0 h i ( w ) ≤ 0 α i ≥ 0 α i h i ( w ) = 0 ; ( i = 1 , 2 , 3... , m ) \begin{aligned} \nabla_{\mathbf{w}}L &=\nabla_{\mathbf{w}} f+ \nabla_{\mathbf{w}} h_{1}+\nabla_{\mathbf{w}} h_{2}+...+ \nabla_{\mathbf{w}} h_{m}=0\\ \nabla_{b}L &= \nabla_{b} f+\nabla_{b} h_{1}+\nabla_{b} h_{2}+...+ \nabla_{b} h_{m}=0\\ \\ h_{i}(\mathbf{w}) &\le 0 \\ \alpha_{i} &\ge 0\\ \alpha_{i} h_{i}(\mathbf{w})&=0;(i=1,2,3...,m) \end{aligned} wLbLhi(w)αiαihi(w)=wf+wh1+wh2+...+whm=0=bf+bh1+bh2+...+bhm=000=0;(i=1,2,3...,m)

即:
∇ w L = 0 ∇ b L = 0 1 − y i ∗ ( w T x i + b ) ≤ 0 α i ≥ 0 α i ( 1 − y i ∗ ( w T x i + b ) ) = 0 ; ( i = 1 , 2 , 3... , m ) \begin{aligned} \nabla_{\mathbf{w}}L =0\\ \nabla_{b}L =0\\ \\ 1-y_{i}*(\mathbf{w^{T}x_{i}}+b) &\le 0 \\ \alpha_{i} &\ge 0\\ \alpha_{i}(1-y_{i}*(\mathbf{w^{T}x_{i}}+b) )&=0;(i=1,2,3...,m) \end{aligned} wL=0bL=01yi(wTxi+b)αiαi(1yi(wTxi+b))00=0;(i=1,2,3...,m)

为了得到其对偶问题的具体形式,
因为,
∇ w L = 0 ( 1 ) ∇ b L = 0 ( 2 ) \begin{aligned} \nabla_{\mathbf{w}}L =0 \qquad(1)\\ \nabla_{b}L =0 \qquad(2)\\ \end{aligned} wL=01bL=02
即令 L ( w , b , { α i } ) L(\mathbf{w} ,b,\left \{\alpha_{i}\right \}) L(w,b,{αi})对w和b偏导=0

方程(1)计算可得
w = ∑ i = 1 m α i y i x i \large \mathbf{w}=\sum_{i= 1}^{m} \alpha_{i}y_{i}\mathbf{x_{i}} w=i=1mαiyixi
方程(2)计算可得
∑ i = 1 m α i y i = 0 \large \sum_{i= 1}^{m} \alpha_{i}y_{i}=0 i=1mαiyi=0

将以上两个等式带入拉格朗日目标函数,得:
L ( w , b , { α i } ) = 1 2 w T w + ∑ i = 1 m α i ( 1 − y i ∗ ( w T x i + b ) ) = − 1 2 ∑ i = 1 m ∑ i = 1 m α i α j y i y j ⟨ x i , x j ⟩ + ∑ i = 1 m α i \begin{aligned} L(\mathbf{w} ,b,\left \{\alpha_{i}\right \}) &=\frac{1}{2}\mathbf{w}^T\mathbf{w}+\sum_{i= 1}^{m} \alpha_{i}(1-y_{i}*(\mathbf{w^{T}x_{i}}+b))\\ &=-\frac{1}{2}\sum_{i=1}^{m}\sum_{i=1}^{m}\alpha_{i} \alpha_{j} y_{i}y_{j}\left \langle \mathbf{x_{i}},\mathbf{x_{j}} \right \rangle +\sum_{i=1}^{m}\alpha_{i} \end{aligned} L(w,b,{αi})=21wTw+i=1mαi(1yi(wTxi+b))=21i=1mi=1mαiαjyiyjxi,xj+i=1mαi

目标为求L的最小值时,w,b的取值,即:
min ⁡ w , b L ( w , b , { α i } ) = − 1 2 ∑ i = 1 m ∑ i = 1 m α i α j y i y j ⟨ x i , x j ⟩ + ∑ i = 1 m α i s . t . α i ≥ 0 a n d ∑ i = 1 m α i y i = 0 , ( i = 1 , 2 , . . . , m ) \begin{aligned} &\min_{\mathbf{w},b} L(\mathbf{w} ,b,\left \{\alpha_{i}\right \})= -\frac{1}{2}\sum_{i=1}^{m}\sum_{i=1}^{m}\alpha_{i} \alpha_{j} y_{i}y_{j}\left \langle \mathbf{x_{i}},\mathbf{x_{j}} \right \rangle +\sum_{i=1}^{m}\alpha_{i} \\\\&{\large s.t. \qquad \alpha_{i} \ge 0}\qquad and \qquad{\large \sum_{i= 1}^{m} \alpha_{i}y_{i}=0},(i=1,2,...,m) \end{aligned} w,bminL(w,b,{αi})=21i=1mi=1mαiαjyiyjxi,xj+i=1mαis.t.αi0andi=1mαiyi=0(i=1,2,...,m)

此时该问题满足以下条件:

  1. 优化问题是凸优化问题
  2. 满足KKT条件

可以转化为对偶问题,(对w,b的极小min问题转换为对于α 的极大问题max)
max ⁡ α L ( w , b , { α i } ) = − 1 2 ∑ i = 1 m ∑ i = 1 m α i α j y i y j ⟨ x i , x j ⟩ + ∑ i = 1 m α i s . t . α i ≥ 0 a n d ∑ i = 1 m α i y i = 0 , ( i = 1 , 2 , . . . , m ) \begin{aligned} &\max_{\mathbf{\alpha}} L(\mathbf{w} ,b,\left \{\alpha_{i}\right \})= -\frac{1}{2}\sum_{i=1}^{m}\sum_{i=1}^{m}\alpha_{i} \alpha_{j} y_{i}y_{j}\left \langle \mathbf{x_{i}},\mathbf{x_{j}} \right \rangle +\sum_{i=1}^{m}\alpha_{i} \\\\&{\large s.t. \qquad \alpha_{i} \ge 0}\qquad and \qquad{\large \sum_{i= 1}^{m} \alpha_{i}y_{i}=0},(i=1,2,...,m) \end{aligned} αmaxL(w,b,{αi})=21i=1mi=1mαiαjyiyjxi,xj+i=1mαis.t.αi0andi=1mαiyi=0(i=1,2,...,m)

添加负号,(max转换为min)
min ⁡ α L ( w , b , { α i } ) = 1 2 ∑ i = 1 m ∑ i = 1 m α i α j y i y j ⟨ x i , x j ⟩ − ∑ i = 1 m α i s . t . α i ≥ 0 a n d ∑ i = 1 m α i y i = 0 , ( i = 1 , 2 , . . . , m ) \begin{aligned} &\min_{\mathbf{\alpha}} L(\mathbf{w} ,b,\left \{\alpha_{i}\right \})= \frac{1}{2}\sum_{i=1}^{m}\sum_{i=1}^{m}\alpha_{i} \alpha_{j} y_{i}y_{j}\left \langle \mathbf{x_{i}},\mathbf{x_{j}} \right \rangle -\sum_{i=1}^{m}\alpha_{i} \\\\&{\large s.t. \qquad \alpha_{i} \ge 0}\qquad and \qquad{\large \sum_{i= 1}^{m} \alpha_{i}y_{i}=0},(i=1,2,...,m)\\ \end{aligned} αminL(w,b,{αi})=21i=1mi=1mαiαjyiyjxi,xji=1mαis.t.αi0andi=1mαiyi=0(i=1,2,...,m)

因为,

w = ∑ i = 1 m α i y i x i \large \mathbf{w}=\sum_{i= 1}^{m} \alpha_{i}y_{i}\mathbf{x_{i}} w=i=1mαiyixi
∑ i = 1 m α i y i = 0 \large \sum_{i= 1}^{m} \alpha_{i}y_{i}=0 i=1mαiyi=0
α i ( 1 − y i ∗ ( w T x i + b ) ) = 0 \large\alpha_{i}(1-y_{i}*(\mathbf{w^{T}x_{i}}+b) )=0 αi(1yi(wTxi+b))=0
可知在m个α中,至少存在一个 α j > 0 α_{j}>0 αj>0 (反证法可以证明,若全为0,则 w = 0 \mathbf {w}=\mathbf {0} w=0,矛盾),对该 α j α_{j} αj
y j ( w ∗ x i + b ) − 1 = 0 y_{j}(\mathbf {w^{*}x_{i}}+b)-1=0 yj(wxi+b)1=0

x i , y i \mathbf {x_{i}},y_{i} xiyi均为已知,此时只需求 α α α即可,带入上式中解出
w ∗ = ∑ i = 1 m α i y i x i \large \mathbf{w^{*}}=\sum_{i= 1}^{m} \alpha_{i}y_{i}\mathbf{x_{i}} w=i=1mαiyixi
b ∗ = y j − ∑ i = 1 m α i y i ⟨ x i , x j ⟩ \large b^{*}=y_{j}-\sum_{i=1}^{m}\alpha_{i} y_{i}\left \langle \mathbf{x_{i}},\mathbf{x_{j}} \right \rangle b=yji=1mαiyixi,xj

由此可求出最优的 w ∗ \mathbf {w^*} w b ∗ b^{*} b
最终的直线为
y = w ∗ x + b ∗ \Large y=\mathbf {w^*x}+b^* y=wx+b

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值