谷は1つ、答えも1つ
関数のグラフ上の任意の2点を結ぶ線分がグラフ上かその上側にあるとき、その関数は凸です:任意の θ∈[0,1] で f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y)。2回微分可能な関数には実用的な判定があり、ヘッセ行列がどこでも半正定値(固有値がすべて ≥0)であることが凸であるための必要十分条件です。凸関数の和、その正の定数倍、凸関数の最大は再び凸なので、小さな部品から大きな凸の目的関数を組み立てられます。
H(w)⪰0 ∀w ⟹ ∇f(w∗)=0 ⇒ f(w∗)=wminf(w)(1) 凸性は最適化を信頼できるものにします。局所最小はすべて大域最小で、勾配がゼロなら止めてよく、答えはソルバーの開始点に依存しません。関数が狭義凸なら最小化点は一意で、強凸(どの方向にも曲率が μ>0 以上)なら勾配降下法は先に見た幾何級数的な速さで収束します。凸でなければこれらは保証されず、ソルバーは最も深くない谷で止まるかもしれません。
確認と反例f(x)=x2 で点
0 と
4、
θ=21 をとります。中点での値は
f(2)=4、両端の値の平均は
(0+16)/2=8 で、差の
4 は凸性の要求どおり正です。次に
f(x,y)=x2+4xy+y2 をとると、ヘッセ行列
(2442) の固有値は
6 と
−2 です。1つが負なので
f は凸ではなく、原点は鞍点です。
金融での凸な目的関数には、ポートフォリオ分散 wTΣw(共分散行列は半正定値だから)、最小二乗の損失、ℓ1 ノルム ∥w∥1、ウェイトの関数としての期待ショートフォール(CVaR)があります。バリュー・アット・リスク、非ゼロのウェイト数の上限、そのままのシャープレシオは凸ではありません。資産数より観測数が少ないときの標本共分散行列は半正定値ですが特異なので、分散は凸であっても狭義凸ではなく、多くのウェイトベクトルが最小値で並びます。
- ヘッセ行列の判定:どこでも固有値がすべて ≥0 なら凸、負の固有値が1つあれば凸ではありません。
- 利点:局所最小はすべて大域最小なので、開始点は関係ありません。
- 部品:凸関数の和、正の定数倍、最大は凸のままです。
凸でないものを緩和する非ゼロのウェイトが高々 k 個といった凸でない要件は、凸な近縁(ここでは ℓ1 ペナルティ)に置き換えるのがよく使われる手です。緩和した問題は確実に解け、通常よい答えを与えますが、別の問題なので、使う前に元の要件に照らして結果を確認してください。 ラボ:採点される内容
- 凸性のギャップ15点
- 凸性を壊す固有値15点
- 凸になるヘッセ行列はどれか15点
- 金融で凸な目的関数15点
- 勾配ゼロ10点
- 凸性の用語15点
- ソルバーが凸問題を好む理由15点