凸集合
空でない集合内の任意の2つのベクトルと、
を満たす任意の実数に対して、
凸集合と非凸集合のイメージを下に記します。
凸関数
凸集合上で定義された関数が、
内の任意の2つのベクトルと、なる任意のに対して
また、内のなる任意の2つのベクトルと、なる任意のに対して
を満たすとき、は上で狭義凸関数であるといいます。狭義凸関数と凸関数と非凸関数のイメージを下に記します。
なお、凹関数という言葉もありますが、凸関数と凹関数は上下が逆になっているだけで、いずれも凸性を有しており、
両者に本質的な違いはありません。
凹関数という言葉は個人的にあまり使われないように思います。
凸関数とヘッセ行列の関係について、次の定理が成り立ちます。
定理1(証明略)
凸集合上で2回連続微分可能な関数が
凸関数であるための必要十分条件は、そのヘッセ行列が上で半正定値となることである。
定理2(証明略)
関数のヘッセ行列が上で正定値ならば、は狭義凸関数である。
ただし、その逆は成り立たない。
最適化問題
最適化問題とは、「ある制約条件の下で特定の関数を最小化、あるいは最大化する問題」のことです。
最小化、あるいは最大化の対象となる関数を目的関数といいます。
目的関数として、次元ベクトルの実関数を考えます。
目的関数の最大化はの最小化と等価であるので、以後最適化問題とは最小化問題のことであるとして進めます。
最適化における制約条件は、一般に次のように書けます。
式のは、制約条件を満たす点の集合を表しており、実行可能領域といいます。
以上をまとめると、最適化問題とは、
「実行可能領域において、目的関数を最小化するを見出す問題」といえます。
式で書くと、となります。このを最適解といいます。
式で示される最適解は、実行可能領域全体で目的関数を最小化する解であり、
大域的最適解といいます。
一方、実行可能領域内のある点が、その近傍のどの点よりも目的関数を小さくできる時、
その点を局所的最適解といいます。
下図に1次元の場合の大域的最適解と局所的最適解の例を示します。
式で示した最適化問題において、実行可能領域が凸集合であり、目的関数が凸関数の場合、
この問題を凸計画問題といいます。
凸計画問題については次の定理が成り立ちます。
定理3(証明略)
最適化問題が凸計画問題であれば、局所的最適解は大域的最適解である。
さらに、目的関数が狭義凸関数のとき、大域的最適解が存在すれば、唯一である。
偉人の名言
面白きこともなき世を面白く住みなすものは心なりけり
高杉晋作
参考文献
続・わかりやすいパターン認識 p291-p297
動画
なし