拉格朗日乘子法

拉格朗日乘子法

拉格朗日乘子法是常用的一阶优化方法,本文首先介绍基本的拉格朗日乘子法,接着介绍具有不等式约束情形的拉格朗日对偶问题,最后使用拉格朗日对偶方法解决硬间隔支持向量机问题。

拉格朗日函数

对函数 f ( x ) f(\boldsymbol{x}) f(x) R d ↦ R R^d\mapsto R RdR,考虑优化问题
min ⁡ x f ( x ) s . t . h ( x ) = 0 \begin{aligned} &\min\limits_{\boldsymbol{x}}\quad f(\boldsymbol{x})\\ &s.t.\quad h(\boldsymbol{x})=0 \end{aligned} xminf(x)s.t.h(x)=0
目标函数在最优点 x ∗ \boldsymbol{x}^{\ast} x处的梯度一定正交于 h ( x ) = 0 h(\boldsymbol{x})=0 h(x)=0确定的 d − 1 d-1 d1维约束曲面,同时对于约束曲面上的点 x \boldsymbol{x} x h ( x ) h(\boldsymbol{x}) h(x)在该点的梯度一定也正交于约束曲面,也就是说在最优点 x ∗ \boldsymbol{x}^{\ast} x,梯度 ∇ f ( x ) \nabla f(\boldsymbol{x}) f(x) ∇ g ( x ) \nabla g(\boldsymbol{x}) g(x)一定相同或相反,即存在 λ ≠ 0 \lambda\neq0 λ=0使得
∇ f ( x ∗ ) + λ ∇ g ( x ∗ ) = 0 \nabla f(\boldsymbol{x}^{\ast})+\lambda \nabla g(\boldsymbol{x}^{\ast})=0 f(x)+λg(x)=0
λ \lambda λ称为拉格朗日乘子,定义拉格朗日函数
L ( x , λ ) = f ( x ) + λ g ( x ) L(\boldsymbol{x},\lambda)=f(\boldsymbol{x})+\lambda g(\boldsymbol{x}) L(x,λ)=f(x)+λg(x)
将其对 x \boldsymbol{x} x的偏导置零即可得到 ∇ f ( x ∗ ) + λ ∇ g ( x ∗ ) = 0 \nabla f(\boldsymbol{x}^{\ast})+\lambda \nabla g(\boldsymbol{x}^{\ast})=0 f(x)+λg(x)=0,将其对 λ \lambda λ的偏导置零即可得到 h ( x ) = 0 h(\boldsymbol{x})=0 h(x)=0,于是带约束优化问题转变为对拉格朗日函数 L ( x , λ ) L(\boldsymbol{x},\lambda) L(x,λ)的无约束优化问题。

