0
大学数学基礎解説
文献あり

凸関数の性質

469
0
$$$$

はじめに

主成分分析を勉強している中で, 最小性について気になったのでまとめた.
一通り書いた後に凸関数使わなくてもいけるなと思ったけど備忘録.

ゴールは次の命題である((1), (2)は同じことを述べている).

お気持ち命題
  1. $C^2$級凸関数において, 最小値を求めたければ微分して0となる点を求めればよい.
  2. $f:\mathbb{R}^n\rightarrow \mathbb{R}$$C^2$級で$H_f$が半正定値なら, 最小値を求めたければ微分して0となる点を求めればよい.

微分して0になる点を停留点と呼ぶが、一般に停留点は極値点になるとは限らない.
極値であっても極大値か極小値かは分からないし、最大値か最小値かはもっと分からない.
しかし上に挙げた条件を満たせば, 停留点は直ちに最小値を取る点になる(すごい).

凸関数の定義

  1. $f: \mathbb{R}^n\rightarrow \mathbb{R}$が凸関数であるとは,
    任意の$ u, v\in\mathbb{R}^n, \lambda\in(0, 1)$に対し, 以下が成り立つ:
    \begin{align*} f((1 − \lambda)u + \lambda v) ≤ (1 − \lambda)f(u) + \lambda f(v) \end{align*}
  2. $f: \mathbb{R}^n\rightarrow \mathbb{R}$が狭義凸関数であるとは,
    任意の$u\neq v\in\mathbb{R}^n, \lambda\in(0, 1)$に対し, 以下が成り立つ:
    \begin{align*} f((1 − \lambda)u + \lambda v) < (1 − \lambda)f(u) + \lambda f(v) \end{align*}

一変数における判定条件

一変数凸関数には次の判定条件がある.

$f:\mathbb{R}\rightarrow \mathbb{R}がC^2$級であるとき, 以下は同値.
(1) $f$: 凸関数
(2) $f'$: 非減少関数, すなわち$\forall t_1\leq t_2 \in \mathbb{R}, f'(t_1) \leq f'(t_2)$
(3) $\forall t\in\mathbb{R}, f''(t)\geq 0$

証明の流れは主に凸関数に倣う.
(1)$\Rightarrow$(2). $t_1 < t_2$に対し, $\forall x\in (t_1, t_2)$について, $x=(1-\lambda) t_1 + \lambda t_2, (\exists\lambda \in(0,1))$と表せることに注意する. 実際, $\forall x\in (t_1, t_2)$について, $\exists s \in (0, t_2-t_1), x = t_1+s$. これより $\lambda = \frac{s}{t_2-t_1} \in (0, 1)$とおけばよい. このとき,
\begin{align*} \frac{f(x)-f(t_1)}{x-t_1} &= \frac{f((1-\lambda)t_1 + \lambda t_2) - f(t_1)}{((1-\lambda)t_1 + \lambda t_2)-t_1} \\ &\leq \frac{((1-\lambda) f(t_1) + \lambda f(t_2)) - f(t_1)}{\lambda(t_2-t_1)} = \frac{\lambda(f(t_2)-f(t_1))}{\lambda(t_2-t_1)} = \frac{f(t_2)-f(t_1)}{t_2-t_1} \end{align*}
$x\rightarrow t_1$として, $f'(t_1)\leq \frac{f(t_2)-f(t_1)}{t_2-t_1}$. 同様に
\begin{align*} \frac{f(t_2)-f(x)}{t_2-x} \geq \frac{f(t_2)-f(t_1)}{t_2-t_1} \end{align*}
$x\rightarrow t_2$として, $f'(t_2) \geq \frac{f(t_2)-f(t_1)}{t_2-t_1}$. よって, $f'(t_1)\leq f'(t_2)$より$f'$は非減少である.
(2)$\Rightarrow$(3). 明らか. 実際に$x< y$について$f'(x)\leq f'(y)$より,
\begin{align*} \frac{f'(y)-f'(x)}{y-x} \geq 0. \end{align*}
$y\rightarrow x$とすれば$f''(x)\geq 0$を得る.
(3)$\Rightarrow$(1). テイラーの定理(杉浦解析I, 定理2.10)により, $\forall z, w \in \mathbb{R}, \ \exists c \in \mathbb{R}, \text{s.t.}$
\begin{align*} f(w) = f(z) + f'(z) (w - z) + f''(c) \frac{(w-z)^2}{2}. \end{align*}
$f''(c)\geq 0$から,
$$ f(w) \geq f(z) + f'(z)(w-z). $$
特に$w=a, b, z=(1-t)a + tb, t \in (0,1)$について,
$$ \begin{align} f(a) \geq f(z) + f'(z)(a-z) \\ f(b) \geq f(z) + f'(z)(b-z). \end{align} $$
が成り立つ. このとき,
\begin{align} (1-t)f(a) + tf(b) &\geq (1-t)\{f(z) + f'(z)(a-z)\} + t\{f(z) + f'(z)(b-z)\} \\ &= \{f(z) + f'(z)(a-z)\} + t\{-\{f(z) + f'(z)(a-z)\} + \{f(z) + f'(z)(b-z)\}\} \\ &= \{f(z) + f'(z)(a-z)\} + tf'(z)\{-(a-z) + (b-z)\} \\ &= f(z) + f'(z)\{a - \{(1-t)a+tb\}\} + tf'(z)(b-a) \\ &= f(z) + f'(z)t(a-b) + tf'(z)(b-a) \\ &= f(z) \\ &= f((1-t)a + tb). \end{align}
よって定義より$f$は凸関数である.

