メモ帳ブログ @ wiki
ラグランジュの未定乗数法
最終更新:
nina_a
-
view
ラグランジュの未定乗数法
目次
概要
ラグランジュの未定乗数法とは、D次元の変数
に対し、q個の制約条件(束縛条件とも)
の下で関数
を最適化する(最大化、最小化)ために用いる数学的手法である。
まず、ラグランジュ乗数
を導入し、次にラグランジュ関数
を導入する。
このとき、
の連立方程式を解くことによって解の候補が得られる。
まず、ラグランジュ乗数
を導入する。
このとき、
の連立方程式を解くことによって解の候補が得られる。
例
関数
を制約条件
の下で最大化する問題を考える。
まず、
とする。ここで、
を解けばよい。
(a)-(b)より、
で、
であるから
が成り立つ。これを(c)に代入して、
よって、
(複号同順)
この値をfに入れて計算すると、最大は
で
となる。
まず、
とする。ここで、
を解けばよい。
(a)-(b)より、
よって、
この値をfに入れて計算すると、最大は
解説
1.
が
に対して常に垂直であることの説明
まず
上の点、
と
を考える。
の大きさは微小であり、これら2点は互いに近傍であるとする。この時、
の周りの
のテイラー展開より
が成り立つ。ここで
は
の勾配(グラディエント)を表しており、
である。また
はランダウの記号である。
が成り立つ。ここで
である。また
※ここでは、テイラー展開について言及しません。
の関係が成り立つ。ここで
である。
また、

図・∇gはg(x)=0と常に垂直である(EPS)
2.未定乗数
が存在することの説明
制約条件
上で、関数
が最大となる点を
とおく。
においては
も
に対して垂直となる。もし、垂直でないと仮定すると、下の図のようにさらに
が大きくなる方向にxが移動できるからである。

図・∇gと∇fが平行で無い状態(EPS)
よって、
であることが分かる。これは、すなわち
という関係が成り立つ。この
がラグランジュ乗数である。
という関係が成り立つ。この

図・∇gと∇fが平行になる点が解の候補である(EPS)
3.ラグランジュ関数
を偏微分し連立方程式を解くと解候補が求まることの説明
ラグランジュ関数
は以下のように定義した。
まず、根本となる制約条件は
から導くことが出来る。
次に、解説2.で得られた
という条件は、
から導くことが出来る。
(1)式から1個の方程式が、(2)式からD個の方程式が得られる。計(D+1)個の方程式が得られるので、これを解けば
の候補と
を求めることが出来る。
の候補のみを求めればよい場合、
を消去してから解を求めることが出来る(
を求める必要がない)。これが未定乗数という名の由来である。
まず、根本となる制約条件は
次に、解説2.で得られた
(1)式から1個の方程式が、(2)式からD個の方程式が得られる。計(D+1)個の方程式が得られるので、これを解けば
制約に不等式制約を含む場合
続いて、制約に不等式制約を含む場合に、ラグランジュの未定乗数法を適用する。すなわち、q個の等式制約とr個の不等式制約がある場合を考える。なお、不等式制約は、
のように不等号の向きを統一しておく。
のように不等号の向きを統一しておく。
有効制約と無効制約
不等式制約は有効制約(アクティブ制約)と無効制約(ノンアクティブ制約)に分けることが出来る。
- 有効制約
- 最適解
において等号が成り立っている。すなわち、
であるもの。
- 無効制約
- 最適解
において不等号が成り立っている。すなわち、
であるもの。

図・有効制約と無効制約

図・有効制約と無効制約
もし、不等式制約が有効制約か無効制約かを予め知ることが出来れば、不等式制約付き問題は等式制約付き問題と同様に扱うことが出来る。すなわち、有効制約を等式制約として扱い、無効制約を無視する。
不等式制約のうち、有効制約の番号の集まりを
とし、無効制約の集まりを
とする。
すると、ラグランジュ関数は、有効制約のみを等式制約として考えればよいのだから、
と置くことが出来る。
ここで注意すべき事は、ラグランジュ乗数
の取り得る値の範囲である。等式制約では
が解の候補である条件であったが、不等式制約では
と
の向きも考える必要があるため、
の取り得る値の範囲は制限される。
例えば、最小化の場合には、
不等式制約のうち、有効制約の番号の集まりを
すると、ラグランジュ関数は、有効制約のみを等式制約として考えればよいのだから、
と置くことが出来る。
ここで注意すべき事は、ラグランジュ乗数
例えば、最小化の場合には、

図・∇fと∇h(最小化)
上図から、最小化の際には
と
が逆向きである必要があることがわかる。よって、
である。
次に最大化についてみてみると、
である。
次に最大化についてみてみると、

図・∇fと∇h(最大化)
上図から、
であることが分かる。
であることが分かる。
※ここでは最小化、最大化の2つの場合によってラグランジュ乗数
の正負を変えたが、ラグランジュ関数を変えることもある。
つまり、最小化するときのラグランジュ関数を
最大化するときの関数を
と置く。このとき、
は最小化・最大化に関わらず
である。
つまり、最小化するときのラグランジュ関数を
最大化するときの関数を
と置く。このとき、
※不等式制約の不等号の向きによっても、
の不等号の向きは変化するので注意。
相補性条件
ここまで、有効制約と無効制約が予め分かっているという前提で話を進めてきたが、実際はそうではない。この問題に対して、相補性条件と呼ばれる条件を導入する。
- 相補性条件
この条件を導入することによって、有効制約と無効制約を区別する必要がなくなる。すなわち、ラグランジュ関数は以下のように書くことが出来る。
もし、
が有効制約であったとすると、最適解
では
であるため、この相補性条件によって乗数
が制限されることは無い。しかし、
が無効制約の場合は
であるため
となる。そのため、ラグランジュ関数の
は無視することが出来る。
もし、
KKT条件
以上をまとめると、不等式制約付き最適化問題(最小化の場合)
は、ラグランジュ関数
を、
の条件の下で最適化してやればよいということが分かる。これらの条件(2)、(3)、(4)をKKT条件(カルーシュ・キューン・タッカー条件、Karush-Kuhn-Tucker condition)という。
を、
の条件の下で最適化してやればよいということが分かる。これらの条件(2)、(3)、(4)をKKT条件(カルーシュ・キューン・タッカー条件、Karush-Kuhn-Tucker condition)という。
※最適化問題では、目的関数を最小化、 制約条件は
とするのが標準的です。もちろん、問題の定式化にはいろいろありますが。
主問題と双対問題
ラグランジュ関数は
と表された。ここで最適解を
、最適解における
の値をそれぞれ
とする。
- すると
であるから、
となる。
- また、
であり、
より
であるから、
である。
- さらに、制約無し最小化問題
を定義する。これは制約有り最小化問題
よりも、制約がない分値を小さくすることが出来る。つまり、
である。
以上(a),(b),(c)より、
であることが分かる。これまで、
を最小化することによって
を求めてきたが、
を最大化することによっても
を求めることが出来る。前者の最小化問題を主問題、後者の最大化問題を双対問題と言う。
であることが分かる。これまで、
主問題
制約条件
のもとで、
を最小化する。
制約条件
双対問題
制約条件
のもとで、
を最大化する。
制約条件
サポートベクトルマシンの最適化問題においては双対問題を解くことになる。
主問題から双対問題への変換
カテゴリ:MISC