主成分分析を勉強している中で, 最小性について気になったのでまとめた.
一通り書いた後に凸関数使わなくてもいけるなと思ったけど備忘録.
ゴールは次の命題である((1), (2)は同じことを述べている).
微分して0になる点を停留点と呼ぶが、一般に停留点は極値点になるとは限らない.
極値であっても極大値か極小値かは分からないし、最大値か最小値かはもっと分からない.
しかし上に挙げた条件を満たせば, 停留点は直ちに最小値を取る点になる(すごい).
一変数凸関数には次の判定条件がある.
$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)$: 正定値
$(\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$は凸関数.
多変数のテイラーの定理(杉浦解析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$は最小点である.
$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)$の最小性に矛盾. よって最小値を取る点は唯一つ.
$f:C^2$級で$H_f$:半正定値なら, $f$の停留点は$f$の最小点.
命題3(1)から直ちに従う. (というか命題4の証明は半正定値であることを用いている).
以上よりゴールとなるお気持ちの系を得る.
ちなみに関連話題としてvariantcovariantにあるように分散共分散行列が半正定値というのがあるらしい. これについては今後書き留めたい.