狭義凸関数についても一部類似の命題が成り立つ. (スキップしてもゴールの命題には影響ない)

$f:\mathbb{R}\rightarrow \mathbb{R}がC^2$級とする. 命題
(1) $f$: 狭義凸関数
(2) $f'$: 狭義単調増加関数, すなわち$\forall t_1< t_2\in \mathbb{R}, f'(t_1)< f'(t_2)$
(3) $\forall t\in\mathbb{R}, f''(t)> 0$
に対し, (1)$\Leftrightarrow$(2), (3)$\Rightarrow$(1)が成り立つ.

(1)$\Rightarrow$(2). 狭義凸関数は凸関数であるから, 命題2より$f'$は非減少. $\exists t_1 < t_2$で, $f'(t_1)=f'(t_2)$とすると, $f'$の非減少性から$\forall x\in [t_1, t_2], f'(x)=f'(t_1)$. すなわち$[t_1, t_2]$上で$f'$は定数. よって$(t_1, t_2)$上で$f'' = 0$. これよりテイラーの定理を用いると$\forall x \in (t_1, t_2]\subset \mathbb{R}, \exists c \in (t_1, x)\subset (t_1, t_2)$,
\begin{align*} f(x)&=f(t_1)+f'(t_1)(x-t_1) + \frac{1}{2!}f''(c)(x-t_1)^2 \\ &= f(t_1) + f'(t_1)(x-t_1) \\ \therefore f'(t_1) &= \frac{f(x)-f(t_1)}{x-t_1} \end{align*}
さて任意の$x=(1-\lambda)t_1+\lambda t_2, (\lambda\in (0, 1))$に対して, 狭義凸性から
\begin{align*} f(x)&<(1-\lambda)f(t_1) + \lambda f(t_2). \end{align*}
このとき,
\begin{align*} f'(t_1) &= \frac{f(x)-f(t_1)}{x-t_1} < \frac{(1-\lambda)f(t_1) + \lambda f(t_2) - f(t_1)}{(1-\lambda)t_1+\lambda t_2 - t_1} \\ &= \frac{\lambda(f(t_2)-f(t_1))}{\lambda(t_2-t_1)} = \frac{f(t_2)-f(t_1)}{t_2-t_1}=f'(t_1) \end{align*}
これは矛盾. よって$f'$は狭義単調増加.
(2)$\Rightarrow$(1). 対偶で示す.
\begin{align*} \exists x\neq y\in\mathbb{R}, \lambda\in(0,1), f((1-\lambda)x+\lambda y) = (1-\lambda)f(x)+\lambda f(y) \end{align*}
とする. 必要なら$\lambda' = 1-\lambda$とおくことで$x< y$としてよい. $c=(1-\lambda)x+\lambda y $とおくと, $\frac{f(y)-f(x)}{y-x} = \frac{f(c)-f(x)}{c-x}$が成り立つ.
ここで, 平均値の定理(杉浦解析I, 定理2.3)よりそれぞれ
\begin{align*} &\exists t_1\in (x, y), f'(t_1) = \frac{f(y)-f(x)}{y-x} \\ &\exists t_2\in (x, c), f'(t_2) = \frac{f(c)-f(x)}{c-x} \\ &\exists t_3\in (c, y), f'(t_3) = \frac{f(y)-f(c)}{y-c} \end{align*}
が成り立ち, $f'(t_1)=f'(t_2)$である. $f'(t_1)$を変形すると,
\begin{align*} f'(t_1) = \frac{f(y)-f(x)}{y-x} &= \frac{(f(y)-f(c))+(f(c)-f(x))}{y-x} \\ &= \frac{f(y)-f(c)}{y-x} + \frac{f(c)-f(x)}{c-x}\cdot\frac{c-x}{y-x} \end{align*}
したがって,
\begin{align*} \frac{f(y)-f(c)}{y-x} + f'(t_2)\cdot\frac{c-x}{y-x} &= f'(t_2)\\ \frac{f(y)-f(c)}{y-x} &= f'(t_2)(1-\frac{c-x}{y-x}) \\ f(y)-f(c) &= f'(t_2)((y-x)-(c-x)) = f'(t_2)(y-c) \\ \frac{f(y)-f(c)}{y-c} &= f'(t_2) \\ f'(t_3) &= f'(t_2) \end{align*}
ここで$t_2< t_3$であるから$f'$は狭義単調増加でない.
(3)$\Rightarrow$(1). 命題2の(3)$\Rightarrow$(1)と同様にして, $\forall z\neq w \in \mathbb{R}$,
$$ f(w) > f(z) + f'(z)(w-z) $$
が成り立つ. あとは同様.

