机器学习中的数学——拉格朗日乘子法(二):不等式约束与KKT条件

分类目录:《算法设计与分析》总目录
相关文章:
·拉格朗日乘子法(一):等式约束的拉格朗日乘子法
·拉格朗日乘子法(二):不等式约束与KKT条件


现在接着《拉格朗日乘子法(一):等式约束的拉格朗日乘子法》的思路考虑不等式约束 g ( x ) ≤ 0 g(x)\leq0 g(x)0的情景。如下图所示,此时最优点 x ∗ x^* x或在 g ( x ) < 0 g(x)<0 g(x)<0的区域中,或在边界 g ( x ) = 0 g(x)=0 g(x)=0上。

  • g ( x ) < 0 g(x)<0 g(x)<0的情况:约束 g ( x ) ≤ 0 g(x)\leq0 g(x)0不起作用,可直接通过条件 ∇ f ( x ) = 0 \nabla f(x)=0 f(x)=0来获得最优点。这等价于将 λ \lambda λ置零然后对 ∇ x L ( x , λ ) \nabla_xL(x,\lambda) xL(x,λ)置零得到最优点。
  • g ( x ) = 0 g(x)=0 g(x)=0的情况:类似于《拉格朗日乘子法(一):等式约束的拉格朗日乘子法》中等式约束的分析,但需注意的是,此时梯度 ∇ g ( x ∗ ) \nabla g(x^*) g(x)的方向和梯度 ∇ f ( x ∗ ) \nabla f(x^*) f(x)的方向必须相反,即存在常数 λ > 0 \lambda>0 λ>0使得 ∇ f ( x ∗ ) + λ ∇ g ( x ∗ ) = 0 \nabla f(x^*)+\lambda\nabla g(x^*)=0 f(x)+λg(x)=0
    不等式约束
    整合这两种情形,必满足入 λ g ( x ) = 0 \lambda g(x)=0 λg(x)=0。因此在约束 g ( x ) ≤ 0 g(x)\leq0 g(x)0下最小化 f ( x ) f(x) f(x),可转化为在如下约束下最小化式的拉格朗日函数:
    { g ( x ) ≤ 0 λ > 0 μ j g j ( x ) = 0 \left\{ \begin{aligned} g(x)&\leq 0\\ \lambda&>0\\ \mu_jg_j(x)&=0 \end{aligned} \right. g(x)λμjgj(x)0>0=0
    上式称为Karush-Kuhn-Tucker(KKT)条件。上述做法可推广到多个约束。考虑具有 m m m个等式约束和 n n n个不等式约束:
    min ⁡ x f ( x ) s.t. h i ( x ) = 0 , i = 1 , 2 , ⋯   , m g j ( x ) ≤ 0 , j = 1 , 2 , ⋯   , n \begin{aligned} \min_x&\quad f(x)\\ \text{s.t.}&\quad h_i(x)=0\qquad ,i=1,2,\cdots,m\\ &\quad g_j(x)\leq0\qquad ,j=1,2,\cdots,n\\ \end{aligned} xmins.t.f(x)hi(x)=0,i=1,2,,mgj(x)0,j=1,2,,n

引入拉格朗日乘子 λ = ( λ 1 , λ 2 , ⋯   , λ m ) T \lambda=(\lambda_1, \lambda_2, \cdots, \lambda_m)^T λ=(λ1,λ2,,λm)T μ = ( μ 1 , μ 2 , ⋯   , μ n ) T \mu=(\mu_1, \mu_2, \cdots,\mu_n)^T μ=(μ1,μ2,,μn)T,相应的拉格朗日函数为:
L ( x , λ , μ ) = f ( x ) + ∑ i = 1 m λ i h i ( x ) + ∑ j = 1 n μ j g j ( x ) L(x, \lambda, \mu)=f(x)+\sum_{i=1}^m\lambda_ih_i(x)+\sum_{j=1}^n\mu_jg_j(x) L(x,λ,μ)=f(x)+i=1mλihi(x)+j=1nμjgj(x)由不等式约束引入的KKT条件:
{ ∇ X L ( x , λ , μ ) = ∇ f + λ i ∇ h i + μ j ∇ g j = 0 h i ( x ) = 0 g j ( x ) ≤ 0 μ j ≥ 0 μ j g j ( x ) = 0 \left\{ \begin{aligned} \nabla_X L(x,\lambda, \mu)&=\nabla f+\lambda_i\nabla h_i+\mu_j\nabla g_j=0\\ h_i(x)&=0\\ g_j(x)&\leq 0\\ \mu_j&\geq0\\ \mu_jg_j(x)&=0 \end{aligned} \right. XL(x,λ,μ)hi(x)gj(x)μjμjgj(x)=f+λihi+μjgj=0=000=0

即可求解。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

von Neumann

您的赞赏是我创作最大的动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值