最適化問題(optimization problem)
基本的に連続でn回微分可能を仮定しておく。
目的関数(objective function) | ||
s.t. | 不等式制約(inequality constraint) | |
等式制約(equality constraint) |
実行可能解(feasible solution) 制約を満たす解
実行可能領域(feasible region) 実行可能解の集合
解を加減乗除や初等関数の合成関数で表される(閉形式;closed-form)場合、解析に解ける(analytically solvable)問題と言う。
凸集合(convex set)と凸関数(convex function)
, 任意の, 任意のがあったとき、
は凸集合(convex set)
※のときはを結ぶ直線を表していることに注意する(線分のベクトル方程式).
平面, 半空間
は凸集合
A,Bが凸集合 | も凸集合 | |
※は凸集合になるとは限らない |
( 言語処理のための機械学習入門 (自然言語処理シリーズ) p7)
上にと凸な関数を凹関数(concave function)、下にと凸な関数を凸関数(convex function)という。
※スカラー値関数に対してのみ定義されるもの
※上下が逆なだけで、持つ性質は共通しているので、二つまとめて凸関数と表現することもある。
任意の、任意のに対し、
は上に凸
は下に凸
上に凸関数の和は上に凸な関数
が上に凸な関数、が非負の定数 も上に凸
凸関数であるための1次の条件}(first-order convexity condition)
任意の, について、
関数は上に凸
関数は下に凸
(言語処理のための機械学習入門 (自然言語処理シリーズ)p9では)
(http://infoshako.sk.tsukuba.ac.jp/~yoshise/Course/DC/cvx-handout.pdf)
※上に凸関数は全ての接線がその関数の上側にくることを示している。
※スカラー値関数:, 変数:^T ]に対して
ハミルトン演算子(Hamiltonian):
勾配(gradient):
凸関数であるための2次の条件(second-order convexity condition)
1変数の場合
1変数関数は上に凸 2階微分は常に負
1変数関数は下に凸 2階微分は常に正
多変数の場合
多変数関数fは上に凸 は半負定値
多変数関数fは下に凸 は半正定値
※スカラー値関数:, 変数:に対して
ヘッセ行列(Hessian matrix):
※任意のに対して、2次形式は正定値行列(positive definition matrix)または、正定値(正の定符号)(positive definite)であるという。
を含む場合は半正定値(positive semi-definite), 不等号が逆の場合はそれぞれ、負定値(negative definite)、半負定値(negative semi-definite)という。
(言語処理のための機械学習入門 (自然言語処理シリーズ)p11)
凸計画問題(convex programming problem)
凸計画問題:目的関数が凸関数で、実行可能領域が凸集合である最適化問題( 改善する方向に進んでいけば解にたどり着く)
が凸集合のとき、は凸集合とは限らないが、での最適解とでの最適解の良いほうがの最適解になる(言語処理のための機械学習入門 (自然言語処理シリーズ)p12)
数値的解法(numerical method)(言語処理のための機械学習入門 (自然言語処理シリーズ)p13)
・際急勾配法(gradient method):目的関数の傾きが最も急な方向に変数の値を変化させていく。
最大化が目的:目的関数が最も増加する方向に進む最急上昇法(gradient ascent method)()、
最小化が目的:目的関数が最も減少する方向に進む最急降下法(gradient descent method)()
・ニュートン法(Newton's method)
証明は2次までのテイラー展開したものをで偏微分=0とおいてほげほげ(これなら分かる最適化数学―基礎原理から計算手法までpp.88-89).
収束は速いが、逆行列の計算が高価なので、高速近似手法を用いることが多い。
最大化が目的:
最小化が目的:
は学習率で定数である。ただし、直線探索を行う場合は定数ではない(2分探索など)。
Newton・Raphson法はもともと、(連立)非線形方程式を解く方法
(C言語による数値計算入門―解法・アルゴリズム・プログラム (UNIX & Information Science) pp.86-88)
※ベクトル値関数:, 変数:に対して、
ヤコビ行列(Jacobian matrix):
等式制約付凸計画問題
不等式制約付き凸計画問題}
ラグランジュ関数(Lagrangian):
ただし、とする。
凸計画問題では鞍点が最適解となる。
鞍点(saddle point):を満たす点
したがって、まずをについて最大化し(主問題;primal problem)、そのうえでをについて最小化(双対問題;dual problem)すれば良い。が閉形式にならない場合は、の更新と、の更新を交互にするなどの工夫が必要。
双対問題の制約はだけなので扱いやすい。