ラグランジュの未定乗数法
ラグランジュの未定乗数法(ラグランジュのみていじょうすうほう、英: method of Lagrange multiplier)とは、束縛条件のもとで最適化を行うための数学(解析学)的な方法である。いくつかの変数に対して、いくつかの関数の値を固定するという束縛条件のもとで、別のある1つの関数の極値を求めるという問題を考える。各束縛条件に対して定数(未定乗数、Lagrange multiplier)を用意し、これらを係数とする線形結合を新しい関数(未定乗数も新たな変数とする)として考えることで、束縛問題を普通の極値問題として解くことができる方法である。
Contents
定理
ラグランジュの未定乗数法は、次のような定理として記述される。
2次元の場合
束縛条件g (x , y ) = 0 のもとで、f (x , y )が最大値となる点(a , b )を求める問題,つまり
- maximize [math]f(x, y)[/math]
- subject to [math]g(x, y) = 0[/math]
という問題を考える。ラグランジュ乗数をλとし、
[math]F(x,y,\lambda) = f(x,y) - \lambda g(x,y)[/math]
とおく。点(a , b )で∂g/∂x も∂g/∂y も0でないならば、αが存在して点(a , b , α)で
[math]\frac{\partial F}{\partial x} = \frac{\partial F}{\partial y} = \frac{\partial F}{\partial \lambda} = 0[/math]
が成り立つ[1] 。
一般の多次元の場合
n 次元空間の点x = (x1, ... ,xn ) のある領域R を定義域とする被評価関数z = f (x ) が、同じ領域を定義域とするm 次元ベクトル値関数
[math]\boldsymbol{G}(\boldsymbol{x}) = \begin{pmatrix}g_1(x_1,\dots,x_n)\\ \vdots \\ g_m(x_1,\dots,x_n)\end{pmatrix} = \boldsymbol{0}\qquad (1)[/math]
のもとで、R 内の点x において極値をとるための必要条件は、その点におけるf の勾配ベクトル
[math]\nabla f = {}^t\begin{pmatrix}\frac{\part f}{\part x_1},\dots,\frac{\part f}{\part x_n}\end{pmatrix}[/math]
が、その点で、m 個のgi それぞれの勾配ベクトルが張るm 次元線型部分空間に含まれること、すなわち、スカラーの組 λ = (λ1, ... ,λm ) を用いて、
[math]\nabla f = \sum_{i=1}^{m}\lambda_i \nabla g_i \qquad (2)[/math]
が成り立つことである。移項して∇を取れば、
[math] f(\boldsymbol{x}) - \sum_{i=1}^{m}\lambda_i g_i(\boldsymbol{x})[/math]
が停留点をとることである。ただし、{∇g1, ... ,∇gm } は一次独立、すなわち
[math]\dim(\nabla g_1,\dots,\nabla g_m) = m[/math]
でなければならない。式(1)のm 本と式(2)のn 本の式を連立させて、x とλの(n +m ) 個の未知数について解けば、f の極値を与える候補点が得られる[2]。
解釈
幾何学的な説明
簡単のため2次元の場合を考えよう。g (x,y ) = c(ここでc は与えられた定数である)という条件のもと、関数f (x,y ) を最大化するものとしよう。f の値を高さとしたグラフを考えると、高さが d の f の等高線は f (x,y ) = d で与えられる。ここで、任意の曲線に沿って移動する点を考えると、この点が等高線を横切る場合、必ず f (x,y ) は増加、もしくは減少するが、この点が等高線に沿って移動する場合は f (x,y ) は変化しないことが分かる。この条件と通常の極値の条件を合わせて考えれば、曲線上で f (x,y ) が最大をとる点では、f の等高線の接線と曲線の接線が平行となっているか、f の勾配がゼロとなっていることが分かる。 ここで g (x,y ) = c の接線は、g の勾配ベクトル [math]\nabla_{x,y} g[/math]と直交し、また f の等高線 f (x,y ) = d の接線は f の勾配ベクトル [math]\nabla_{x,y} f[/math] と直交することをふまえると、前述の条件は
- [math]\nabla_{x,y} f = \lambda \nabla_{x,y} g[/math]
と書ける。 ここで
- [math] \nabla_{x,y} f= \left( \frac{\partial f}{\partial x}, \frac{\partial f}{\partial y} \right), \qquad \nabla_{x,y} g= \left( \frac{\partial g}{\partial x}, \frac{\partial g}{\partial y} \right).[/math]
である。定数λは f の勾配ベクトルと g の勾配ベクトルが平行ではあるが長さが一般に異なるために必要である。 λがゼロの場合、f (x,y ) の勾配がゼロとなる条件になる。これは g (x,y ) = c の曲線上にちょうど f の最大値があるため、曲線上で f (x,y )が最大を取る点と通常の f (x,y ) の最大値が一致するケースである。
物理的な解釈
物理学の問題を解くとき、ラグランジュの未定乗数は単なる方便ではなく、ある物理量を表すことが多い。
たとえば、流体力学において、非圧縮性流れのナビエ-ストークス方程式を解く場合、圧力は速度ベクトル場が連続の式という束縛条件を満たすための未定乗数として求められる[3]。
変則版
2次元問題で、束縛条件が1つの場合には、以下のように連立方程式を作っても良い:
[math]\frac{\partial f}{\partial x} + \lambda' \frac{\partial f}{\partial y} = 0[/math]
[math]\frac{\partial g}{\partial x} + \lambda' \frac{\partial g}{\partial y} = 0[/math]
[math]g(x,y) = 0[/math]
ただしこの場合のλ'は、もとの定理のλとは異なる。
この変則版は、極値となる点で全微分df = 0 となる方向と、dg = 0 となる方向が平行であることから導かれる。
例
情報理論的エントロピーが最大となる離散的確率分布を見出すことを考えよう。このときエントロピーは確率を変数とする関数で、
[math]f(p_1,p_2,\dots,p_n) = -\sum_{k=1}^n p_k\log_2 p_k[/math]
となる。もちろんこれらの確率の合計は1に等しく、束縛条件を表す関数は
[math]g(p_1,p_2,\dots,p_n)=\sum_{k=1}^n p_k-1[/math]
となる。ラグランジュ乗数を用いてエントロピー最大の点を見つけよう。すべてのi (1から n をとる)に対して次の条件が必要である:
[math]\frac{\partial}{\partial p_i}(f+\lambda g)=0[/math]
従って
[math]\frac{\partial}{\partial p_i}\left(-\sum_{k=1}^n p_k \log_2 p_k + \lambda(\sum_{k=1}^n p_k-1)\right) = 0[/math]
これらn 個の方程式から次の式が得られる:
[math]-\left(\frac{1}{\ln 2}+\log_2 p_i \right) + \lambda = 0[/math]
これは、すべてのpi が等しいということを示している(変数はλ だけだから)。
束縛条件 ∑k pk = 1 を使って、
[math]p_i = \frac{1}{n}[/math]
がわかる。すなわち、すべての事象が等確率の一様分布がエントロピー最大の分布である:つまり他のどんな確率分布の場合よりも、確率変数が実際に観測されたときに得られる情報量の期待値が大きいということである。
参考文献
- ↑ 三宅敏恒 (1992). 入門微分積分. 培風館. ISBN 4-563-00221-6.
- ↑ 清水昭比古「学力低下時代の教え方 第4回 ラグランジの未定係数法」、『日本機械学会誌』第112巻第1093号、一般社団法人日本機械学会、2009年12月、 987-992頁。
- ↑ Joel H. Ferziger; Milovan Perić; 小林敏雄、谷口伸行、坪倉誠訳 『コンピュータによる流体力学』 シュプリンガー・フェアラーク東京、2003年、195-197頁。ISBN 4-431-70842-1。
関連項目
- 最適化問題
- 極値
- カルーシュ・クーン・タッカー条件(KKT条件) - ラグランジュの未定乗数法の一般化
- ジョゼフ=ルイ・ラグランジュ