命題3において一般に(2)$\Rightarrow$(3)は成り立たない.
実際に$f(x)=x^4$を考えると, $f'(x)=4x^3$は狭義単調増加だが, $f''(x)=12x^2でf''(0)=0$となる.

続いて凸関数とヘッセ行列の関係性をみる.

ヘッセ行列と半正定値

ヘッセ行列

$f:\mathbb{R}^n\rightarrow \mathbb{R}$$C^2$級のとき, 2回偏導関数を成分に持つ行列
\begin{align*} H_f(x) = \left(\frac{\partial^2 f}{\partial x_i \partial x_j}(x)\right) \end{align*}
をヘッセ行列と呼ぶ.

半正定値・正定値

$B$: $n$次対称行列に対し, 二次形式$Q: \mathbb{R}^n\rightarrow \mathbb{R}, x \mapsto x^tBx$を考える.
(1) $B$:半正定値 $\overset{\text{def}}{\Leftrightarrow}\forall x\in \mathbb{R}^n, Q(x) \geq 0$.
(2) $B$:正定値 $\overset{\text{def}}{\Leftrightarrow}0\neq\forall x\in \mathbb{R}^n, Q(x) > 0$.

凸関数とヘッセ行列には次の関係性がある.

$f:\mathbb{R}^n\rightarrow \mathbb{R}$に対し, 次が成り立つ.
(1) $f$:凸関数$\Leftrightarrow$$\forall u\in \mathbb{R}^n$, ヘッセ行列$H_f(u)$: 半正定値
(2) $f$:狭義凸関数$\Leftarrow$$\forall u\in \mathbb{R}^n$, ヘッセ行列$H_f(u)$: 正定値

  1. $\forall b, c \in \mathbb{R}^n$に対し一変数関数$h_{b, c}$
    \begin{align*} h_{b, c}: \mathbb{R} \rightarrow \mathbb{R}, t \mapsto f((1-t)b + tc) \end{align*}
    で定める(以降添え字を省略してたりする). まず次が成り立つ.
    $f$:凸関数${\iff}$$\forall b, c \in \mathbb{R}^n, h_{b, c}$:$C^2$級凸関数
    証明

    $(\Rightarrow)$. $\forall t_1, t_2\in\mathbb{R}, \lambda\in(0, 1)$,
    \begin{align*} & h_{b, c}((1-\lambda) t_1 + \lambda t_2) \\ &= f(\{1-((1-\lambda) t_1 + \lambda t_2)\}b + ((1-\lambda) t_1 + \lambda t_2)c) \\ &= f((1-\lambda)(-t_1b+t_1c) + \lambda(-t_2b + t_2c) + b) \\ &= f((1-\lambda)((1-t_1)b+t_1c) + \lambda ((1-t_2)b+t_2c)) \\ &\leq (1-\lambda) f((1-t_1)b+t_1c) + \lambda f((1-t_2)b+t_2c) \\ &= (1-\lambda) h_{b, c}(t_1) + \lambda h_{b, c}(t_2) \end{align*}
    よって, $h_{b, c}$は凸関数. また$f$$C^2$級であることから$h_{b, c}$$C^2$級.
    $(\Leftarrow)$. $\forall b, c \in \mathbb{R}^n$に対して, $h_{b, c}$を考えると$h_{b, c}(0)=f(b), h_{b, c}(1)=f(c)$より, $\forall t\in (0, 1)$,
    \begin{align*} f((1-t)b + tc) = h_{b, c}(t) &= h_{b, c}((1-t)\cdot0 + t\cdot1) \\ &\leq (1-t)h_{b, c}(0) + th_{b, c}(1) \\ &= (1-t)f(b) + tf(c) \end{align*}
    よって, $f$は凸関数.


    また命題2より,
    \begin{align*} \forall b, c \in \mathbb{R}^n, h_{b, c}:C^2\text{級凸関数}\iff\forall b, c \in \mathbb{R}^n, t\in \mathbb{R}, h''_{b, c}(t) \geq 0 \end{align*}
    さらに任意の$ b, c \in \mathbb{R}^n, t\in\mathbb{R}$に対し, $ u=c-b, y=(1-t) b + t c$と置くと, $h_{b, c}''(t) = u^T H_f(y) u$が成り立つ. 実際,
    \begin{align*} g_{b, c}: \mathbb{R} \rightarrow \mathbb{R}^n, t\mapsto (1-t)b + tc \end{align*}
    とおくと, $h = f\circ g$と書ける. $g_i = \pi_i\circ g$$i$番目の射影, $y=g(t)$とおくと, $h'(t), h''(t)$は連鎖率によって,
    \begin{align*} h'(t) &= f'(y)\cdot g'(t) \\ &= \begin{bmatrix} \frac{\partial f}{\partial x_1} & \cdots & \frac{\partial f}{\partial x_n} \end{bmatrix} \begin{bmatrix} \frac{\partial g_1}{\partial t} \\ \vdots \\ \frac{\partial g_n}{\partial t} \end{bmatrix} \\ &= \sum_i (c_i-b_i)\frac{\partial f}{\partial x_i}(y) = \sum_i (c_i-b_i)\frac{\partial f}{\partial x_i}\circ g(t) \\ h''(t) &= \sum_i (c_i-b_i)\left(\frac{\partial f}{\partial x_i}\circ g(t)\right)' \\ &= \sum_i (c_i-b_i) \begin{bmatrix} \frac{\partial f}{\partial x_i\partial x_1} & \cdots & \frac{\partial f}{\partial x_i\partial x_n} \end{bmatrix} \begin{bmatrix} c_1-b_1 \\ \vdots \\ c_n-b_n \end{bmatrix} \\ &= \sum_i (c_i-b_i)\sum_j (c_j-b_j)\frac{\partial f}{\partial x_i\partial x_j}(y) \\ &= \sum_{i, j} (c_i-b_i)(c_j-b_j)\frac{\partial f}{\partial x_i\partial x_j}(y) \\ &= u^T H_f(y) u \end{align*}
    よって,
    \begin{align*} \forall b, c \in \mathbb{R}^n, h''_{b, c}(t)\geq 0 \Leftrightarrow \forall y \in \mathbb{R}^n, H_f(y): \text{半正定値} \end{align*}
    $(\Rightarrow)$. $\forall y, u\in \mathbb{R}^n$に対し$t=0, b=y, c=y+u$とおくと, $0\leq h''_{b, c}(t) = u^TH_f(y)u$. よって任意の$y\in \mathbb{R}^n$に対し, $H_f(y)$は半正定値.
    $(\Leftarrow)$. 明らか.
    以上をまとめて(1)を得る.
  2. $h''_{b, c}(t) = u^T H_f(y) u$であることから同様に
    \begin{align*} \forall b\neq c \in \mathbb{R}^n, h''_{b, c}(t)> 0 \Leftrightarrow \forall y \in \mathbb{R}^n, H_f(y): \text{正定値} \end{align*}
    が成り立つ. よって同様にして$H_f(y)$が正定値なら命題3と合わせて, $f$は狭義凸.

