局所最適と大域最適
今、この問題の制約条件Sが実数全体ならばとくに制約なし問題、そうでない場合が制約のある問題として扱う。実行可能領域全体で最も最適の解である点を帯大域最適解、適当な区間が定義されていてその区間内で実行可能かつ最適ならばそれを局所最適解と呼ぶ。
つまり、大域最適である点は必ず(定めた適当な区間に含まれていれば)局所最適だが、局所最適が大域最適であるとは必ずしも限らない。
制約なしの凸計画問題
非線形計画問題の中ではもっとも楽な部類の問題。二次関数の頂点が最適解になっているイメージ。以下、凸計画問題の定義。
が成り立つ最適化問題が凸計画問題。なぜ楽な部類かといえば、この問題では局所最適解が必ず大域最適解に一致するから。
証明:もしも局所最適解と大域最適解が一致しないとして、
が成り立つのだからという大域最適解と一致しない最適解が見つかる、これはおかしい。■
そして、Sが
を満たすとき、Sは凸集合と呼ぶ、このSが凸集合である条件はSを構成するためのn個の制約条件の式がすべて凸関数であることが必要条件。
制約あり非•凸計画問題
について、このベクトルでの(二次元での)傾きと呼ばれるものに対応する値は、
であり勾配と呼ばれる。勾配はその関数のもっとも傾きの大きい方向を示している。つまり、その方向に1の"距離"(ここの距離とは、ノルムとする)だけ動けば一番関数の値に変化するのではなく、その方向に1の"距離"その点の傾きと同じ傾きだと思って移動すればもっとも変化があるということ。
この勾配ベクトルは、与えられた点の関数の傾き具合を示すものだから、これを用いて最適な解を探すことが考えられる。をさらに微分したものは
と記述されるのではなく、
と記述されて、これをヘッセ行列と呼ぶ。つまりである。ここで偏微分がともに連続だとするとこの二式は等しい。
※ちょうどいいページがありました
偏微分の順序交換
なのでヘッセ行列は対称であると仮定する。そして、このヘッセ行列の固有値を求めることでその関数のグラフがどのような形をしているか(に関係する情報のうちの一つ)を知ることができる。
いま、fを実行可能領域にある任意の点でテイラー展開すると、
と記述できる。つまり、適当な点を近似しようと二次まで式をテイラー展開したらそこにヘッセ行列が現れる。ここでヘッセ行列が正定値行列(固有値がすべて正)ならば、もしくは半正定値(固有値がすべて0以上)ならばfは凸関数である。さらに、局所最適な点ではこの行列は半正定値行列になる。なぜならば、ヘッセ行列の固有値 に対してヘッセ行列が半正定値行列ならば最適解について、
、そしてなのだからである。これが成り立たないと仮定する。すると、
を満たすベクトルが存在する。このベクトルをと書く。そして、について関数fをまわりでテイラー展開すると、
とできて、イプシロンを十分小さくして、さらに局所最適解の点では勾配が0であることを考慮すると
であるが、この式の第二項はヘッセ行列が正定値でないときに負の値になるのだから局所最適解よりも小さな値になってしまいこれはおかしい■
(自分で書いといてどうかと思うけど上の説明適当かも)
以上から、局所最適解は
- 勾配が0
- 局所最適解から十分近い任意の解は局所最適ではない
ことが言える。
最急降下法
数値解析とかでやったような気がするけど、こういう問題は有限ステップをさだめて正確に解を求めることは非常に難しいのでLU分解とかして反復計算に持ち込んだのと同じように反復計算で最適解に「近づく」方法を考える。その1つが最急降下法。名前のとおり、もっとも傾きの大きい方向に進んでいけば効率よく最適解に近づくことができそう、といった考え方。
この考え方をそのまま式にすれば、今いる点をと記述すると、その点の勾配(傾き)はとなる。その方向に進むのだから、次の点はとなる。αは進む距離で、適切なαはその方向で一番値が小さい点(最適がminを求める場合)である。そしてこれを繰り返す、つまり
1.初めに十発点を定めて、
2.を計算
- 2.1 ならを解とする
- 2.2 ならば進む距離αを求める。
3.としてステップ2へ。
である。
(準)ニュートン法
最急降下は関数の一次微分の情報(勾配がどの方向に急になっているか)を用いて解に近づこうとしたが、遅くなる場合があった。ここでは、先ほどより緩いヘッセ行列は正定値(さっきは半正定値)こんどは二回微分(ヘッセ行列)の情報も用いて高速化したいと考える。つまり、今最適解をもとめたい関数は凸関数であると仮定して、でのテイラー展開を用いて任意の点の関数の値の近似値を求めると、
と近似できる。kが十分大きいと なのだから
であり、
よって、つぎのステップを
と定める、これがニュートン法。
ニュートン法の収束の早さ
爆速。あとで追記予定。
Karush-Kuhn-Tucker condition(KKT条件)
この部分は目的関数と制約条件が連続で二回微分可能だと仮定した下での記述。制約付き非線形計画問題の制約や目的関数に適当に(-1)をかけることで
目的関数 :
制約条件:
と書き換えることができる。制約条件が連続で二回微分可能だと仮定したから、この問いの最適解では、を満たす点があるということ(らしい)。この式は線形代数ででてきた式そのもので、が線形独立である場合が最適解と分かる。つまり、これらの列ベクトルをまとめた行列を簡約してrankを調べればいい。一般化したのがKKT条件で以下のようにまとめられる。
すなわち局所最適な点では
- 制約条件がという形でない式に対応する係数はゼロ
が必ず成り立っている、ただし成り立っているから必ずその点が局所最適とはならない。
- (ラグランジュ未定常数法の式と同じ)が成り立つ。