天天看點

拉格朗日乘數法求條件極值(最大熵)

作為一種優化算法,拉格朗日乘子法主要用于解決限制優化問題,它的基本思想就是通過引入拉格朗日乘子來将含有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

給定橢球

拉格朗日乘數法求條件極值(最大熵)

  求這個橢球的内接長方體的最大體積。這個問題實際上就是條件極值問題,即在條件   

拉格朗日乘數法求條件極值(最大熵)

  下,求

拉格朗日乘數法求條件極值(最大熵)

的最大值。

  當然這個問題實際可以先根據條件消去

拉格朗日乘數法求條件極值(最大熵)

,然後帶入轉化為無條件極值問題來處理。但是有時候這樣做很困難,甚至是做不到的,這時候就需要用拉格朗日乘數法了。通過拉格朗日乘數法将問題轉化為

拉格朗日乘數法求條件極值(最大熵)

  對

拉格朗日乘數法求條件極值(最大熵)

求偏導得到

拉格朗日乘數法求條件極值(最大熵)

  聯立前面三個方程得到

拉格朗日乘數法求條件極值(最大熵)

拉格朗日乘數法求條件極值(最大熵)

,帶入第四個方程解之

拉格朗日乘數法求條件極值(最大熵)

  帶入解得最大體積為

拉格朗日乘數法求條件極值(最大熵)

  拉格朗日乘數法對一般多元函數在多個附加條件下的條件極值問題也适用。

 求最大熵

  題目:求離散分布的最大熵。

  分析:因為離散分布的熵表示如下

拉格朗日乘數法求條件極值(最大熵)

     而限制條件為

拉格朗日乘數法求條件極值(最大熵)

     要求函數

拉格朗日乘數法求條件極值(最大熵)

的最大值,根據拉格朗日乘數法,設

拉格朗日乘數法求條件極值(最大熵)

     對所有的

拉格朗日乘數法求條件極值(最大熵)

求偏導數,得到

拉格朗日乘數法求條件極值(最大熵)

     計算出這

拉格朗日乘數法求條件極值(最大熵)

個等式的微分,得到

拉格朗日乘數法求條件極值(最大熵)

     這說明所有的

拉格朗日乘數法求條件極值(最大熵)

都相等,最終解得

拉格朗日乘數法求條件極值(最大熵)

     是以,使用均勻分布可得到最大熵的值。