作为一种优化算法,拉格朗日乘子法主要用于解决约束优化问题,它的基本思想就是通过引入拉格朗日乘子来将含有n个变量和k个约束条件的约束优化问题转化为含有(n+k)个变量的无约束优化问题。拉格朗日乘子背后的数学意义是其为约束方程梯度线性组合中每个向量的系数。

  如何将一个含有n个变量和k个约束条件的约束优化问题转化为含有(n+k)个变量的无约束优化问题?拉格朗日乘数法从数学意义入手,通过引入拉格朗日乘子建立极值条件,对n个变量分别求偏导对应了n个方程,然后加上k个约束条件(对应k个拉格朗日乘子)一起构成包含了(n+k)变量的(n+k)个方程的方程组问题,这样就能根据求方程组的方法对其进行求解。

  解决的问题模型为约束优化问题:

  min/max a function f(x,y,z), where x,y,z are not independent and g(x,y,z)=0.

  即:min/max f(x,y,z)

    s.t. g(x,y,z)=0

给定椭球

     拉格朗日乘数法求条件极值(最大熵)

  求这个椭球的内接长方体的最大体积。这个问题实际上就是条件极值问题,即在条件   

    拉格朗日乘数法求条件极值(最大熵)

  下,求拉格朗日乘数法求条件极值(最大熵)的最大值。

  当然这个问题实际可以先根据条件消去拉格朗日乘数法求条件极值(最大熵),然后带入转化为无条件极值问题来处理。但是有时候这样做很困难,甚至是做不到的,这时候就需要用拉格朗日乘数法了。通过拉格朗日乘数法将问题转化为

     拉格朗日乘数法求条件极值(最大熵)

  对拉格朗日乘数法求条件极值(最大熵)求偏导得到

     拉格朗日乘数法求条件极值(最大熵)

  联立前面三个方程得到拉格朗日乘数法求条件极值(最大熵)拉格朗日乘数法求条件极值(最大熵),带入第四个方程解之

      拉格朗日乘数法求条件极值(最大熵)

  带入解得最大体积为

      拉格朗日乘数法求条件极值(最大熵)

  拉格朗日乘数法对一般多元函数在多个附加条件下的条件极值问题也适用。

 求最大熵

  题目:求离散分布的最大熵。

  分析:因为离散分布的熵表示如下

     拉格朗日乘数法求条件极值(最大熵)

     而约束条件为

     拉格朗日乘数法求条件极值(最大熵)

     要求函数拉格朗日乘数法求条件极值(最大熵)的最大值,根据拉格朗日乘数法,设

     拉格朗日乘数法求条件极值(最大熵)

     对所有的拉格朗日乘数法求条件极值(最大熵)求偏导数,得到

     拉格朗日乘数法求条件极值(最大熵)

     计算出这拉格朗日乘数法求条件极值(最大熵)个等式的微分,得到

     拉格朗日乘数法求条件极值(最大熵)

     这说明所有的拉格朗日乘数法求条件极值(最大熵)都相等,最终解得

     拉格朗日乘数法求条件极值(最大熵)

     因此,使用均匀分布可得到最大熵的值。


分类:

技术点:

相关文章: