Lemma

第2章凸集合と凸関数

目安 8〜11 時間定理など 18演習 6 問
ここまでの道

この章の目標

  • 凸集合・凸包・錐・多面体を定義し、例と反例を挙げられる
  • 閉凸集合への射影の存在・一意性と特徴づけを証明し、そこから分離定理・支持超平面定理を導ける
  • 微分可能な関数の凸性を 1 次条件・2 次条件で判定でき、定義域が開凸集合という仮定の意味を説明できる
  • 凸関数の局所最小は大域最小であることを証明し、凸性を保つ演算で凸性を確かめられる
  • 強凸性と LL-平滑性の同値な特徴づけを証明し、条件数の意味を説明できる
  • 劣勾配を計算し、最適性条件 0∈∂f(x)0 \in \partial f(x) を使える

前提:第1章、01-calculus 第4章(1 変数の凸関数)、01-calculus 第7章、02-linear-algebra 第8章(正定値性)。2.7 節では 01-calculus 第5章 の微分積分学の基本定理と 第8章 の平均値の不等式を使う。

第1章で予告した「凸最適化問題では局所最小点が大域最小点になる」ことを証明し、それを支える理論を整える。柱は、閉凸集合への射影から導かれる分離定理(線形計画の双対定理(第3章)や強双対性(第4章)の証明の核)、凸性の判定法、勾配法の速さを決める強凸性と LL-平滑性(第5章)の三つである。最後に、微分できない凸関数のための劣勾配と共役関数を導入する。

⟨x,y⟩=x⊤y\langle x, y \rangle = x^{\top}y、∥x∥\lVert x \rVert はユークリッドノルムとする。対称行列 A,BA, B について、A⪰BA \succeq B は A−BA - B が半正定値、A≻BA \succ B は正定値であることを表す。

2.1 凸集合

凸集合は第1章 定義 1.24 で定義した。

定義 2.1(凸結合・凸包・錐・多面体)λi≥0\lambda_i \geq 0, ∑i=1kλi=1\sum_{i=1}^{k}\lambda_i = 1 のとき、∑iλixi\sum_i \lambda_ix_i を x1,…,xkx_1, \dots, x_k の凸結合 (convex combination) という。S⊂RnS \subset \mathbb{R}^n の有限個の元の凸結合全体を凸包 (convex hull) conv⁡S\operatorname{conv} S という。「x∈Kx \in K, λ≥0\lambda \geq 0 ならば λx∈K\lambda x \in K」を満たす KK を錐 (cone)、凸な錐を凸錐という。有限個の閉半空間の共通部分 {x∣Ax≤b}\lbrace x \mid Ax \leq b \rbrace を多面体 (polyhedron) という。

命題 2.2 (1) 凸集合の任意個の共通部分は凸である。(2) 凸集合のアフィン写像 x↦Ax+bx \mapsto Ax + b による像と逆像は凸である。(3) 凸集合 CC は、CC の元の凸結合をすべて含む。(4) conv⁡S\operatorname{conv} S は SS を含む最小の凸集合である。

証明. (1) は明らか。(2) は A((1−t)x+ty)+b=(1−t)(Ax+b)+t(Ay+b)A((1 - t)x + ty) + b = (1 - t)(Ax + b) + t(Ay + b) による。(3) kk についての帰納法。λk=1\lambda_k = 1 なら和は xkx_k である。λk<1\lambda_k < 1 なら ∑i=1kλixi=(1−λk)z+λkxk\sum_{i=1}^{k}\lambda_ix_i = (1 - \lambda_k)z + \lambda_kx_k, z=∑i=1k−1λi1−λkxi∈Cz = \sum_{i=1}^{k-1}\frac{\lambda_i}{1 - \lambda_k}x_i \in C(帰納法の仮定)。(4) 凸結合の凸結合は凸結合なので conv⁡S\operatorname{conv} S は凸で、SS を含む凸集合は (3) より conv⁡S\operatorname{conv} S を含む。□\square

例 2.3 (1) 超平面・閉半空間 {a⊤x≤b}\lbrace a^{\top}x \leq b \rbrace・球(三角不等式による)・多面体は凸である。線形計画の実行可能領域(第1章 例 1.2・1.3)は多面体である。(2) 確率単体 {w≥0∣∑iwi=1}=conv⁡{e1,…,en}\lbrace w \geq 0 \mid \sum_i w_i = 1 \rbrace = \operatorname{conv}\lbrace e_1, \dots, e_n \rbrace は空売りなしのポートフォリオ全体である。(3) 非負象限 R+n\mathbb{R}^n_{+}、二次錐 {(x,t)∣∥x∥≤t}\lbrace (x, t) \mid \lVert x \rVert \leq t \rbrace、半正定値対称行列全体(一次不等式 v⊤Xv≥0v^{\top}Xv \geq 0 の共通部分)は凸錐で、線形計画・二次錐計画・半正定値計画の基礎になる。(4) 交わらない 2 つの球の和集合、Zn\mathbb{Z}^n、球面は凸でない。

凸集合 CC の点 xx が、x=(1−t)y+tzx = (1 - t)y + tz(y,z∈Cy, z \in C, 0<t<10 < t < 1)なら y=z=xy = z = x となるとき、端点 (extreme point) という。有界な多面体は有限個の端点(頂点)の凸包に等しい(ミンコフスキー–ワイルの定理。証明は Schrijver, Theory of Linear and Integer Programming などを参照)。

2.2 射影定理

02-linear-algebra 第7章 定理 7.17 の正射影を、部分空間から閉凸集合に一般化する。

定理 2.4(射影定理, projection theorem)C⊂RnC \subset \mathbb{R}^n を空でない閉凸集合とする。各 x∈Rnx \in \mathbb{R}^n に対し、∥x−p∥=min⁡y∈C∥x−y∥\lVert x - p \rVert = \min_{y \in C}\lVert x - y \rVert となる p∈Cp \in C がただ一つ存在する。これを PC(x)P_C(x) と書き、xx の CC への射影という。p∈Cp \in C について

p=PC(x)  ⟺  ⟨x−p,y−p⟩≤0(∀y∈C)(2.1)p = P_C(x) \iff \langle x - p, y - p \rangle \leq 0 \quad (\forall y \in C) \tag{2.1}

