ラグランジュの未定乗数法にて等式制約条件下における解の求め方を確認しました。今回は条件が不等式の場合を考えます。の条件においての最大値を求める問題です。
個の変数を持つ関数を考えるので引数はベクトルです。前提条件としては下に凸、は上に凸とします。(目的関数も制約条件も凸関数である問題を凸計画と呼びます)
もしの中にの最大値があれば、この制約条件は無くても解には影響しません。これはラグランジュの式
において、とした場合に等しいです。要するにただのの最大値問題です。
の中に解がないのなら、各関数の凸の条件により領域の境界上に解が存在することになります。が下に凸、が上に凸ですから、境界上の解においては外向きのベクトルとなります。下図のようなイメージです。
凸の前提条件がないと、例えば領域内にの最大値がなくても、境界上の全ての値よりも大きい極大値が存在する場合が考えられます。するとこの考え方が成り立ちません。
さて、の方向が同じということは、となるが存在することになります。このときの解の求め方はラグランジュの未定乗数法と同じで、式(1)を解けばよいです。
以上より、解が境界内にあれば、境界上にあればですので、いずれの場合にしてもどちらかが0ですから、
が成り立ちます。
まとめると、の条件においての最大値を求めるためには、
の条件の元で
を解けばよいことになります。この式(3)~(5)をKKT条件(カルーシュ・クーン・タッカー条件)と呼びます。名前がかっこいい。
なお問題の条件によって図で示した勾配の向きが変わりますので、KKT条件の符号もそれに応じたものになります。例えばが逆向きになればです。
凸計画でない場合の解の求め方はどうなるのか?よくわかっていないが、現実の問題は扱いやすいようになるべく凸関数を使って定式化するんだそう。
とりあえずここまでで線形回帰における正則化項の意味が理解できます。→正則化項(罰金項)の意味