強凸性と平滑性に関するメモ

/ Math

最適化、数値計算において現れるいくつかの定義を証明なしで簡潔にメモしておく。

凸集合・凸関数

(convex set) \(\mathcal{D}\subset\mathbb{R}^n\)が凸集合(convex set)であるとは、任意の\(t\in[0,1]\)、任意の\(x,y\in\mathcal{D}\)に対して次が成立すること。

\[ tx+(1-t)y\in\mathcal{D}\]

(convex function) \(f:\mathcal{D}\to\mathbb{R}\)が凸関数(convex function)であるとは、任意の\(t\in[0,1]\)、任意の\(x,y\in\mathcal{D}\)に対して次が成立すること。

\[ f(tx+(1-t)y)\le tf(x)+(1-t)f(y)\]

以降\(f:\mathcal{D}\to\mathbb{R}\)は凸集合上の凸関数であるとする。

劣勾配(subgradient)

仮に関数\(f\)\(\mathcal{D}\)において微分可能とする。このとき\(f\)が凸関数であることの条件は次のように書き換えられる。

\[ f(y)\ge f(x)+\nabla f(x)^\top(y-x)\]

ここに、\(\nabla f(x)\)は関数\(f\)\(x\)における勾配を表す。\(f\)が微分可能とは限らないが凸関数であるとすると、ある\(\phi(x)\in\mathbb{R}^n\)が存在して

\[ f(y)\ge f(x)+\phi(x)^\top(y-x)\]

を満たすことができる。そのような\(\phi(x)\)のことを劣勾配(subgradient)といい、これを再び記号の濫用により\(\nabla f(x)\)で表す。

\[ \nabla f(x):=\{\phi\;|\; f(y)\ge f(x)+\phi(x)^\top(y-x),\;\forall x, y\in\mathcal{D}\}\]

\(f\)が微分可能なとき劣勾配は勾配に一致する。そうでないとき劣勾配は一意には定まらず、そのうちの1つを指しているものとして扱う。以降は\(\nabla f(x)\)を劣勾配の意味で用いる。

リプシッツ(Lipschitz)

(Lipschitz function, Lipschitz continuity) \(f\)\(L\)-Lipschitzであるとは、

\[ |f(y)-f(x)|\le L\cdot\|y-x\|\]

が任意の\(x,y\in\mathcal{D}\)に対して成立すること。

\(L\)をリプシッツ定数(Lipschitz constant)という。リプシッツ連続性とは上式のことを指す。\(f\)\(L\)-リプシッツ関数である、\(L-\)リプシッツ連続であるなどともいわれる。

\(f\)が同じ空間への写像(定義域と値域が同じということ)の場合、\(L\lt 1\)なる\(L\)-Lipschitz関数は縮小写像(contraction mapping)といわれる。

強凸関数・平滑関数

\(\alpha\)-strongly convex function) \(f\)\(\alpha\)-強凸関数であるとは、

\[ f(y)\ge f(x)+\nabla f(x)^\top(y-x)+\frac12\alpha\|y-x\|^2\]

が任意の\(x,y\in\mathcal{D}\)について成立すること。これは、関数\(f(x)-\alpha\|x\|^2/2\)が凸関数であることと等価。

\(\beta\)-smooth function)\(f\)\(\beta\)-平滑関数であるとは、

\[ f(y)\le f(x)+\nabla f(x)^\top(y-x)+\frac12\beta\|y-x\|^2\]

が任意の\(x,y\in\mathcal{D}\)について成立すること。これは、写像\(g(x):=\nabla f(x)\)\(\beta\)-Lipschitz関数であることと等価。すなわち、

\[ \|\nabla f(y)-\nabla f(x)\|\le\beta\|y-x\|\]

が任意の\(x,y\in\mathcal{D}\)に対して成立することと等価。

(condition number)条件数\(\kappa\)とは、\(\alpha\)-強凸かつ\(\beta\)-平滑な関数における\(\beta/\alpha\)の(上界の)ことを指す。(\(\beta/\alpha\le\kappa\)

ノート

(強凸性の別な記述) 劣勾配を用いることなく\(\alpha\)-強凸関数の条件を記述することもできる。その場合は、任意の\(t\in[0,1]\)、任意の\(x,y\in\mathcal{D}\)に対して

\[ f(tx+(1-t)y)\le tf(x)+(1-t)f(y)-\frac12\alpha t(1-t)\|x-y\|^2\]

を満たすことが\(f\)\(\alpha\)-強凸関数であることの条件となる。また、この条件は\(\alpha=0\)において関数\(f\)が単に凸関数であることの条件に一致する。

(ヘッセ行列との関係)\(x\in\mathcal{D}\)におけるヘッセ行列\(\nabla^2 f(x)\)において、その固有値が全て\(\alpha\)以上であるとき\(f\)\(\alpha\)-強凸関数である。

(条件数について) \(f(x)=x^\top Ax\) (2次形式)であるとき、行列\(A\)の条件数(=最大固有値と最小固有値の比)は\(\alpha,\beta\)-強凸平滑関数\(f\)の条件数\(\kappa=\beta/\alpha\)に一致する。この場合、関数\(f(x)\)の等高線は\(\kappa\)が1に近いほど円形になり、\(\kappa\)が大きくなるにつれて楕円形につぶれていく。