Def: convex function
区間 \(I\) で定義された関数 \(f:I \to \mathbb R\) がconvex(凸関数)であるとは, 任意の \(0 < t < 1\) について
\[
f((1-t)x + ty) \leq (1 - t)f(x) + t f(y)\quad \forall x, y \in I, x \neq y
\]
strictly convexであるとは
\[
f((1-t)x + ty) < (1 - t)f(x) + t f(y)\quad \forall x, y \in I, x \neq y
\]
Def: concave function
区間 \(I\) で定義された関数 \(f:I \to \mathbb R\) がconcave(凹関数)であるとは, 任意の \(0 < t < 1\) について
\[
f((1-t)x + ty) \geq (1 - t)f(x) + t f(y)\quad \forall x, y \in I, x \neq y
\]
strictly concaveであるとは
\[
f((1-t)x + ty) > (1 - t)f(x) + t f(y)\quad \forall x, y \in I, x \neq y
\]
以下のような \(\exp(x), x^2, \vert x\vert\) などが凸関数の例です.
Code
import numpy as np
import plotly.express as px
import polars as pl
x = np.linspace(-1, 1, 100)
exp_x = np.exp(x)
squared_x = x**2
abs_x = abs(x)
df = pl.DataFrame({"x": x, "exp_x": exp_x, "squared_x": squared_x, "abs_x": abs_x})
fig = px.line(df, x="x", y=["exp_x", "squared_x", "abs_x"], title='example: convex fucntions')
newnames = {"exp_x": "exp(x)", "squared_x": "x^2", "abs_x": "abs(x)"}
fig.for_each_trace(
lambda t: t.update(
name=newnames[t.name],
hovertemplate=t.hovertemplate.replace(t.name, newnames[t.name]),
)
)
fig.show()
また, \(\ln(x), \sqrt{x}\) やconvext関数に \(-1\) を掛けたものは凹関数の例となります.
Code
x = np.linspace(0.05, 1.5, 100)
ln_x = np.log(x)
sqrt_x = np.sqrt(x)
squared_x = -(x**2)
df = pl.DataFrame({"x": x, "ln_x": ln_x, "sqrt_x": sqrt_x, "squared_x": squared_x})
fig = px.line(
df, x="x", y=["ln_x", "sqrt_x", "squared_x"], title="example: concave fucntions"
)
newnames = {"ln_x": "log(x)", "sqrt_x": "sqrt(x)", "squared_x": "-x^2"}
fig.for_each_trace(
lambda t: t.update(
name=newnames[t.name],
hovertemplate=t.hovertemplate.replace(t.name, newnames[t.name]),
)
)
fig.show()
Theorem F.1
関数 \(f\) が区間 \([a, b]\) で連続で \((a, b)\) で2回微分可能とする.このとき, 関数 \(f\) が凸関数であることの必要十分条件は
\[
f^{\prime\prime}(x) \geq 0 \quad \forall x\in (a, b)
\]
Theorem F.2 : Subgradient Inequality
関数 \(f\) が区間 \([a, b]\) で凸関数であり,微分可能とする.このとき以下が成立する
\[
f(y) \geq f(x) + f^{\prime}(x)(y-x) \quad \forall x, y\in (a, b)
\]
Theorem F.3 Jensen’s Inequality
\(\mathbb E[X] = \mu < \infty\) 及び \(I \subset \mathbb R\) をサポートとする確率変数 \(X\) について,\(g:I\to \mathbb R\) というconvex functionを考える.\(g\) が 区間 \(I\) で微分可能としたとき,
\[
\mathbb E[g(X)] \geq g(\mathbb E[X])
\]
\(g\) がstrictly convexの場合,\(X\) がdegenerateであることの必要十分条件は \(\mathbb E[g(X)] = g(\mathbb E[X])\).
\(g(\cdot)\) がconcaveの場合は,\(\mathbb E[g(X)] \leq g(\mathbb E[X])\) が成立する.
\(g(\cdot)\) はconvex functionなので,
\[
g(X) \geq g(\mu) + g^\prime(\mu)(X - \mu)
\]
両辺について期待値をとると,
\[
\begin{align*}
\mathbb E[g(X)] &\geq g(\mathbb E[X]) + g^\prime(\mu)(\mathbb E[X] - \mu)\\
&= g(\mathbb E[X])
\end{align*}
\]
Example F.1
確率変数 \(X >0\) がnon-degenerateであるとき,Jensen’s inequalityより \(g(x) = 1/x\) はstrictly convexなので
\[
\mathbb E\left[\frac{1}{X}\right] > \frac{1}{\mathbb E[X]}
\]
\[\tag*{\(\blacksquare\)}\]
Example F.2 : 不偏分散と標準偏差
確率変数 \(X\) について,\(\operatorname{Var}(X) = \sigma^2\) とする.母集団に対してランダムサンプリングを実施し,そこから得られた サンプルから不偏分散 \(s^2\) を得たとする.つまり,
\[
\mathbb E[s^2] = \sigma^2
\]
このとき,\(\mathbb E[s] \neq \sigma\) となってしまう.なぜなら,\(h(x) = \sqrt{x}\) としたとき, 関数 \(h\) はstrictly concaveのため,Jensen’s inequalityより
\[
\begin{gather*}
\mathbb E[h(s^2)] < h(\mathbb E[s^2])\\
\Rightarrow \mathbb E[S] < \sigma
\end{gather*}
\]
\[\tag*{\(\blacksquare\)}\]