参考文献
- 機械学習のための連続最適化 (機械学習プロフェッショナルシリーズ) | 金森 敬文, 鈴木 大慈, 竹内 一郎, 佐藤 一誠 |本 | 通販 | Amazon
- 162ページに KKT 条件が出てくる(1次独立制約想定での証明がある)。
- Convex Optimization – Boyd and Vandenberghe
- https://www.jstage.jst.go.jp/article/ieejeiss1987/109/4/109_4_178/_pdf
- KKT 条件 - 数理計画用語集
- 工学基礎 最適化とその応用 (新・工科系の数学) | 矢部 博 |本 | 通販 | Amazon
注意(2019-07-16 追記)
- この記事では適当な制約想定を課してから Farkas の補題によって KKT 条件を得る流れを紹介していますが、KKT 条件を得る流れは他にもたくさんあります。例えば、
- 先に Fritz John の定理を示し、それに適当な制約想定を課して KKT 条件とする(参考文献5. )。
- 一次独立制約想定を課し、最適解が有効制約について等式制約付き最適化問題の最適解にもなっていることを利用して KKT 条件を得る(参考文献1. )。
- 強双対性を課し、強双対性から示す(サポートベクターマシンの文脈でよくみられるはず;下記)。
- サポートベクターマシンの文脈でみられる(=強双対性を課した下での)の KKT 条件は、「 が存在する」だけでなく、「 が存在し、かつこれが双対問題の最適解である」というもっと強いことをいっています(ので、最適化問題を解く代わりにその双対問題を解いてもよい、ということになります)。それは強双対性が満たされている場合にのみ成り立つ話なのでご注意ください。サポートベクターマシンの文脈に絞った KKT 条件を知りたい方は、この記事を読んでも得るものが少ないので、強双対性の下で KKT 条件を示している文献を参照されるのがよいと思います。例えば、以下の書籍の付録Bがそうです。この記事は冒頭でサポートベクターマシンに言及していますが、サポートベクターマシンの文脈での最適化問題を想定しているわけではありませんのでご注意ください。
サポートベクターマシンの本を読んでいくと、突如として KKT 条件というのが出てきて戸惑いませんか? 急に見知らぬ変数と不等式が増えますし、KKT という名前もどこの株式会社かといった感じですし…。
1939年にツイッターはないからね。
さておき、なぜサポートベクターマシンの本で急に KKT 条件が出てくるのでしょう? ( これは かもしれないしお手元の本によります )という知らないベクトルが存在するといわれても反応に困るんですが。 って何なんです? そしてなぜそのような不等式たちが成り立つんです? そもそも、「最適解はこのような条件たちを満たす」といわれても、だから何なんです? 式が増えてかえってややこしくなった気がするんですが…。
は KKT 乗数ともよばれる、等式制約付き最適化でいうラグランジュ乗数に相当するものだね。それが何なのかというのは、なぜ KKT 条件が成り立つのかを証明する過程で得ないといけないかな。先に、KKT 条件を満たすから何なのかというのは、どこにあるかまるで見当もつかない「最適解」について、「このような条件を満たす」という情報が得られること自体がありがたいんじゃないのないかな? KKT 条件があるお陰で、これをつかって最適解に向かうアルゴリズムを構築することができる(実際多くのアルゴリズムが KKT 条件を解いていると解釈できるらしい)けど、これがなかったら定義域の1点1点を「不等式制約を満たすか」「これまで探索した点より小さいか」をあてもなく探索しないといけなくて、途方もないよ? それにサポートベクターマシンの場合は、KKT 条件から「限られた一部のデータ(サポートベクター)のみが解となる分離超平面を形づくっている」という重要な事実が直接的にわかるからね。最適解の必要条件がわかることは強力だよ?
うーん、そういわれてみれば最適解について重要な手がかりを与えてくれているような気はしてきましたが…しかし、なぜ最適解では KKT 条件が成り立つんでしょう? どのように考え始めればいいやら…。
そうだな…まず、制約がない場合をイメージしてみると、局所最適解ってどんな点かな? あ、 が局所最適解っていうのは、その点 を中心にしたある半径 の開球 の中でその点が最小 って意味ね。局所最適解であっても大域最適解とは限らないけど、大域最適解は必ず局所最適解だから、大域最適解がどんな点か調べるのに局所最適解がどんな点かを考えてもいい。
制約がない場合に局所最適解はどんな点かといわれても…制約がないんだったらもう単純に が一番小さい点でしかないですよね?
うん。言い換えると、 からどんな向きに進んでも の値が「より小さくなる」ことはないよね?
そうですね、もし最適解が平らな場所にあったら、少し進んでも の値が変わらない(最適解から少し進んでも最適解という状態)ということはあるかもしれませんが、 の値が小さくなることは絶対にないです。もし小さくなるなら、そこはもはや最適解ではないですから。
「より小さくなることはない」を言い換える。「 となるような は存在しない」。
これだけですか? などは出てこないんですね。KKT 条件の最初の式のもっとシンプルなのだけ、といった感じでしょうか。
あくまで必要条件だから、 なら が局所最適解というわけではないからね。…じゃあ等式制約 がある場合はどうだろう? 最適解 は依然として「どんな向きに進んでも の値がより小さくなることはない」点だろうか?
等式制約がある場合は…等式制約を満たす範囲で が最小の点を探さなければなりませんね。 が2次元の場合でイメージすると、制約がない場合は2次元平面全体から解を探していたのが、 という制約があるとこれを満たす曲線上でだけ解を探すといった感じです。この場合の も「どんな向きに進んでも の値がより小さくなることはない」点になっているかといわれると…違いますね。 はあくまで曲線 上で一番小さい点です。この曲線をはみ出す向きに進むならば は小さくならないとは限りません。
つまり、「 かつ となるような は存在しない」かな?
今度は の微分も出てきましたね… とは から だけ進んでも の値が変わらないということですよね。…なるほど、最適解 は「 の値を変えずに を減らすような方向付きステップ が存在しない」点だといいたいのですね?
だから、さっきと同様の議論により、 を満たす では でないといけない(ここで となるような局所最適解 については考えないことにする; 上にこういう点があったら別途調べることにしよう)。ということは、 と って平行でないといけない。 に直交する任意の が に直交しないといけないからね。
え、直交? ああ、2つのベクトルの内積がゼロということは、直交するということでしたね。
あ、今度は が出てきましたね…この が存在することは と が平行であるための必要十分条件ですね。では KKT 条件の も同じ意味なんでしょうか…ってあれ? いまは等式制約が1つのみの場合の条件を考えたんですね。KKT 条件を目標とするなら、等式制約が複数の場合についても考えた方がよいのではないでしょうか。その場合、「 の値を変えずに を減らすような方向付きステップ が存在しない」のですよね。なので、 をすべて満たす では でもなければならないということになりますが、これは が たちと同じ超平面内にあるというイメージです。とすると、 が の線形和でかければよく、上の1つ目の条件式が と修正されるのではないでしょうか? あ、こうすれば KKT 条件の1つ目の条件式と同じ形になりますね!
その条件式でいいケースと駄目なケースがあるかな。
え?
3次元空間内での等式制約付き最適化を考えてみよう。 平面上にトーラスを置く。このトーラスの表面が だとする。 はトーラスの外側に向かうほど大きくなる関数とでもしよう。このとき、 の下で を最小化する点は、トーラスの表面上で 座標が一番小さい点だよね。この点ではトーラス上の勾配は 軸のマイナス方向を向いている。他方、 の勾配は空間内のどこでも 軸のプラス方向を向いている。確かに2つの勾配は平行になっている。
文章だとわかりづらいですね…絵でも描いてくださいよ…。
じゃあ等式制約をもう1つ増やそう。ドーナツの上にドーナツを重ねるようにトーラスの上にもう1つトーラスを置こう。制約を満たす領域(よく実行可能領域というね)は曲面から曲線になる。2つのトーラスが接する円周上になるからね。
いや、日常でドーナツの上にドーナツを重ねませんよ…。
このとき制約下で を最小化する点は円周上で 座標が一番小さい点だけど、この点で の勾配は、トーラス(下側)の勾配とトーラス(上側)の勾配の線形和になるかな?
あれ、ならないですね。 の勾配は 方向を向いている一方で、トーラスたちの勾配は 方向と 方向です。これらでは の勾配をつくれません…。
トーラスどうしが少しでもめり込んでいたらそうならないんだけどね。「どっちのトーラスの勾配にも垂直な向き」がちゃんと「すべての制約からはみ出さない向き」になるから。でも、トーラスどうしが接していると「どっちのトーラスの勾配にも垂直な向き」が「すべての制約からはみ出さない向き」にならないんだよね。勾配どうしが平行になっちゃってるせいで「どっちのトーラスの勾配にも垂直な向き」じゃ制約の中に閉じ込められないって感じかな。
ええ…。
よく仮定されるのがこの中の LICQ(Linear Independence Constraint Qualification)だね。局所最適解 では全ての制約の勾配が線形独立であるとするって仮定。
上には LICQ とかいたけど、例えば LICQ の1つ上にある LCQ(Linearity Constraint Qualification)を仮定してもいいよ。こっちは全ての制約が線形関数という仮定だね。全ての制約が線形なら「ちょうど局所最適解のところでだけ接する」なんてことにならないからね。ただ LCQ は LICQ よりずっと強い仮定になるね。LICQ や LCQ のような仮定は制約想定(constraint qualification;CQ)といわれるよ。LICQ より下の方の仮定は MFCQ は等式制約のみの場合は LICQ と同じだし、SC は LCQ と同じだけど、それ以外はちょっとよくわかってないや。そもそもこれらの制約想定が不等式制約もある場合のものだけど。そうです、考えたかったのは不等式制約の場合です。早速そちらを考えていきましょう。これまでと同じように考えると…あれ? えっと、どう考えればいいのでしょう??
例えば2次元平面内での最適化だったら、等式制約 は実行可能領域をある曲線上に絞り込むようなイメージだけど、不等式制約 は曲線で囲まれた領域に絞り込むイメージだね。それで、不等式制約付き最適化の場合は、考える局所最適解 が、領域の境界上にある場合も、領域の内部にある場合もある。不等式制約が複数ある場合は一般に、 はある不等式制約たちについては領域の境界上だけど、その他の不等式制約たちについては領域の内部って感じになる。前者の制約では で、後者の制約では だね。この前者の となる制約を「有効」な制約ということが多いよ。まあそれで、不等式制約付き最適化問題の局所最適解 は、「有効な を大きくしないままに を小さくする向きが存在しない」点といえる。
なるほど、「不等式を満たしながら最適化せよ」という問題ですから、「余裕で満たされる」制約もあれば、「ぎりぎり満たされる」制約もありますね。ある制約が余裕で満たされている場合は、その制約は局所最適解が満たす条件に関わってこないということですね。確かに、局所的にはそんな制約は最初からなかったも同然ですもんね。では、「 有効なすべての に対して であって、かつ となるような は存在しない」といった感じになるでしょうか?
それだとドーナツ重ね問題が発生するんだよね。ドーナツの内部が負のとき、2つのドーナツが接する円周上が実行可能領域になるけど、この円周上の最適解 から 方向に向かうベクトル は も も も満たしちゃうからね。
では、すべての有効な制約の勾配に LICQ を仮定すればいいですね。
それでもいいけど、もっと弱い仮定もあるよ。この中の LICQ の下にある MFCQ が例えばそう。表の下に LICQ ⇒ MFCQ ってあるよね。MFCQ は for all active inequality constraints ―つまり、「すべての有効な制約について を同時に減らす方向 が存在する」って感じかな。ドーナツを2つ重ね置きした場合のドーナツが接する円周上にそんな点はないよね。同時に2つのドーナツの内部に向かうベクトルはないからね。
へえ。しかし、なぜその仮定で大丈夫なんです?
どちらも同じにみえるんですが…あ、よくみると、下の定理では2つ目の条件式にイコールが付いているんですね。というか、下の定理はよくみるとさっき直感的に考えた「 有効なすべての に対して であって、かつ となるような は存在しない」と同じですね。イコールがない上の場合は MFCQ は要らないんですか?
うん。もしこのような が存在したら、 かつ を満たす がとれるからね。 が局所最適解であることに矛盾する。
では、MFCQ が課された場合は、つまり、 が成り立つ場合はどうなるんでしょう?
下の定理の場合は、もしこのような が存在したら、 を少しずらした が存在して となるようにできる。これに上の定理を用いると が局所最適解であることに矛盾する。もし下の定理の2つ目の条件がイコールで成り立っていたら上の定理を適用できないけど、MFCQ ですべての有効な が減る方向が存在することを仮定しているから、 を少しずらせばイコールがとれるんだよね。
この下の定理と KKT 条件は同値だよ。
え、同値なんですか? そうはみえないんですが…。
どちらか一方が成立し、同時に成立することはない、ですか。不思議な定理ですね。
Farkas の二者択一定理ともいうみたいだね。この(1)の を に読み替えて、 を有効な制約について横ベクトル を縦に並べた行列に読み替えると、(1)が主張する「このような が存在する」は、不等式制約があるときの1次の必要条件(MFCQ下)の「このような は存在しない」の否定になっているよね?
えっと、そのように と を読み替えれば、(1)は確かに先ほどの定理を否定のようですね。先ほどの定理では存在しないといったものを存在するといっている。…否定じゃ駄目なんじゃないですか?
さっきの定理を仮定すると(1)が否定される。ということは、必ず(2)が成り立つ。二者択一定理だからね。そして、(2)が成り立つならば、 が存在する。この を とかき換えるとどうだろう。
(2)の を とかき換えて、 と もかき換えると、こうですね。…これ、KKT 条件の1番目と4番目の条件式ですね!
…でもよくみると、1番目の条件式の和が制約が有効な についてだけになってしまっていますね。それに、2番目と3番目の条件式も足りませんし。
KKT 条件の2番目の条件式は が局所最適解であることからただちにしたがうからさっきの定理から示す必要はないよ。そして残りの問題は、制約が有効でない で とすれば全部解決するかな。