机器学习实战(基于scikit-learn和TensorFlow)学习心得(28)--拉格朗日乘子法,多约束拉格朗日乘子法物理意义和KKT条件

本文详细介绍了拉格朗日乘子法及其在机器学习中处理约束优化问题的应用,特别是通过实例探讨了多约束条件下的拉格朗日乘子法和KKT条件,解释了它们的物理意义和数学原理。
摘要由CSDN通过智能技术生成

1. 拉格朗日乘子法

这个问题我们之前涉及到过,在机器学习实战(基于scikit-learn和TensorFlow)学习心得(23)--逻辑回归 Logistic Regression的时候我们把带约束条件的方程通过拉格朗日乘子法合并为了一个方程.

拉格朗日乘子法具体是什么样的呢?

我们看这么一个式子

在下面两个约束条件的情况下求得f的最小值.求最小值其实就是求偏导数等于0的点.如果只考虑上面的式子因为都是平方项所以最小值是0,而取得最小值的点是(0,0,0),但是显然(0,0,0)并不满足与下面两个约束条件.那如果我们想用梯度法求解极值问题我们就必须想办法把下面的约束条件揉到上面的f中,也就是我们要根据下面的约束条件重新构造一个f.

这时候我们就要用拉格朗日乘子法了.

具体做法是这样的首先我们把两个等式约束条件加一个系数加到f中

f=2x_{1}^{2}+3x_{2}^{2}+7x_{3}^{2}+\alpha _{1}(2x_{1}+x_{2}-1)+\alpha _{2}(2x_{2}+3x_{3}-2)

接着我们分别对x1,x2,x3求偏导数得到

\\ \frac{\partial f}{\partial x_{1}}=4x_{1}+2\alpha_{1}\\ x_{1}=-0.5\alpha_{1}\\ \frac{\partial f}{\partial x_{2}}=6x_{2}+\alpha_{1}+2\alpha_{2}\\ x_{1}=\frac{-\alpha_{1}+2\alpha_{2}}{6}\\ \frac{\partial f}{\partial x_{3}}=14x_{3}+3\alpha_{2}\\ x_{1}=\frac{-3\alpha_{2}}{14}

将x1,x2,x3带回到约束条件中

\left\{\begin{matrix} 2x_{1}+x_{2}=1 \\ 2x_{2}+3x_{3}=2 \end{matrix}\right. \Rightarrow \left\{\begin{matrix} -\alpha_{1}+\frac{-\alpha_{1}+2\alpha_{2}}{6}=1 \\ \frac{-\alpha_{1}+2\alpha_{2}}{3}+\frac{-9\alpha_{2}}{14}=2 \end{matrix}\right.\Rightarrow \left\{\begin{matrix}\alpha_{1}=-\frac{54}{7}{}\\\alpha_{2}=-24\end{matrix}\right.

我们求出了α1和α2,然后我们把α1和α2代到f=2x_{1}^{2}+3x_{2}^{2}+7x_{3}^{2}+\alpha _{1}(2x_{1}+x_{2}-1)+\alpha _{2}(2x_{2}+3x_{3}-2)这个式子中我们就可以求出来添加了约束项之后的f了

换句话说

f=2x_{1}^{2}+3x_{2}^{2}+7x_{3}^{2}+\alpha _{1}(2x_{1}+x_{2}-1)+\alpha _{2}(2x_{2}+3x_{3}-2)

是等价的!

接下来再说说这么做的物理意义. 

我们先看这样一组约束问题

min \quad f=x_{1}^2+ x_{2}^2 \\ s.t. \quad h_{1}(x_{1},x_{2}):x_{1}+x_{2}+1=0

我们先来分析f这个函数,这个函数的等值线是如下图所示的同心圆.

我们再看h1这个函数的图相,看这个函数的图相的时候我们先不要考虑h1=0这种情况,只是单纯的做出h1=x1+x2+1这个函数的等值线

可以看出来,h1这个函数的等值线的情况如上图所以,其中绿色的直线是h1在h1=0的情况下的等值线,也就是我们的约束条件.

现在这个问题就简单多了,我们为什么要求梯度?直线的梯度

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值