凸関数の最小性に関する性質

  1. $C^2$級凸関数における停留点は最小点
  2. 狭義凸関数において最小値を持てばただ一つ
  1. 多変数のテイラーの定理(杉浦解析I, 定理7.2) より, $\forall y, x\in\mathbb{R}^n, h := y-x, \exists \theta \in (0,1) \;\text{s.t.}$
    \begin{align*} f(y) &= f(x) + (df)_x(h) + \frac{1}{2!}(d^2f)_{(x+\theta h)}(h) \\ &= f(x) + f'(x)h + h^T H_f(x+\theta h)h \end{align*}
    命題3(1)より凸関数のヘッセ行列は半正定値であるから$h^T H_f(x+\theta h)h\geq 0$. よって,
    \begin{align*} f(y) \geq f(x) + f'(x)h \end{align*}
    ここで$x$$f$の停留点とすると$f'(x)=0$から$f(y)\geq f(x)$を得る.
    したがって, $f$$x$において最小値を取り$x$は最小点である.

  2. $f$$x, y \; (x\neq y)$において最小値$f(x)=f(y)$を取るとする. 狭義凸性から$\forall \lambda \in (0, 1)$,
    \begin{align*} f((1-\lambda)x+\lambda y) < (1-\lambda)f(x)+\lambda f(y) = f(x) \end{align*}
    これは$f(x)$の最小性に矛盾. よって最小値を取る点は唯一つ.

命題5

$f:C^2$級で$H_f$:半正定値なら, $f$の停留点は$f$の最小点.

命題3(1)から直ちに従う. (というか命題4の証明は半正定値であることを用いている).

まとめ

以上よりゴールとなるお気持ちの系を得る.

命題5
  1. $C^2$級凸関数において, 最小値を求めたければ微分して0となる点を求めればよい.
  2. $f:\mathbb{R}^n\rightarrow \mathbb{R}$$C^2$級で$H_f$が半正定値なら, 最小値を求めたければ微分して0となる点を求めればよい.

ちなみに関連話題としてvariantcovariantにあるように分散共分散行列が半正定値というのがあるらしい. これについては今後書き留めたい.

参考文献

投稿日:20241224
更新日:313
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

Rinake
1
519

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. はじめに
  2. 凸関数の定義
  3. 一変数における判定条件
  4. ヘッセ行列と半正定値
  5. 凸関数の最小性に関する性質
  6. まとめ
  7. 参考文献