であり、∥PC(x)−PC(x′)∥≤∥x−x′∥\lVert P_C(x) - P_C(x') \rVert \leq \lVert x - x' \rVert(非拡大性)が成り立つ。

証明. 存在:y↦∥x−y∥2y \mapsto \lVert x - y \rVert^2 は連続で強圧的なので、第1章 定理 1.11 より閉集合 CC 上で最小値をとる。一意性:p1,p2p_1, p_2 がともに最小距離 dd を与えるなら、中点 m∈Cm \in C について中線定理より

∥x−m∥2=12∥x−p1∥2+12∥x−p2∥2−14∥p1−p2∥2=d2−14∥p1−p2∥2\lVert x - m \rVert^2 = \frac{1}{2}\lVert x - p_1 \rVert^2 + \frac{1}{2}\lVert x - p_2 \rVert^2 - \frac{1}{4}\lVert p_1 - p_2 \rVert^2 = d^2 - \frac{1}{4}\lVert p_1 - p_2 \rVert^2

で、dd の最小性から p1=p2p_1 = p_2。(2.1) の ⇒:y∈Cy \in C, 0<t≤10 < t \leq 1 なら p+t(y−p)∈Cp + t(y - p) \in C なので 0≤∥x−p−t(y−p)∥2−∥x−p∥2=−2t⟨x−p,y−p⟩+t2∥y−p∥20 \leq \lVert x - p - t(y - p) \rVert^2 - \lVert x - p \rVert^2 = -2t\langle x - p, y - p \rangle + t^2\lVert y - p \rVert^2。tt で割って t→+0t \to +0 とする。⇐:∥x−y∥2=∥x−p∥2−2⟨x−p,y−p⟩+∥y−p∥2≥∥x−p∥2\lVert x - y \rVert^2 = \lVert x - p \rVert^2 - 2\langle x - p, y - p \rangle + \lVert y - p \rVert^2 \geq \lVert x - p \rVert^2。非拡大性:p=PC(x)p = P_C(x), p′=PC(x′)p' = P_C(x') として (2.1) を (x,p,y=p′)(x, p, y = p') と (x′,p′,y=p)(x', p', y = p) に使って足すと、∥p−p′∥2≤⟨x−x′,p−p′⟩≤∥x−x′∥∥p−p′∥\lVert p - p' \rVert^2 \leq \langle x - x', p - p' \rangle \leq \lVert x - x' \rVert\lVert p - p' \rVert。□\square

(2.1) は「x−px - p と y−py - p のなす角が直角以上」という意味である。CC が閉でないと最も近い点がないことがあり(開球と外の点)、凸でないと一意性が崩れる(球面と中心)。

例 2.5(射影の計算)(1) 箱 {l≤y≤u}\lbrace l \leq y \leq u \rbrace への射影は成分ごとの切り詰め min⁡(max⁡(xi,li),ui)\min(\max(x_i, l_i), u_i)([0,1]2[0, 1]^2 への (2,−0.5)(2, -0.5) の射影は (1,0)(1, 0))。(2) 球 {∥y∥≤r}\lbrace \lVert y \rVert \leq r \rbrace への射影は、∥x∥>r\lVert x \rVert > r なら rx/∥x∥rx/\lVert x \rVert。(3) 半空間 {a⊤y≤b}\lbrace a^{\top}y \leq b \rbrace への射影は x−max⁡(0,a⊤x−b)∥a∥2ax - \frac{\max(0, a^{\top}x - b)}{\lVert a \rVert^2}a(a⊤x>ba^{\top}x > b なら x−p=cax - p = ca, c>0c > 0, a⊤p=ba^{\top}p = b で、⟨x−p,y−p⟩=c(a⊤y−b)≤0\langle x - p, y - p \rangle = c(a^{\top}y - b) \leq 0)。射影が簡単な集合の上では、第5章の射影勾配法が使える。

2.3 分離定理と支持超平面定理

交わらない凸集合の間には超平面を引ける。これが実行不能性や最適性の証明書(第3章・第4章の双対変数)を作る道具になる。仮定(閉・コンパクト・開)と分離の強さの対応に注意する。

定理 2.6(点と閉凸集合の分離)CC を空でない閉凸集合、x0∉Cx_0 \notin C とする。このとき a≠0a \neq 0 があって sup⁡y∈Ca⊤y<a⊤x0\sup_{y \in C} a^{\top}y < a^{\top}x_0 となる。

証明. p=PC(x0)p = P_C(x_0), a=x0−p≠0a = x_0 - p \neq 0 とおくと、(2.1) より y∈Cy \in C で a⊤(y−p)≤0a^{\top}(y - p) \leq 0、すなわち a⊤y≤a⊤p=a⊤x0−∥a∥2a^{\top}y \leq a^{\top}p = a^{\top}x_0 - \lVert a \rVert^2。□\square

定理 2.7(閉凸集合とコンパクト凸集合の強分離)CC を空でない閉凸集合、KK を空でないコンパクト凸集合とし、C∩K=∅C \cap K = \emptyset とする。このとき a≠0a \neq 0 があって sup⁡y∈Ca⊤y<min⁡z∈Ka⊤z\sup_{y \in C} a^{\top}y < \min_{z \in K} a^{\top}z となる。

証明. D=C−K={y−z∣y∈C,z∈K}D = C - K = \lbrace y - z \mid y \in C, z \in K \rbrace は凸で 0∉D0 \notin D。DD は閉である:yk−zk→wy_k - z_k \to w(yk∈Cy_k \in C, zk∈Kz_k \in K)なら、KK のコンパクト性から部分列で zkj→z∈Kz_{k_j} \to z \in K、すると ykj→w+z∈Cy_{k_j} \to w + z \in C で、w∈Dw \in D。定理 2.6 を DD と 00 に使うと、a≠0a \neq 0, ε>0\varepsilon > 0 があってすべての y∈Cy \in C, z∈Kz \in K で a⊤y≤a⊤z−εa^{\top}y \leq a^{\top}z - \varepsilon。□\square

例 2.8(コンパクト性は外せない)C={(x,y)∣x>0, xy≥1}C = \lbrace (x, y) \mid x > 0, \ xy \geq 1 \rbrace(凸関数 1/x1/x のエピグラフ)と K={(x,y)∣y≤0}K = \lbrace (x, y) \mid y \leq 0 \rbrace は交わらない閉凸集合だが、(t,1/t)∈C(t, 1/t) \in C と (t,0)∈K(t, 0) \in K の距離は 00 に近づく。inf⁡Ka⊤z>−∞\inf_K a^{\top}z > -\infty となるのは a=(0,a2)a = (0, a_2), a2<0a_2 < 0 のときだけで、そのとき inf⁡Ka⊤z=0=sup⁡Ca⊤y\inf_K a^{\top}z = 0 = \sup_C a^{\top}y だから、定理 2.7 の形の分離はできない(CC と KK を入れ替えても同様)。

閉でない凸集合も扱うために、有限次元の次の性質を使う。

補題 2.9 凸集合 C⊂RnC \subset \mathbb{R}^n について、閉包の内部は CC の内部に等しい:(C‾)∘=C∘(\overline{C})^{\circ} = C^{\circ}。

証明. ⊃\supset は明らか。x0∈(C‾)∘x_0 \in (\overline{C})^{\circ} とし、閉球 B‾(x0,δn)⊂C‾\overline{B}(x_0, \delta\sqrt{n}) \subset \overline{C} となる δ>0\delta > 0 をとる。vi=x0+δeiv_i = x_0 + \delta e_i(1≤i≤n1 \leq i \leq n)、v0=x0−δ(e1+⋯+en)v_0 = x_0 - \delta(e_1 + \cdots + e_n) はこの閉球に属し、x0=1n+1∑i=0nvix_0 = \frac{1}{n+1}\sum_{i=0}^{n}v_i。点 w0,…,wnw_0, \dots, w_n に対し、(w0,1),…,(wn,1)∈Rn+1(w_0, 1), \dots, (w_n, 1) \in \mathbb{R}^{n+1} を列とする正方行列を M(w)M(w) とする。vi−v0=δ(ei+e1+⋯+en)v_i - v_0 = \delta(e_i + e_1 + \cdots + e_n)(i≥1i \geq 1)は一次独立(係数行列 δ(I+11⊤)\delta(I + \mathbf{1}\mathbf{1}^{\top}) の固有値は δ(n+1)\delta(n + 1) と δ\delta)なので M(v)M(v) は正則で、クラメルの公式より λ(w)=M(w)−1(x0,1)\lambda(w) = M(w)^{-1}(x_0, 1) は vv の近くで ww について連続、λ(v)=(1n+1,…,1n+1)\lambda(v) = (\frac{1}{n+1}, \dots, \frac{1}{n+1})。よって wi∈Cw_i \in C を viv_i の十分近くにとれば、M(w)M(w) は正則で λ(w)\lambda(w) の成分はすべて正となり、x0=∑iλi(w)wix_0 = \sum_i \lambda_i(w)w_i, ∑iλi(w)=1\sum_i \lambda_i(w) = 1 だから x0∈Cx_0 \in C(命題 2.2 (3))。開集合 (C‾)∘(\overline{C})^{\circ} が CC に含まれたので、C∘C^{\circ} に含まれる。□\square

定理 2.10(支持超平面定理, supporting hyperplane theorem)C⊂RnC \subset \mathbb{R}^n を空でない凸集合、x0∉C∘x_0 \notin C^{\circ}(たとえば CC の境界点)とする。このとき a≠0a \neq 0 があって、すべての y∈Cy \in C で a⊤y≤a⊤x0a^{\top}y \leq a^{\top}x_0 となる。

証明. 補題 2.9 より x0∉(C‾)∘x_0 \notin (\overline{C})^{\circ} なので、C‾\overline{C} に属さない点列 xk→x0x_k \to x_0 がとれる。凸集合の閉包は凸だから(CC の点列 yk→yy_k \to y, zk→zz_k \to z について (1−t)yk+tzk→(1−t)y+tz(1 - t)y_k + tz_k \to (1 - t)y + tz)、定理 2.6 より ∥ak∥=1\lVert a_k \rVert = 1 で ak⊤y<ak⊤xka_k^{\top}y < a_k^{\top}x_k(y∈C‾y \in \overline{C})となる aka_k がある。部分列で ak→aa_k \to a(∥a∥=1\lVert a \rVert = 1)とし、y∈Cy \in C を固定して極限をとればよい。□\square

定理 2.11(分離定理, separating hyperplane theorem)C1,C2⊂RnC_1, C_2 \subset \mathbb{R}^n を交わらない空でない凸集合とする。

  1. a≠0a \neq 0 があって、すべての x∈C1x \in C_1, y∈C2y \in C_2 で a⊤x≤a⊤ya^{\top}x \leq a^{\top}y となる。
  2. さらに C1C_1 が開集合なら、α=sup⁡C1a⊤x\alpha = \sup_{C_1}a^{\top}x について、すべての x∈C1x \in C_1, y∈C2y \in C_2 で a⊤x<α≤a⊤ya^{\top}x < \alpha \leq a^{\top}y となる。

証明. (1) D=C1−C2D = C_1 - C_2 は凸で 0∉D0 \notin D なので、定理 2.10 を DD と 00 に使う。(2) x∈C1x \in C_1 なら小さい ε>0\varepsilon > 0 で x+εa∈C1x + \varepsilon a \in C_1 だから、a⊤x<a⊤(x+εa)≤αa^{\top}x < a^{\top}(x + \varepsilon a) \leq \alpha。□\square

補足

有限次元であることは、定理 2.10(したがって定理 2.11 (1))の証明の 2 か所で使った。補題 2.9(座標ベクトル e1,…,ene_1, \dots, e_n で x0x_0 を囲む)と、単位ベクトルの列 aka_k から収束する部分列をとるところ(単位球面のコンパクト性)である。実際、無限次元では定理 2.11 (1) は成り立たない。2 乗和が有限な実数列の空間 ℓ2\ell^2 の中で、有限個を除く成分が 00 の数列全体 c00c_{00}(稠密な部分空間。10-functional-analysis 第1章 例 1.7)と、その外の 1 点 x0x_0 は交わらない凸集合だが、c00c_{00} 上で上に有界な連続線形汎関数は c00c_{00} 上で 00、したがって稠密性から恒等的に 00 なので、両者を分離する超平面はない。無限次元のノルム空間では、一方が開集合の場合や閉凸集合と 1 点の場合に分離が成り立つ(ハーン–バナッハの定理の幾何形。10-functional-analysis 第4章 定理 4.7・4.8)。射影定理の無限次元版はヒルベルト空間の最近点定理である(10-functional-analysis 第2章 定理 2.6)。

2.4 凸関数とその判定

定義 2.12 凸集合 CC 上の関数 ff が、x≠yx \neq y, 0<t<10 < t < 1 で f((1−t)x+ty)<(1−t)f(x)+tf(y)f((1 - t)x + ty) < (1 - t)f(x) + tf(y) を満たすとき狭義凸、−f-f が凸のとき凹という。epi⁡f={(x,s)∈C×R∣f(x)≤s}\operatorname{epi} f = \lbrace (x, s) \in C \times \mathbb{R} \mid f(x) \leq s \rbrace をエピグラフ (epigraph) という。

命題 2.13 CC を凸集合、f ⁣:C→Rf\colon C \to \mathbb{R} とする。

  1. ff が凸   ⟺  \iff epi⁡f\operatorname{epi} f が凸集合。
  2. ff が凸なら、下位集合 {x∈C∣f(x)≤α}\lbrace x \in C \mid f(x) \leq \alpha \rbrace は凸である(逆は成り立たない:∣x∣\sqrt{\lvert x \rvert})。
  3. ff が凸   ⟺  \iff 任意の x∈Cx \in C, dd について、t↦f(x+td)t \mapsto f(x + td) が区間 {t∣x+td∈C}\lbrace t \mid x + td \in C \rbrace 上で凸。
  4. (イェンセンの不等式)ff が凸で λi≥0\lambda_i \geq 0, ∑iλi=1\sum_i \lambda_i = 1 なら f(∑iλixi)≤∑iλif(xi)f(\sum_i \lambda_ix_i) \leq \sum_i \lambda_if(x_i)。

証明. 1 は、(x,s),(y,u)∈epi⁡f(x, s), (y, u) \in \operatorname{epi} f について f((1−t)x+ty)≤(1−t)s+tuf((1 - t)x + ty) \leq (1 - t)s + tu となることが凸性と同値であることによる。2・3 は定義から従う。4 は 01-calculus 第4章 定理 4.31 と同じ帰納法による。□\square

定理 2.14(1 次条件)U⊂RnU \subset \mathbb{R}^n を開凸集合、f ⁣:U→Rf\colon U \to \mathbb{R} を微分可能とする。次は同値である。

  1. ff は凸である。
  2. すべての x,y∈Ux, y \in U で f(y)≥f(x)+⟨∇f(x),y−x⟩f(y) \geq f(x) + \langle \nabla f(x), y - x \rangle。
  3. すべての x,y∈Ux, y \in U で ⟨∇f(x)−∇f(y),x−y⟩≥0\langle \nabla f(x) - \nabla f(y), x - y \rangle \geq 0(勾配の単調性)。

証明. (1⇒2) 0<t≤10 < t \leq 1 で f(x+t(y−x))−f(x)≤t(f(y)−f(x))f(x + t(y - x)) - f(x) \leq t(f(y) - f(x))。tt で割って t→+0t \to +0 とすると、左辺は方向微分 ⟨∇f(x),y−x⟩\langle \nabla f(x), y - x \rangle に収束する(01-calculus 第7章 命題 7.11)。(2⇒1) z=(1−t)x+tyz = (1 - t)x + ty とし、2 を (z,x)(z, x) と (z,y)(z, y) に使って 1−t1 - t 倍と tt 倍して足すと、(1−t)(x−z)+t(y−z)=0(1 - t)(x - z) + t(y - z) = 0 より (1−t)f(x)+tf(y)≥f(z)(1 - t)f(x) + tf(y) \geq f(z)。(2⇒3) 2 を (x,y)(x, y) と (y,x)(y, x) に使って足す。(3⇒1) xt=x+t(y−x)x_t = x + t(y - x), φ(t)=f(xt)\varphi(t) = f(x_t) は [0,1][0, 1] を含む開区間で微分可能で、φ′(t)=⟨∇f(xt),y−x⟩\varphi'(t) = \langle \nabla f(x_t), y - x \rangle。s<ts < t なら φ′(t)−φ′(s)=1t−s⟨∇f(xt)−∇f(xs),xt−xs⟩≥0\varphi'(t) - \varphi'(s) = \frac{1}{t - s}\langle \nabla f(x_t) - \nabla f(x_s), x_t - x_s \rangle \geq 0 で、φ′\varphi' が単調増加なので φ\varphi は凸(01-calculus 第4章 定理 4.30)。φ(t)≤(1−t)φ(0)+tφ(1)\varphi(t) \leq (1 - t)\varphi(0) + t\varphi(1) が求める不等式である。□\square

2 は「接平面がグラフ全体の下にある」こと、つまり局所的な情報 ∇f(x)\nabla f(x) が大域的な下界を与えることを意味し、凸最適化の要である。

定理 2.15(2 次条件)U⊂RnU \subset \mathbb{R}^n を開凸集合、ff を UU 上の C2C^2 級関数とする。

  1. ff が凸   ⟺  \iff すべての x∈Ux \in U で ∇2f(x)⪰0\nabla^2 f(x) \succeq 0。
  2. すべての x∈Ux \in U で ∇2f(x)≻0\nabla^2 f(x) \succ 0 ならば ff は狭義凸である(逆は成り立たない:x4x^4)。

証明. φ(t)=f(x+td)\varphi(t) = f(x + td) は 00 を含む開区間で C2C^2 級で、φ′′(t)=d⊤∇2f(x+td)d\varphi''(t) = d^{\top}\nabla^2 f(x + td)d(01-calculus 第7章 7.6 節)。(1) ⇒:φ\varphi は凸なので(命題 2.13 (3))φ′′(0)≥0\varphi''(0) \geq 0(01-calculus 第4章 定理 4.30)。⇐:d=y−xd = y - x とすると φ′′≥0\varphi'' \geq 0 より φ\varphi は凸で、命題 2.13 (3) より ff は凸。(2) d≠0d \neq 0 なら φ′\varphi' は狭義単調増加なので、平均値の定理より 0<t<10 < t < 1 で φ(t)−φ(0)t=φ′(ξ)<φ′(η)=φ(1)−φ(t)1−t\frac{\varphi(t) - \varphi(0)}{t} = \varphi'(\xi) < \varphi'(\eta) = \frac{\varphi(1) - \varphi(t)}{1 - t}(ξ<t<η\xi < t < \eta)。これは φ(t)<(1−t)φ(0)+tφ(1)\varphi(t) < (1 - t)\varphi(0) + t\varphi(1) と同値である。□\square

例 2.16(定義域が開であることの意味)f(x1,x2)=x12−x22f(x_1, x_2) = x_1^2 - x_2^2 を内部が空の凸集合 C={(x1,0)}C = \lbrace (x_1, 0) \rbrace に制限すると x12x_1^2 で凸だが、∇2f=diag⁡(2,−2)\nabla^2 f = \operatorname{diag}(2, -2) は半正定値でない。定理 2.15 の「⇒」は、定義域が開でないと成り立たない。

例 2.17(凸関数の例)(1) アフィン関数、ノルム。(2) 二次関数 12x⊤Qx+c⊤x\frac{1}{2}x^{\top}Qx + c^{\top}x は凸   ⟺  Q⪰0\iff Q \succeq 0 で、分散 w⊤Σww^{\top}\Sigma w や ∥Ax−b∥2\lVert Ax - b \rVert^2 は凸。(3) eaxe^{ax}、−log⁡x-\log x、xlog⁡xx\log x(x>0x > 0)、∣x∣p\lvert x \rvert^p(p≥1p \geq 1)、log-sum-exp(問題 2.3)。(4) log⁡(1+et)\log(1 + e^{t}) は 2 階導関数 σ(1−σ)\sigma(1 - \sigma) が正(σ\sigma はシグモイド関数)なので凸で、ロジスティック回帰の損失(第1章 例 1.6)は ∇2ℓ(x)=∑iσ(ai⊤x)(1−σ(ai⊤x))aiai⊤⪰0\nabla^2\ell(x) = \sum_i \sigma(a_i^{\top}x)(1 - \sigma(a_i^{\top}x))a_ia_i^{\top} \succeq 0 より凸。(5) x3x^3、sin⁡x\sin x、x1x2x_1x_2 は凸でない。

2.5 凸最適化の基本定理

定理 2.18 CC を凸集合、f ⁣:C→Rf\colon C \to \mathbb{R} を凸関数とする。

  1. ff の局所最小点は大域最小点である。
  2. 最小点の全体は凸集合である。
  3. ff が狭義凸なら、最小点は(存在すれば)ただ一つである。

証明. (1) x∗x^{\ast} を局所最小点とし、f(y)<f(x∗)f(y) < f(x^{\ast}) となる y∈Cy \in C があったとする。0<t≤10 < t \leq 1 で xt=x∗+t(y−x∗)∈Cx_t = x^{\ast} + t(y - x^{\ast}) \in C かつ f(xt)≤(1−t)f(x∗)+tf(y)<f(x∗)f(x_t) \leq (1 - t)f(x^{\ast}) + tf(y) < f(x^{\ast}) で、t→0t \to 0 で xt→x∗x_t \to x^{\ast} だから局所最小性に反する。(2) 最小値を p∗p^{\ast} とすると、最小点の全体は下位集合 {f≤p∗}\lbrace f \leq p^{\ast} \rbrace である。(3) 最小点 x≠yx \neq y があれば f(x+y2)<p∗f(\frac{x + y}{2}) < p^{\ast} となり矛盾。□\square

定理 2.19(凸最適化の最適性条件)U⊂RnU \subset \mathbb{R}^n を開凸集合、f ⁣:U→Rf\colon U \to \mathbb{R} を微分可能な凸関数とする。

  1. x∗∈Ux^{\ast} \in U が UU 上の最小点   ⟺  \iff ∇f(x∗)=0\nabla f(x^{\ast}) = 0。
  2. C⊂UC \subset U を凸集合とする。x∗∈Cx^{\ast} \in C が CC 上の最小点   ⟺  \iff すべての y∈Cy \in C で ⟨∇f(x∗),y−x∗⟩≥0\langle \nabla f(x^{\ast}), y - x^{\ast} \rangle \geq 0。

証明. (1) ⇒ は第1章 定理 1.17。(1)・(2) の ⇐ は 1 次条件(定理 2.14)による。(2) ⇒:ある y∈Cy \in C で ⟨∇f(x∗),y−x∗⟩<0\langle \nabla f(x^{\ast}), y - x^{\ast} \rangle < 0 なら、y−x∗y - x^{\ast} は降下方向で(第1章 補題 1.16)、小さい t>0t > 0 で x∗+t(y−x∗)∈Cx^{\ast} + t(y - x^{\ast}) \in C の値は f(x∗)f(x^{\ast}) より小さく、矛盾する。□\square

(2) で f(y)=12∥y−x∥2f(y) = \frac{1}{2}\lVert y - x \rVert^2 とすると、射影の特徴づけ (2.1) になる。

注意

凸性が保証するのは「局所最小 = 大域最小」と「停留点 = 最小点」であって、最小点の存在ではない(exe^{x} や完全分離のロジスティック回帰(第1章 例 1.13))。存在は強圧性などで別に確かめる。

2.6 凸性を保つ演算

命題 2.20 f,fi,gf, f_i, g を凸関数とする(定義域は凸集合とする)。次の関数は凸である。

  1. 非負の重みつき和 ∑iαifi\sum_i \alpha_if_i(αi≥0\alpha_i \geq 0)。
  2. アフィン写像との合成 f(Ax+b)f(Ax + b)。
  3. 各点ごとの上限 sup⁡i∈Ifi(x)\sup_{i \in I} f_i(x)(II は任意の集合で、上限は有限とする)。
  4. h ⁣:R→Rh\colon \mathbb{R} \to \mathbb{R} が凸かつ単調非減少のときの h(g(x))h(g(x))。

証明. 1・2 は定義から従う。3:各 ii で fi((1−t)x+ty)≤(1−t)sup⁡jfj(x)+tsup⁡jfj(y)f_i((1 - t)x + ty) \leq (1 - t)\sup_j f_j(x) + t\sup_j f_j(y) で、左辺の上限をとる。4:h(g((1−t)x+ty))≤h((1−t)g(x)+tg(y))≤(1−t)h(g(x))+th(g(y))h(g((1 - t)x + ty)) \leq h((1 - t)g(x) + tg(y)) \leq (1 - t)h(g(x)) + th(g(y))。□\square

たとえば max⁡i(ai⊤x+bi)\max_i(a_i^{\top}x + b_i)、ヒンジ損失 max⁡(0,1−t)\max(0, 1 - t)、∥x∥1\lVert x \rVert_1、対称行列の最大固有値 λmax⁡(X)=max⁡∥v∥=1v⊤Xv\lambda_{\max}(X) = \max_{\lVert v \rVert = 1}v^{\top}Xv(02-linear-algebra 第8章 命題 8.29)は 3 より、ℓ(x)+λ2∥x∥2\ell(x) + \frac{\lambda}{2}\lVert x \rVert^2 やラッソの目的関数 12∥Ax−b∥2+λ∥x∥1\frac{1}{2}\lVert Ax - b \rVert^2 + \lambda\lVert x \rVert_1 は 1・2 より凸である。凸関数の最小値・差・積は凸とは限らない(min⁡(x2,(x−2)2)\min(x^2, (x - 2)^2)、−x2-x^2、x⋅x2x \cdot x^2)。

ヒント

実務では 凸性はヘッセ行列の計算より、命題 2.20 の規則の組み合わせで確かめるほうが確実である。代表的な凸最適化のモデリング用ソフトウェアは、式がこの種の規則で組み立てられているときに限って受け付け、凸性を機械的に保証する(disciplined convex programming)。規則で説明できない式は、変数変換で凸に書き直すか、凸な近似で置き換えられないかを考える。

2.7 強凸性と LL-平滑性

勾配法の速さを論じるには、ff を上下から二次関数で挟む定量的な情報が要る。

定義 2.21 U⊂RnU \subset \mathbb{R}^n を開凸集合、f ⁣:U→Rf\colon U \to \mathbb{R}, μ>0\mu > 0, L>0L > 0 とする。

  1. f(x)−μ2∥x∥2f(x) - \frac{\mu}{2}\lVert x \rVert^2 が凸のとき、ff は μ\mu-強凸 (μ\mu-strongly convex) であるという。
  2. ff が微分可能で、すべての x,y∈Ux, y \in U で ∥∇f(x)−∇f(y)∥≤L∥x−y∥\lVert \nabla f(x) - \nabla f(y) \rVert \leq L\lVert x - y \rVert のとき、ff は LL-平滑 (LL-smooth) であるという。

定理 2.22(強凸性の特徴づけ)UU を開凸集合、f ⁣:U→Rf\colon U \to \mathbb{R} を微分可能とする。次は同値である。

  1. ff は μ\mu-強凸である。
  2. すべての x,y∈Ux, y \in U で f(y)≥f(x)+⟨∇f(x),y−x⟩+μ2∥y−x∥2f(y) \geq f(x) + \langle \nabla f(x), y - x \rangle + \frac{\mu}{2}\lVert y - x \rVert^2。
  3. すべての x,y∈Ux, y \in U で ⟨∇f(x)−∇f(y),x−y⟩≥μ∥x−y∥2\langle \nabla f(x) - \nabla f(y), x - y \rangle \geq \mu\lVert x - y \rVert^2。

ff が C2C^2 級なら、これらは「すべての x∈Ux \in U で ∇2f(x)⪰μI\nabla^2 f(x) \succeq \mu I」とも同値である。

証明. g(x)=f(x)−μ2∥x∥2g(x) = f(x) - \frac{\mu}{2}\lVert x \rVert^2 に定理 2.14・2.15 を適用する。∇g(x)=∇f(x)−μx\nabla g(x) = \nabla f(x) - \mu x, ∇2g=∇2f−μI\nabla^2 g = \nabla^2 f - \mu I と、恒等式 ∥y∥2−∥x∥2−2⟨x,y−x⟩=∥y−x∥2\lVert y \rVert^2 - \lVert x \rVert^2 - 2\langle x, y - x \rangle = \lVert y - x \rVert^2 により、gg の 1 次条件は 2 に、∇g\nabla g の単調性は 3 に、∇2g⪰0\nabla^2 g \succeq 0 は ∇2f⪰μI\nabla^2 f \succeq \mu I に書き換わる。□\square

定理 2.23(LL-平滑性の特徴づけ)

  1. UU を開凸集合、f ⁣:U→Rf\colon U \to \mathbb{R} を LL-平滑とすると、すべての x,y∈Ux, y \in U で
f(y)≤f(x)+⟨∇f(x),y−x⟩+L2∥y−x∥2(2.2)f(y) \leq f(x) + \langle \nabla f(x), y - x \rangle + \frac{L}{2}\lVert y - x \rVert^2 \tag{2.2}

が成り立つ(降下補題)。ff が C2C^2 級なら、LL-平滑性はすべての x∈Ux \in U で −LI⪯∇2f(x)⪯LI-LI \preceq \nabla^2 f(x) \preceq LI となることと同値である。 2. f ⁣:Rn→Rf\colon \mathbb{R}^n \to \mathbb{R} を微分可能な凸関数とすると、次は同値である。(a) LL-平滑。(b) すべての x,yx, y で (2.2)。(c) すべての x,yx, y で f(y)≥f(x)+⟨∇f(x),y−x⟩+12L∥∇f(y)−∇f(x)∥2f(y) \geq f(x) + \langle \nabla f(x), y - x \rangle + \frac{1}{2L}\lVert \nabla f(y) - \nabla f(x) \rVert^2。(d) すべての x,yx, y で ⟨∇f(x)−∇f(y),x−y⟩≥1L∥∇f(x)−∇f(y)∥2\langle \nabla f(x) - \nabla f(y), x - y \rangle \geq \frac{1}{L}\lVert \nabla f(x) - \nabla f(y) \rVert^2。

特に C2C^2 級の凸関数では、LL-平滑性は 0⪯∇2f(x)⪯LI0 \preceq \nabla^2 f(x) \preceq LI(∀x\forall x)と同値である。

証明. (1) ∇f\nabla f は連続なので t↦f(x+t(y−x))t \mapsto f(x + t(y - x)) は [0,1][0, 1] で C1C^1 級であり、微分積分学の基本定理(01-calculus 第5章 定理 5.13)とコーシー–シュワルツの不等式より

f(y)−f(x)−⟨∇f(x),y−x⟩=∫01⟨∇f(x+t(y−x))−∇f(x),y−x⟩ dt≤∫01Lt∥y−x∥2 dt=L2∥y−x∥2f(y) - f(x) - \langle \nabla f(x), y - x \rangle = \int_0^1 \langle \nabla f(x + t(y - x)) - \nabla f(x), y - x \rangle\,dt \leq \int_0^1 Lt\lVert y - x \rVert^2\,dt = \frac{L}{2}\lVert y - x \rVert^2

C2C^2 級の場合、LL-平滑なら ∇2f(x)d=lim⁡t→0(∇f(x+td)−∇f(x))/t\nabla^2 f(x)d = \lim_{t \to 0}(\nabla f(x + td) - \nabla f(x))/t より作用素ノルムで ∥∇2f(x)∥≤L\lVert \nabla^2 f(x) \rVert \leq L。逆に ∥∇2f∥≤L\lVert \nabla^2 f \rVert \leq L なら、平均値の不等式(01-calculus 第8章 定理 8.4)を ∇f\nabla f に使えばよい。対称行列の作用素ノルムは固有値の絶対値の最大値なので(02-linear-algebra 第8章 命題 8.21・問題 8.6)、∥∇2f(x)∥≤L  ⟺  −LI⪯∇2f(x)⪯LI\lVert \nabla^2 f(x) \rVert \leq L \iff -LI \preceq \nabla^2 f(x) \preceq LI。

(2) (a⇒b) は (1)。(b⇒c) xx を固定し ϕ(z)=f(z)−⟨∇f(x),z⟩\phi(z) = f(z) - \langle \nabla f(x), z \rangle とおく。ϕ\phi は凸で ∇ϕ(x)=0\nabla\phi(x) = 0 だから xx は ϕ\phi の最小点で(定理 2.19)、ϕ\phi も (2.2) を満たす(一次関数の項は両辺で打ち消し合う)。z=y−1L∇ϕ(y)z = y - \frac{1}{L}\nabla\phi(y) に (2.2) を使うと

ϕ(x)≤ϕ(z)≤ϕ(y)−1L∥∇ϕ(y)∥2+12L∥∇ϕ(y)∥2=ϕ(y)−12L∥∇f(y)−∇f(x)∥2\phi(x) \leq \phi(z) \leq \phi(y) - \frac{1}{L}\lVert \nabla\phi(y) \rVert^2 + \frac{1}{2L}\lVert \nabla\phi(y) \rVert^2 = \phi(y) - \frac{1}{2L}\lVert \nabla f(y) - \nabla f(x) \rVert^2

で、書き直すと (c)。(c⇒d) (c) を (x,y)(x, y) と (y,x)(y, x) について足す。(d⇒a) コーシー–シュワルツの不等式より 1L∥∇f(x)−∇f(y)∥2≤∥∇f(x)−∇f(y)∥∥x−y∥\frac{1}{L}\lVert \nabla f(x) - \nabla f(y) \rVert^2 \leq \lVert \nabla f(x) - \nabla f(y) \rVert\lVert x - y \rVert。最後の主張は (1) と定理 2.15 による。□\square

凸でない ff では、(2.2) は L2∥x∥2−f\frac{L}{2}\lVert x \rVert^2 - f の凸性(C2C^2 級なら ∇2f⪯LI\nabla^2 f \preceq LI)と同値で(定理 2.14)、LL-平滑性より弱い(−x2-x^2 は (2.2) を任意の L>0L > 0 で満たすが、導関数のリプシッツ定数は 22)。「∇2f⪯LI\nabla^2 f \preceq LI なら LL-平滑」は、ff が凸のとき(または ∇2f⪰−LI\nabla^2 f \succeq -LI のとき)に限る。

系 2.24 f ⁣:Rn→Rf\colon \mathbb{R}^n \to \mathbb{R} を μ\mu-強凸かつ LL-平滑とする。このとき ff はただ一つの最小点 x∗x^{\ast} をもち、μ≤L\mu \leq L で、すべての xx について

μ2∥x−x∗∥2≤f(x)−f(x∗)≤L2∥x−x∗∥2,12L∥∇f(x)∥2≤f(x)−f(x∗)≤12μ∥∇f(x)∥2\frac{\mu}{2}\lVert x - x^{\ast} \rVert^2 \leq f(x) - f(x^{\ast}) \leq \frac{L}{2}\lVert x - x^{\ast} \rVert^2, \qquad \frac{1}{2L}\lVert \nabla f(x) \rVert^2 \leq f(x) - f(x^{\ast}) \leq \frac{1}{2\mu}\lVert \nabla f(x) \rVert^2

証明. 定理 2.22 の 2 で x=0x = 0 とすると ff は強圧的とわかり、最小点をもつ(第1章 定理 1.11)。ff は凸関数と狭義凸関数 μ2∥x∥2\frac{\mu}{2}\lVert x \rVert^2 の和で狭義凸だから、最小点は一つ(定理 2.18)。∇f(x∗)=0\nabla f(x^{\ast}) = 0 を定理 2.22 の 2 と (2.2) に代入すると最初の不等式を得て、μ≤L\mu \leq L も従う。定理 2.22 の 2 の右辺は y=x−∇f(x)/μy = x - \nabla f(x)/\mu で最小値 f(x)−12μ∥∇f(x)∥2f(x) - \frac{1}{2\mu}\lVert \nabla f(x) \rVert^2 をとるので、f(x∗)≥f(x)−12μ∥∇f(x)∥2f(x^{\ast}) \geq f(x) - \frac{1}{2\mu}\lVert \nabla f(x) \rVert^2。左端の不等式は、定理 2.23 (c) で xx を x∗x^{\ast} に、yy を xx に置き換えて得られる。□\square

右端の不等式はポリャク–ロヤシェヴィチの不等式と呼ばれる。κ=L/μ\kappa = L/\mu(≥1\geq 1)を条件数 (condition number) という。第5章では、これらの不等式から勾配法の収束の速さを導き、κ\kappa が大きいほど遅いことを見る。

例 2.25(条件数の計算)(1) 12x⊤Qx−c⊤x\frac{1}{2}x^{\top}Qx - c^{\top}x(Q≻0Q \succ 0)では μ=λmin⁡(Q)\mu = \lambda_{\min}(Q), L=λmax⁡(Q)L = \lambda_{\max}(Q) で、等高線は軸の比が κ\sqrt{\kappa} の楕円である。(2) xx 座標 0,1,20, 1, 2 のデータに切片つきの直線をあてはめる最小二乗問題 12∥Ax−b∥2\frac{1}{2}\lVert Ax - b \rVert^2 では

A=(101112),∇2f=A⊤A=(3335)A = \begin{pmatrix} 1 & 0 \\ 1 & 1 \\ 1 & 2 \end{pmatrix}, \qquad \nabla^2 f = A^{\top}A = \begin{pmatrix} 3 & 3 \\ 3 & 5 \end{pmatrix}

で、固有値は 4±104 \pm \sqrt{10}、κ=(13+410)/3≈8.55\kappa = (13 + 4\sqrt{10})/3 \approx 8.55。リッジ正則化 λ2∥x∥2\frac{\lambda}{2}\lVert x \rVert^2 を加えると固有値がすべて λ\lambda 増え、λ=1\lambda = 1 で κ=(7+210)/3≈4.44\kappa = (7 + 2\sqrt{10})/3 \approx 4.44。(3) ロジスティック回帰の損失は、σ(1−σ)≤14\sigma(1 - \sigma) \leq \frac{1}{4} より ∇2ℓ⪯14A⊤A\nabla^2\ell \preceq \frac{1}{4}A^{\top}A(AA は ai⊤a_i^{\top} を行とする行列)で 14λmax⁡(A⊤A)\frac{1}{4}\lambda_{\max}(A^{\top}A)-平滑だが、∣t∣→∞\lvert t \rvert \to \infty で σ(t)(1−σ(t))→0\sigma(t)(1 - \sigma(t)) \to 0 なので一般には強凸でない。λ2∥x∥2\frac{\lambda}{2}\lVert x \rVert^2 を加えると λ\lambda-強凸になる。

ヒント

実務では 条件数は特徴量のスケールで大きく変わる。例 2.25 (2) で xx 座標を 100,101,102100, 101, 102 にすると κ≈1.6×108\kappa \approx 1.6 \times 10^{8} だが、平均を引いて −1,0,1-1, 0, 1 にすると A⊤A=diag⁡(3,2)A^{\top}A = \operatorname{diag}(3, 2), κ=1.5\kappa = 1.5 になる(AA の列空間は同じなので、あてはめた直線も同じ)。勾配法の反復回数は条件数に強く依存する(第5章)ので、特徴量の中心化・標準化は基本的な前処理である。リッジ正則化も条件数を改善するが、解そのものを変える。

2.8 劣勾配

ラッソの ∥x∥1\lVert x \rVert_1 やヒンジ損失は折れ目で微分できない。それでも凸関数には、勾配の代わりになる「下から支える一次関数」がある。

定義 2.26(劣勾配)CC を凸集合、f ⁣:C→Rf\colon C \to \mathbb{R} を凸関数、x∈Cx \in C とする。すべての y∈Cy \in C で f(y)≥f(x)+⟨g,y−x⟩f(y) \geq f(x) + \langle g, y - x \rangle を満たす gg を xx における劣勾配 (subgradient) といい、その全体 ∂f(x)\partial f(x)(閉凸集合である)を劣微分 (subdifferential) という。

定理 2.27 UU を開凸集合、f ⁣:U→Rf\colon U \to \mathbb{R} を凸関数とする。

  1. すべての x∈Ux \in U で ∂f(x)≠∅\partial f(x) \neq \emptyset である。
  2. ff が xx で微分可能なら、∂f(x)={∇f(x)}\partial f(x) = \lbrace \nabla f(x) \rbrace である。

証明. (1) epi⁡f\operatorname{epi} f は凸で、(x,f(x)−ε)∉epi⁡f(x, f(x) - \varepsilon) \notin \operatorname{epi} f より (x,f(x))(x, f(x)) はその内点でない。定理 2.10 より (a,β)≠(0,0)(a, \beta) \neq (0, 0) があって、すべての (y,s)∈epi⁡f(y, s) \in \operatorname{epi} f で a⊤y+βs≤a⊤x+βf(x)a^{\top}y + \beta s \leq a^{\top}x + \beta f(x)。s→∞s \to \infty として β≤0\beta \leq 0。β=0\beta = 0 なら a⊤(y−x)≤0a^{\top}(y - x) \leq 0(∀y∈U\forall y \in U)で、y=x+εay = x + \varepsilon a とすると a=0a = 0 となり矛盾。よって β<0\beta < 0 で、s=f(y)s = f(y) として ∣β∣\lvert \beta \rvert で割ると a/∣β∣∈∂f(x)a/\lvert \beta \rvert \in \partial f(x)。(xx が定義域の内点であることは外せない。開でない区間 [0,∞)[0, \infty) 上の凸関数 −x-\sqrt{x} は、端点 00 で劣勾配をもたない。)(2) 定理 2.14 の (1⇒2) の証明は xx での微分可能性しか使わないので ∇f(x)∈∂f(x)\nabla f(x) \in \partial f(x)。逆に g∈∂f(x)g \in \partial f(x) なら、任意の dd と t>0t > 0 で f(x+td)−f(x)≥t⟨g,d⟩f(x + td) - f(x) \geq t\langle g, d \rangle。tt で割って t→+0t \to +0 とすると ⟨∇f(x)−g,d⟩≥0\langle \nabla f(x) - g, d \rangle \geq 0 で、d=g−∇f(x)d = g - \nabla f(x) とすれば g=∇f(x)g = \nabla f(x)。□\square

例 2.28(劣微分の計算)(1) ∣x∣\lvert x \rvert:x≠0x \neq 0 で {sign⁡x}\lbrace \operatorname{sign} x \rbrace、x=0x = 0 で [−1,1][-1, 1]。(2) ∥x∥\lVert x \rVert:x≠0x \neq 0 で {x/∥x∥}\lbrace x/\lVert x \rVert \rbrace、x=0x = 0 で閉単位球(コーシー–シュワルツの不等式)。(3) ∥x∥1\lVert x \rVert_1:∥y∥1−∥x∥1−⟨g,y−x⟩=∑i(∣yi∣−∣xi∣−gi(yi−xi))\lVert y \rVert_1 - \lVert x \rVert_1 - \langle g, y - x \rangle = \sum_i(\lvert y_i \rvert - \lvert x_i \rvert - g_i(y_i - x_i)) と成分ごとに分かれるので、g∈∂∥x∥1g \in \partial\lVert x \rVert_1 は「xi≠0x_i \neq 0 なら gi=sign⁡xig_i = \operatorname{sign} x_i、xi=0x_i = 0 なら gi∈[−1,1]g_i \in [-1, 1]」と同値である。

定理 2.29(劣勾配による最適性条件)CC を凸集合、f ⁣:C→Rf\colon C \to \mathbb{R} を凸関数とする。x∗∈Cx^{\ast} \in C が最小点であるための必要十分条件は 0∈∂f(x∗)0 \in \partial f(x^{\ast}) である。

証明. 0∈∂f(x∗)0 \in \partial f(x^{\ast}) は、定義により「すべての y∈Cy \in C で f(y)≥f(x∗)f(y) \geq f(x^{\ast})」と同じことである。□\square

定理は定義の言い換えだが、劣微分が計算できれば強力である。劣勾配の不等式を足すと ∂f1(x)+∂f2(x)⊂∂(f1+f2)(x)\partial f_1(x) + \partial f_2(x) \subset \partial(f_1 + f_2)(x) がわかる(f1,f2f_1, f_2 が Rn\mathbb{R}^n 上の凸関数なら等号が成り立つ。モロー–ロッカフェラーの定理、主張のみ。Nesterov, Lectures on Convex Optimization などを参照)。

例 2.30(ソフト閾値)λ>0\lambda > 0 とし、f(x)=12(x−a)2+λ∣x∣f(x) = \frac{1}{2}(x - a)^2 + \lambda\lvert x \rvert を最小化する。x−a+λs=0x - a + \lambda s = 0 となる s∈∂∣⋅∣(x)s \in \partial\lvert \cdot \rvert(x) があれば、上の包含より 0∈∂f(x)0 \in \partial f(x) で xx は最小点である(ff は狭義凸なので一つ)。∣a∣>λ\lvert a \rvert > \lambda なら x=a−λsign⁡ax = a - \lambda\operatorname{sign} a(s=sign⁡as = \operatorname{sign} a)、∣a∣≤λ\lvert a \rvert \leq \lambda なら x=0x = 0(s=a/λs = a/\lambda)がこれを満たすので、最小点は

Sλ(a)=sign⁡(a)max⁡(∣a∣−λ,0)S_{\lambda}(a) = \operatorname{sign}(a)\max(\lvert a \rvert - \lambda, 0)

である(ソフト閾値関数, soft-thresholding。S2(3)=1S_2(3) = 1, S2(1)=0S_2(1) = 0)。∣a∣≤λ\lvert a \rvert \leq \lambda で解がちょうど 00 になることが、ラッソが 00 の多い(スパースな)解を与える理由であり、第5章の近接勾配法で使われる。

注意

g∈∂f(x)g \in \partial f(x) でも −g-g は降下方向とは限らない。f(x)=∣x1∣+2∣x2∣f(x) = \lvert x_1 \rvert + 2\lvert x_2 \rvert, x=(1,0)x = (1, 0) では g=(1,2)∈∂f(x)g = (1, 2) \in \partial f(x)(∣y1∣+2∣y2∣≥y1+2y2\lvert y_1 \rvert + 2\lvert y_2 \rvert \geq y_1 + 2y_2 による)だが、0<s<10 < s < 1 で f(x−sg)=1+3s>f(x)f(x - sg) = 1 + 3s > f(x)。劣勾配を使う反復法では値は単調に減るとは限らない。

2.9 共役関数(紹介)

空でない CC 上の関数 ff に対し、f∗(y)=sup⁡x∈C(⟨y,x⟩−f(x))∈(−∞,+∞]f^{\ast}(y) = \sup_{x \in C}(\langle y, x \rangle - f(x)) \in (-\infty, +\infty] を共役関数 (conjugate function) という。f∗f^{\ast} はアフィン関数の上限なので(値 +∞+\infty を許す意味で)凸であり、フェンシェル–ヤングの不等式 f(x)+f∗(y)≥⟨x,y⟩f(x) + f^{\ast}(y) \geq \langle x, y \rangle が成り立つ(ff が凸なら、等号は y∈∂f(x)y \in \partial f(x) のときに限る)。たとえば Q≻0Q \succ 0 なら 12x⊤Qx\frac{1}{2}x^{\top}Qx の共役は 12y⊤Q−1y\frac{1}{2}y^{\top}Q^{-1}y、exe^{x} の共役は y>0y > 0 で ylog⁡y−yy\log y - y、y=0y = 0 で 00、y<0y < 0 で +∞+\infty である。凸でエピグラフが閉じた ff では、CC の外で f=+∞f = +\infty とみなすと f∗∗=ff^{\ast\ast} = f が成り立つ(フェンシェル–モローの定理、主張のみ。Boyd–Vandenberghe, Convex Optimization 3.3 節)。共役関数はラグランジュ双対(第4章)に現れる。たとえば Ax=bAx = b のもとで f(x)f(x) を最小化するとき、f(x)+ν⊤(Ax−b)f(x) + \nu^{\top}(Ax - b) の xx についての下限は −b⊤ν−f∗(−A⊤ν)-b^{\top}\nu - f^{\ast}(-A^{\top}\nu) である。

まとめ

  • 凸集合の共通部分・アフィン像・逆像は凸。多面体・球・確率単体・半正定値行列の錐は凸である。
  • 閉凸集合への射影は存在して一意で、⟨x−p,y−p⟩≤0\langle x - p, y - p \rangle \leq 0 で特徴づけられ、非拡大である。
  • 点と閉凸集合、閉凸集合とコンパクト凸集合は強分離できる(コンパクト性は外せない)。有限次元では交わらない凸集合は超平面で分離でき(一方が開なら開集合の側は狭義の不等式)、内点でない点には支持超平面がある。
  • 開凸集合上の微分可能な ff が凸   ⟺  \iff f(y)≥f(x)+⟨∇f(x),y−x⟩f(y) \geq f(x) + \langle \nabla f(x), y - x \rangle   ⟺  \iff 勾配が単調、C2C^2 級なら   ⟺  ∇2f⪰0\iff \nabla^2 f \succeq 0。定義域が開であることは外せない。
  • 凸関数の局所最小は大域最小で、微分可能なら ∇f(x∗)=0\nabla f(x^{\ast}) = 0 が最小の必要十分条件(存在は別問題)。凸性は凸性を保つ演算で確かめる。
  • μ\mu-強凸   ⟺  ∇2f⪰μI\iff \nabla^2 f \succeq \mu I、凸で LL-平滑   ⟺  0⪯∇2f⪯LI\iff 0 \preceq \nabla^2 f \preceq LI(C2C^2 級の場合)。条件数 L/μL/\mu はスケーリングや正則化で変わる。
  • 開凸集合上の凸関数は劣勾配をもち、0∈∂f(x∗)0 \in \partial f(x^{\ast}) が最適性条件。12(x−a)2+λ∣x∣\frac{1}{2}(x - a)^2 + \lambda\lvert x \rvert の最小点はソフト閾値 Sλ(a)S_{\lambda}(a) である。

演習問題

問題 2.1 ★ 次の集合は凸か。(1) {x∈R2∣x1>0, x1x2≥1}\lbrace x \in \mathbb{R}^2 \mid x_1 > 0, \ x_1x_2 \geq 1 \rbrace (2) {x∈Rn∣∥x−a∥≤∥x−b∥}\lbrace x \in \mathbb{R}^n \mid \lVert x - a \rVert \leq \lVert x - b \rVert \rbrace(a≠ba \neq b) (3) {x∈R2∣x12−x22≤1}\lbrace x \in \mathbb{R}^2 \mid x_1^2 - x_2^2 \leq 1 \rbrace (4) {x∈Rn∣x⊤Px≤1}\lbrace x \in \mathbb{R}^n \mid x^{\top}Px \leq 1 \rbrace(P⪰0P \succeq 0)

解答

(1) 凸。x1>0x_1 > 0 なら x1x2≥1  ⟺  x2≥1/x1x_1x_2 \geq 1 \iff x_2 \geq 1/x_1 なので、凸関数 1/x1/x のエピグラフである(命題 2.13)。(2) 凸。両辺を 2 乗して展開すると閉半空間 2(b−a)⊤x≤∥b∥2−∥a∥22(b - a)^{\top}x \leq \lVert b \rVert^2 - \lVert a \rVert^2 になる。(3) 凸でない。(1.5,±1.2)(1.5, \pm 1.2) は属する(2.25−1.44≤12.25 - 1.44 \leq 1)が、中点 (1.5,0)(1.5, 0) は属さない。(4) 凸。凸関数 x⊤Pxx^{\top}Px(例 2.17)の下位集合である。

問題 2.2 ★ 次の関数は凸か。(1) f(x,y)=x2/yf(x, y) = x^2/y(y>0y > 0) (2) f(x)=max⁡ixi−min⁡ixif(x) = \max_i x_i - \min_i x_i (3) f(x,y)=xyf(x, y) = xy (4) f(x)=∥Ax−b∥1+λ∥x∥2f(x) = \lVert Ax - b \rVert_1 + \lambda\lVert x \rVert^2(λ≥0\lambda \geq 0)

解答

(1) 凸。開凸集合 {y>0}\lbrace y > 0 \rbrace 上で

∇2f=(2/y−2x/y2−2x/y22x2/y3)=2y3(y−x)(y−x)⪰0\nabla^2 f = \begin{pmatrix} 2/y & -2x/y^2 \\ -2x/y^2 & 2x^2/y^3 \end{pmatrix} = \frac{2}{y^3}\begin{pmatrix} y \\ -x \end{pmatrix}\begin{pmatrix} y & -x \end{pmatrix} \succeq 0

なので凸(定理 2.15)。(2) 凸。max⁡ixi\max_i x_i と −min⁡ixi=max⁡i(−xi)-\min_i x_i = \max_i(-x_i) は一次関数の最大(命題 2.20 の 3・1)。(3) 凸でない(f(t,−t)=−t2f(t, -t) = -t^2)。(4) 凸(命題 2.20 の 1・2)。

問題 2.3 ★★ f(x)=log⁡∑i=1nexif(x) = \log\sum_{i=1}^{n}e^{x_i} について ∇2f(x)=diag⁡(p)−pp⊤\nabla^2 f(x) = \operatorname{diag}(p) - pp^{\top}(pi=exi/∑jexjp_i = e^{x_i}/\sum_j e^{x_j})を確かめ、0⪯∇2f(x)⪯I0 \preceq \nabla^2 f(x) \preceq I を示せ。これから ff が凸かつ 11-平滑であることを結論し、ff が強凸でないことを示せ。

解答

∂if=pi\partial_if = p_i, ∂jpi=piδij−pipj\partial_jp_i = p_i\delta_{ij} - p_ip_j より ∇2f=diag⁡(p)−pp⊤\nabla^2 f = \operatorname{diag}(p) - pp^{\top}。pi>0p_i > 0, ∑ipi=1\sum_i p_i = 1 なので、コーシー–シュワルツの不等式より (∑ipivi)2=(∑ipi⋅pivi)2≤∑ipivi2(\sum_i p_iv_i)^2 = (\sum_i \sqrt{p_i} \cdot \sqrt{p_i}v_i)^2 \leq \sum_i p_iv_i^2 で、

0≤v⊤∇2f(x)v=∑ipivi2−(∑ipivi)2≤∑ipivi2≤max⁡ivi2≤∥v∥20 \leq v^{\top}\nabla^2 f(x)v = \sum_i p_iv_i^2 - \Bigl(\sum_i p_iv_i\Bigr)^2 \leq \sum_i p_iv_i^2 \leq \max_i v_i^2 \leq \lVert v \rVert^2

よって 0⪯∇2f⪯I0 \preceq \nabla^2 f \preceq I で、ff は凸(定理 2.15)かつ 11-平滑(定理 2.23 (2))。1=(1,…,1)⊤\mathbf{1} = (1, \dots, 1)^{\top} について ∇2f(x)1=p−p(p⊤1)=0\nabla^2 f(x)\mathbf{1} = p - p(p^{\top}\mathbf{1}) = 0 なので、∇2f⪰μI\nabla^2 f \succeq \mu I となる μ>0\mu > 0 はなく、強凸でない(定理 2.22)。実際 f(x+t1)=f(x)+tf(x + t\mathbf{1}) = f(x) + t は tt の一次関数である。

問題 2.4 ★★ 次の主張の誤りを、反例を挙げて指摘せよ。(a)「損失関数のヘッセ行列を初期点で計算したら半正定値だったので、この損失関数は凸である」。(b)「ff は (2.2) を L=1L = 1 で満たすので、∇f\nabla f は 1-リプシッツである」。(c)「ロジスティック回帰の損失は凸なので、勾配法で必ず最小点に収束する」。

解答

(a) 定理 2.15 はすべての点で ∇2f⪰0\nabla^2 f \succeq 0 を要求する。f(x)=x4−x2f(x) = x^4 - x^2 は f′′(1)=10>0f''(1) = 10 > 0 だが f′′(0)=−2<0f''(0) = -2 < 0 で、凸でない。(b) 凸でない関数では (2.2) からリプシッツ性は出ない(定理 2.23 の後の注意)。f(x)=−x2f(x) = -x^2 は (2.2) を L=1L = 1 で満たすが、f′(x)=−2xf'(x) = -2x は 1-リプシッツでない。(c) 凸性は最小点の存在を保証しない。完全に分離できるデータでは最小点がなく(第1章 例 1.13)、反復は発散する。λ2∥x∥2\frac{\lambda}{2}\lVert x \rVert^2 を加えれば強凸になり、最小点がただ一つ存在する(系 2.24)。

問題 2.5 ★★ (1) ヒンジ損失 h(t)=max⁡(0,1−t)h(t) = \max(0, 1 - t) の劣微分をすべての tt で求めよ。(2) x=(2,0,−1)x = (2, 0, -1) における ∂∥x∥1\partial\lVert x \rVert_1 を求めよ。(3) a=(3,−0.5,−2)a = (3, -0.5, -2) について f(x)=12∥x−a∥2+∥x∥1f(x) = \frac{1}{2}\lVert x - a \rVert^2 + \lVert x \rVert_1 の最小点を求め、0∈∂f(x∗)0 \in \partial f(x^{\ast}) を確かめよ。

解答

(1) t<1t < 1 で {−1}\lbrace -1 \rbrace、t>1t > 1 で {0}\lbrace 0 \rbrace(定理 2.27 (2))。g∈∂h(1)g \in \partial h(1) は「すべての ss で max⁡(0,1−s)≥g(s−1)\max(0, 1 - s) \geq g(s - 1)」と同値で、s>1s > 1 から g≤0g \leq 0、s<1s < 1 から g≥−1g \geq -1。よって ∂h(1)=[−1,0]\partial h(1) = [-1, 0]。

(2) 例 2.28 (3) より {(1,s,−1)∣−1≤s≤1}\lbrace (1, s, -1) \mid -1 \leq s \leq 1 \rbrace。

(3) ff は成分ごとの 12(xi−ai)2+∣xi∣\frac{1}{2}(x_i - a_i)^2 + \lvert x_i \rvert の和なので、例 2.30 より x∗=(S1(3),S1(−0.5),S1(−2))=(2,0,−1)x^{\ast} = (S_1(3), S_1(-0.5), S_1(-2)) = (2, 0, -1)。確認:x∗−a=(−1,0.5,1)x^{\ast} - a = (-1, 0.5, 1) に (2) の s=−0.5s = -0.5 の元 (1,−0.5,−1)(1, -0.5, -1) を足すと 00 なので、0∈(x∗−a)+∂∥x∗∥1⊂∂f(x∗)0 \in (x^{\ast} - a) + \partial\lVert x^{\ast} \rVert_1 \subset \partial f(x^{\ast}) で、定理 2.29 より x∗x^{\ast} は最小点である。

問題 2.6 ★★ ロジスティック損失 f(x)=log⁡(1+ex)f(x) = \log(1 + e^{x}) の共役関数 f∗f^{\ast} を求め、0≤y≤10 \leq y \leq 1 で f∗(y)=ylog⁡y+(1−y)log⁡(1−y)f^{\ast}(y) = y\log y + (1 - y)\log(1 - y)(0log⁡0=00\log 0 = 0 とする)、それ以外で +∞+\infty となることを示せ。

解答

f∗(y)=sup⁡xψ(x)f^{\ast}(y) = \sup_x \psi(x), ψ(x)=yx−log⁡(1+ex)\psi(x) = yx - \log(1 + e^{x}) とおく。ψ′(x)=y−σ(x)\psi'(x) = y - \sigma(x) で、σ\sigma は R\mathbb{R} から (0,1)(0, 1) への狭義単調増加な全単射である。0<y<10 < y < 1 なら ψ\psi は凹で、σ(x)=y\sigma(x) = y、すなわち x=log⁡y1−yx = \log\frac{y}{1 - y} で最大になり、log⁡(1+ex)=log⁡11−y\log(1 + e^{x}) = \log\frac{1}{1 - y} より

f∗(y)=ylog⁡y1−y+log⁡(1−y)=ylog⁡y+(1−y)log⁡(1−y)f^{\ast}(y) = y\log\frac{y}{1 - y} + \log(1 - y) = y\log y + (1 - y)\log(1 - y)

y=0y = 0 なら ψ(x)=−log⁡(1+ex)\psi(x) = -\log(1 + e^{x}) は負で、x→−∞x \to -\infty で 00 に近づくので f∗(0)=0f^{\ast}(0) = 0。y=1y = 1 なら ψ(x)=−log⁡(1+e−x)\psi(x) = -\log(1 + e^{-x}) で同様に f∗(1)=0f^{\ast}(1) = 0。y>1y > 1 なら x≥0x \geq 0 で ψ(x)≥(y−1)x−log⁡2→∞\psi(x) \geq (y - 1)x - \log 2 \to \infty、y<0y < 0 なら x≤0x \leq 0 で ψ(x)≥yx−log⁡2→∞\psi(x) \geq yx - \log 2 \to \infty(x→−∞x \to -\infty)なので f∗(y)=+∞f^{\ast}(y) = +\infty。−f∗-f^{\ast} はベルヌーイ分布のエントロピーであり、ロジスティック損失(交差エントロピー)とエントロピーが共役で結ばれている。

この章を読み終えたら

「読了」にすると、学習記録と地図に反映されます。

この章の誤りを報告GitHub で見る