一般的な凸関数の定義
📂関数一般的な凸関数の定義
定義
ベクトル空間 V で定義された関数 f:V→R が全ての x,y∈V と全ての t∈[0,1] に対して次を満たす時、凸関数convex functionと言われる。
f((1−t)x+ty)≤(1−t)f(x)+tf(y)
説明
実は、学部レベル以上の数学を学ぶと、凹や凸の表現はほとんど使わず、凸convexという用語だけをほぼ排他的に使用する。上で紹介された凸関数は、ユークリッド空間 X=R で定義された凸関数の一般化である。
例
解の集合が放物線を形成する f(x,y):=x2+y2 は凸関数であり、その値が最小になる点は (x,y)=(0,0) である。
定理
凸集合における凸関数の最適解
f:Rn→R が微分可能な凸関数であり、凸集合 C⊂Rn が凸集合である場合、次の二つは等価である。
- x∗∈C は C で f を最小化する最適解である。
- 全ての x∈C に対して
∇f(x∗)(x−x∗)≥0
証明
(⟹)
x(t):=x∗+t(x−x∗)∈C,t∈[0,1]
C は凸集合と仮定されるので、任意の x∈C と x∗ のある内分点 x(t) は上記のように表される。一方で
- x∗=argminx∈Cf なので全ての x∈C に対して f(x(t))−f(x∗)≥0 であり
- f(x(t)) の t=0 での偏微分係数は連鎖律により ∇f(x∗)(x−x∗) なので
==≥∇f(x∗)(x−x∗)[∂t∂f(x(t))]t=0t→0limtf(x(t))−f(x∗)0
結果として ∇f(x∗)(x−x∗)≥0 を得る。
(⟸)
f((1−t)z+ty)≤(1−t)f(z)+tf(y)
両辺を t で微分すると
(−z+y)∇f((1−t)z+ty)≤−f(z)+f(y)
なので、t=0 時に次を得る。
f(z)+∇f(z)(y−z)≤f(y)
仮定で ∇f(x∗)(x−x∗)≥0 なので、y=x と z=x∗ に対して次を得る。
≤≤f(x∗)+0f(x∗)+∇f(x∗)(x−x∗)f(x)
つまり f(x∗)≤f(x) であり、これは全ての x∈C に対して成立するので x∗ は C で f の最小解となる。
■