考虑不等式约束优化问题
min ⁡ x f ( x ) s . t . g ( x ) ≤ 0 \begin{aligned} &\min\limits_{\boldsymbol{x}}\quad f(\boldsymbol{x})\\ &s.t.\quad g(\boldsymbol{x}) \leq0 \end{aligned} xminf(x)s.t.g(x)0
其最优点 x ∗ \boldsymbol{x}^{\ast} x或在 g ( x ) < 0 g(\boldsymbol{x})<0 g(x)<0的区域内,或在边界 g ( x ) = 0 g(\boldsymbol{x})=0 g(x)=0上,当最优解在约束区域内部时,约束 g ( x ) ≤ 0 g(\boldsymbol{x})\leq0 g(x)0不起作用,可直接通过条件 ∇ f ( x ) = 0 \nabla f(\boldsymbol{x})=0 f(x)=0来获得最优点,等价于将 λ \lambda λ置零然后对 ∇ L ( x , λ ) \nabla L(\boldsymbol{x},\lambda) L(x,λ)置零得到最优点。当最优解落在约束区域边界上时,对应 g ( x ) = 0 g(\boldsymbol{x})=0 g(x)=0的情形,等价于等式约束。但此时 ∇ f ( x ∗ ) \nabla f(\boldsymbol{x}^{\ast}) f(x) ∇ g ( x ∗ ) \nabla g(\boldsymbol{x}^{\ast}) g(x)的方向一定相反,否则在 g ( x ) < 0 g(\boldsymbol{x})<0 g(x)<0的区域内 f ( x ) f(\boldsymbol{x}) f(x)还能取更小的值。因此存在 λ > 0 \lambda>0 λ>0使得 ∇ f ( x ∗ ) + λ ∇ g ( x ∗ ) = 0 \nabla f(\boldsymbol{x}^{\ast})+\lambda \nabla g(\boldsymbol{x}^{\ast})=0 f(x)+λg(x)=0。总之必满足 λ g ( x ) = 0 \lambda g(\boldsymbol{x})=0 λg(x)=0,因此原问题可转化为在如下约束下最小化拉格朗日函数
{ g ( x ) ≤ 0 λ ≥ 0 λ g ( x ) = 0 \begin{cases} g(\boldsymbol{x}) \leq0\\ \lambda\geq0\\ \lambda g(\boldsymbol{x})=0 \end{cases} g(x)0λ0λg(x)=0
这称为Karush-Kuhn-Tucker(KKT)条件。

拉格朗日对偶

将上述想法推广到多个约束,考虑具有m个等式约束和n个不等式约束的优化问题
min ⁡ x f ( x ) s . t . h i ( x ) = 0 i = 1 , ⋯   , m    g j ( x ) ≤ 0 j = 1 , ⋯   , n \begin{aligned} &\min\limits_{\boldsymbol{x}}\quad f(\boldsymbol{x})\\ &s.t.\quad h_i(\boldsymbol{x})=0 &i=1,\cdots,m\\ &\quad \quad \;g_j(\boldsymbol{x}) \leq0 &j=1,\cdots,n \end{aligned} xminf(x)s.t.hi(x)=0gj(x)0i=1,,mj=1,,n
引入拉格朗日乘子 a = ( a 1 , ⋯   , a m ) T \boldsymbol{a}=(a_1,\cdots,a_m)^T a=(a1,,am)T b = ( b 1 , ⋯   , b n ) T \boldsymbol{b}=(b_1,\cdots,b_n)^T b=(b1,,bn)T,相应的广义拉格朗日函数为
L ( x , a , b ) = f ( x ) + ∑ i = 1 m a i h i ( x ) + ∑ j = 1 n b j g j ( x ) L(\boldsymbol{x},\boldsymbol{a},\boldsymbol{b})= f(\boldsymbol{x})+\sum_{i=1}^ma_ih_i(\boldsymbol{x})+\sum_{j=1}^nb_jg_j(\boldsymbol{x}) L(x,a,b)=f(x)+i=1maihi(x)+j=1nbjgj(x)
相应的KKT条件为
{ g j ( x ) ≤ 0 b j ≥ 0 b j g j ( x ) = 0 \begin{cases} g_j(\boldsymbol{x}) \leq0\\ b_j\geq0\\ b_jg_j(\boldsymbol{x})=0 \end{cases} gj(x)0bj0bjgj(x)=0
考虑 x \boldsymbol{x} x的函数
Θ P ( x ) = max ⁡ a , b ; b j ≥ 0 L ( x , a , b ) \Theta_P(\boldsymbol{x})=\max\limits_{\boldsymbol{a},\boldsymbol{b};b_j\geq0}L(\boldsymbol{x},\boldsymbol{a},\boldsymbol{b}) ΘP(x)=a,b;bj0maxL(x,a,b)
假设对于某个 x \boldsymbol{x} x违反原始问题的约束,那么 Θ P ( x ) → + ∞ \Theta_P(\boldsymbol{x})\rightarrow+\infty ΘP(x)+,因为可以让 a i h i ( x ) → + ∞ a_ih_i(\boldsymbol{x})\rightarrow+\infty aihi(x)+或让 b j → + ∞ b_j\rightarrow+\infty bj+。相反如果 x \boldsymbol{x} x满足原始问题的约束,那么 Θ P ( x ) = f ( x ) \Theta_P(\boldsymbol{x})=f(\boldsymbol{x}) ΘP(x)=f(x)。因此
Θ P ( x ) = { f ( x ) , x 满 足 约 束 + ∞ , 其 他 \Theta_P(\boldsymbol{x})=\begin{cases}f(\boldsymbol{x}),&\boldsymbol{x}满足约束\\ +\infty,&其他 \end{cases} ΘP(x)={f(x),+,x
如果考虑极小化问题
min ⁡ x Θ P ( x ) = min ⁡ x max ⁡ a , b ; b j ≥ 0 L ( x , a , b ) \min\limits_{\boldsymbol{x}}\Theta_P(\boldsymbol{x})=\min\limits_{\boldsymbol{x}}\max\limits_{\boldsymbol{a},\boldsymbol{b};b_j\geq0}L(\boldsymbol{x},\boldsymbol{a},\boldsymbol{b}) xminΘP(x)=xmina,b;bj0maxL(x,a,b)
它与原始最优化问题是等价的。称之为广义拉格朗日函数的极小极大问题。定义原始问题的最优值
p ∗ = min ⁡ x Θ P ( x ) p^{\ast}=\min\limits_{\boldsymbol{x}}\Theta_P(\boldsymbol{x}) p=xminΘP(x)
接着考虑 x \boldsymbol{x} x的函数
Θ D ( a , b ) = min ⁡ x L ( x , a , b ) \Theta_D(\boldsymbol{a},\boldsymbol{b})=\min\limits_{\boldsymbol{x}}L(\boldsymbol{x},\boldsymbol{a},\boldsymbol{b}) ΘD(a,b)=xminL(x,a,b)
极大化 Θ D ( a , b ) \Theta_D(\boldsymbol{a},\boldsymbol{b}) ΘD(a,b),即
max ⁡ a , b ; b j ≥ 0 Θ D ( a , b ) = max ⁡ a , b ; b j ≥ 0 min ⁡ x L ( x , a , b ) \max\limits_{\boldsymbol{a},\boldsymbol{b};b_j\geq0}\Theta_D(\boldsymbol{a},\boldsymbol{b})=\max\limits_{\boldsymbol{a},\boldsymbol{b};b_j\geq0}\min\limits_{\boldsymbol{x}}L(\boldsymbol{x},\boldsymbol{a},\boldsymbol{b}) a,b;bj0maxΘD(a,b)=a,b;bj0maxxminL(x,a,b)
称为广义拉格朗日函数的极大极小问题,可将其表示为约束最优化问题
max ⁡ a , b    Θ D ( a , b ) s . t . b j ≥ 0 \begin{aligned} &\max\limits_{\boldsymbol{a},\boldsymbol{b}}\;\Theta_D(\boldsymbol{a},\boldsymbol{b})\\ &s.t.\quad b_j\geq0 \end{aligned} a,bmaxΘD(a,b)s.t.bj0
称为原始问题的对偶问题,定义对偶问题的最优值
d ∗ = max ⁡ a , b ; b j ≥ 0 Θ D ( a , b ) d^{\ast}=\max\limits_{\boldsymbol{a},\boldsymbol{b};b_j\geq0}\Theta_D(\boldsymbol{a},\boldsymbol{b}) d=a,b;bj0maxΘD(a,b)
若原始问题和对偶问题都有最优值,则满足
d ∗ = max ⁡ a , b ; b j ≥ 0 min ⁡ x L ( x , a , b ) ≤ min ⁡ x max ⁡ a , b ; b j ≥ 0 L ( x , a , b ) = q ∗ d^{\ast}=\max\limits_{\boldsymbol{a},\boldsymbol{b};b_j\geq0}\min\limits_{\boldsymbol{x}}L(\boldsymbol{x},\boldsymbol{a},\boldsymbol{b})\leq \min\limits_{\boldsymbol{x}}\max\limits_{\boldsymbol{a},\boldsymbol{b};b_j\geq0}L(\boldsymbol{x},\boldsymbol{a},\boldsymbol{b})=q^{\ast} d=a,b;bj0maxxminL(x,a,b)xmina,b;bj0maxL(x,a,b)=q
证明:对任意 x \boldsymbol{x} x a \boldsymbol{a} a b \boldsymbol{b} b
Θ D ( a , b ) = min ⁡ x L ( x , a , b ) ≤ L ( x , a , b ) ≤ max ⁡ a , b ; b j ≥ 0 L ( x , a , b ) = Θ P ( x ) \Theta_D(\boldsymbol{a},\boldsymbol{b})=\min\limits_{\boldsymbol{x}}L(\boldsymbol{x},\boldsymbol{a},\boldsymbol{b})\leq L(\boldsymbol{x},\boldsymbol{a},\boldsymbol{b})\leq\max\limits_{\boldsymbol{a},\boldsymbol{b};b_j\geq0}L(\boldsymbol{x},\boldsymbol{a},\boldsymbol{b})=\Theta_P(\boldsymbol{x}) ΘD(a,b)=xminL(x,a,b)L(x,a,b)a,b;bj0maxL(x,a,b)=ΘP(x)

Θ D ( a , b ) ≤ Θ P ( x ) \Theta_D(\boldsymbol{a},\boldsymbol{b})\leq\Theta_P(\boldsymbol{x}) ΘD(a,b)ΘP(x)
由于原始问题和对偶问题都有最优值,所以
max ⁡ a , b ; b j ≥ 0 Θ D ( a , b ) ≤ min ⁡ x Θ P ( x ) \max\limits_{\boldsymbol{a},\boldsymbol{b};b_j\geq0}\Theta_D(\boldsymbol{a},\boldsymbol{b})\leq \min\limits_{\boldsymbol{x}}\Theta_P(\boldsymbol{x}) a,b;bj0maxΘD(a,b)xminΘP(x)

d ∗ = max ⁡ a , b ; b j ≥ 0 min ⁡ x L ( x , a , b ) ≤ min ⁡ x max ⁡ a , b ; b j ≥ 0 L ( x , a , b ) = q ∗ d^{\ast}=\max\limits_{\boldsymbol{a},\boldsymbol{b};b_j\geq0}\min\limits_{\boldsymbol{x}}L(\boldsymbol{x},\boldsymbol{a},\boldsymbol{b})\leq \min\limits_{\boldsymbol{x}}\max\limits_{\boldsymbol{a},\boldsymbol{b};b_j\geq0}L(\boldsymbol{x},\boldsymbol{a},\boldsymbol{b})=q^{\ast} d=a,b;bj0maxxminL(x,a,b)xmina,b;bj0maxL(x,a,b)=q
如果 f ( x ) f(\boldsymbol{x}) f(x) g j ( x ) g_j(\boldsymbol{x}) gj(x)为凸函数, h i ( x ) h_i(\boldsymbol{x}) hi(x)为仿射函数,那么原始问题和对偶问题的最优值相同,即存在 x ∗ \boldsymbol{x^{\ast}} x a ∗ \boldsymbol{a^{\ast}} a b ∗ \boldsymbol{b^{\ast}} b,使得
d ∗ = q ∗ = L ( x ∗ , a ∗ , b ∗ ) d^{\ast}=q^{\ast}=L(\boldsymbol{x^{\ast}},\boldsymbol{a^{\ast}},\boldsymbol{b^{\ast}}) d=q=L(x,a,b)
这称为Slater条件,这时可以解对偶问题代替解原始问题。

硬间隔支持向量机

硬间隔支撑向量机可以写成优化问题
min ⁡ w 1 2 ∥ w ∥ 2 s . t . y i ( w T x i + b ) ≥ 1 i = 1 , ⋯   , m \begin{aligned} &\min\limits_{\boldsymbol{w}}\quad\frac{1}{2}\|\boldsymbol{w}\|^2\\ &s.t.\quad y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)\geq1 &i=1,\cdots,m\\ \end{aligned} wmin21w2s.t.yi(wTxi+b)1i=1,,m
其广义拉格朗日函数为
L ( w , b , x ) = 1 2 w T w + ∑ i = 1 m a i ( 1 − y i ( w T x i + b ) ) L(\boldsymbol{w},b,\boldsymbol{x})=\frac{1}{2}\boldsymbol{w}^T\boldsymbol{w}+\sum_{i=1}^ma_i(1-y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)) L(w,b,x)=21wTw+i=1mai(1yi(wTxi+b))
1 2 ∥ w ∥ 2 \frac{1}{2}\|\boldsymbol{w}\|^2 21w2是关于 w \boldsymbol{w} w的二次函数, 1 − y i ( w T x i + b ) 1-y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) 1yi(wTxi+b)是关于 x \boldsymbol{x} x的线性函数,两者都是凸函数,满足slater条件,为求其对偶问题首先需要对 w \boldsymbol{w} w b b b求偏导并令其等于0,可以得到
w − ∑ i = 1 m a i y i x i = 0 ∑ i = 1 m a i y i = 0 \begin{aligned} \boldsymbol{w}-\sum_{i=1}^ma_iy_i\boldsymbol{x}_i&=0\\ \sum_{i=1}^ma_iy_i&=0 \end{aligned} wi=1maiyixii=1maiyi=0=0
将其代入 L ( w , b , x ) L(\boldsymbol{w},b,\boldsymbol{x}) L(w,b,x)得到对偶函数
L D ( a ) = − 1 2 ∑ i = 1 m ∑ j = 1 n a i a j y i y j x i T x j + ∑ i = 1 m a i L_D(\boldsymbol{a})=-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^na_ia_jy_iy_j\boldsymbol{x}_i^T\boldsymbol{x}_j+\sum_{i=1}^{m}a_i LD(a)=21i=1mj=1naiajyiyjxiTxj+i=1mai
于是其对偶问题为
max ⁡ a L D ( a ) s . t . ∑ i = 1 m a i y i = 0      a i ≥ 0 i = 1 , ⋯   , m \begin{aligned} &\max\limits_{\boldsymbol{a}}\quad L_D(\boldsymbol{a})\\ &s.t.\quad \sum_{i=1}^ma_iy_i=0\\ &\quad \quad \;\;a_i \geq 0 &i=1,\cdots,m\\ \end{aligned} amaxLD(a)s.t.i=1maiyi=0ai0i=1,,m
解出对偶问题后,即可得到
w = ∑ i = 1 m a i y i x i \boldsymbol{w}=\sum_{i=1}^ma_iy_i\boldsymbol{x}_i w=i=1maiyixi
同时上述过程需满足KKT条件
{ a i ≥ 0 1 − y i ( w T x i + b ) ≤ 0 a i ( 1 − y i ( w T x i + b ) ) = 0 \begin{cases} a_i\geq0\\ 1-y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)\leq0 \\ a_i(1-y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b))=0 \end{cases} ai01yi(wTxi+b)0ai(1yi(wTxi+b))=0
因此对 a i ≠ 0 a_i\neq0 ai=0的样本,必有 y i ( w T x i + b ) = 1 y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1 yi(wTxi+b)=1,这样的样本就是支撑向量,那么对任意支撑向量可以解得
b = 1 y i − w T x i b=\frac{1}{y_i}-\boldsymbol{w}^T\boldsymbol{x_i} b=yi1wTxi
现实中为了保持鲁棒性,通常是对所有支撑向量求平均值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值