凸関数とは? ~性質と具体例~

最終更新 2019年 10月 6日
下に凸な関数
  任意の $x_{1}, x_{2}$ に対し、 関数 $f(x)$ が
下に凸な関数
を満たすとき、 下に凸な関数 (convex function) という。

どんな関数か?
  $x_{1} < x_{2}$ の場合を考える。
と置くと、
である。これを用いると、 $f(x)$ が下に凸な関数であるならば、
が成り立つ。
  最後の不等式の右辺は、 関数 $f(x)$ 上の任意の二点
を結ぶ直線を表している。 また、 $ 0 < t < 1 $ であるので、
である。
  したがって、 下に凸な関数 $f(x)$ とは、 $x_{1} < x < x_{2} $ の範囲において、 点 $(x_{1}, \hspace{1mm} f(x_{1}))$ と 点 $(x_{2}, \hspace{1mm} f(x_{2}))$ を結ぶ直線上の値以下の値をとる関数である (下図)。
下に凸な関数のグラフ
$x_{1}$ と $x_{2}$ が任意であるから、下に凸な関数を次のように言い表してもよい。 すなわち、 下に凸な関数とは、 関数上のどんな二点を結ぶ直線よりも下側にある関数である。
具体例: (下に凸)
  関数
下に凸な関数の例
下に凸な関数である。

証明:
  任意の $x_{1}$ と $x_{2}$ と $ 0 < t <1 $ を満たす $t$ に対して、
が成り立つので、
である。 したがって、$f(x) = x^2$ は下に凸な関数である。

上に凸な関数
  任意の $x_{1}, x_{2}$ に対し、 関数 $f(x)$ が
上に凸な関数
を満たすとき、 上に凸な関数 (concave function) という。

どんな関数か?
  $x_{1} < x_{2}$ の場合を考える。
と置くと、
である。 $f(x)$ が 上に凸な関数であるならば、 定義より、
が成り立つ。
  最後の不等式の右辺は、 関数 $f(x)$ 上の任意の二点
を結ぶ直線を表している。 また、 $ 0 < t < 1 $ であるので、
である。
  したがって、 上に凸な関数 $f(x)$ とは、 $x_{1} < x < x_{2} $ の範囲において、 点 $(x_{1}, \hspace{1mm} f(x_{1}))$ と 点 $(x_{2}, \hspace{1mm} f(x_{2}))$ を結ぶ直線上の値以上の値をとる関数である (下図)。
上に凸な関数のグラフ
$x_{1}$ と $x_{2}$ が任意であるから、上に凸な関数を次のように言い表してもよい。 すなわち、 上に凸な関数とは、 関数上のどんな二点を結ぶ直線よりも上側にある関数である。
具体例: (上に凸)
  関数
上に凸な関数である。

証明:
  任意の $x_{1}$ と $x_{2}$ と $ 0 < t <1 $ を満たす $t$ に対して、
が成り立つので、
である。 したがって、$f(x) = -x^2$ は上に凸な関数である。



同値条件

下に凸 $\hspace{1mm} \Longleftrightarrow \hspace{1mm}$ 行列式 $\geq 0$
  $x_{1} < x < x_{2}$ であるとき、
が成り立つ。 ここで $|\cdot|$ は 行列式である。

証明:
  はじめに
$$ \tag{1} $$ であることから、
$$ \tag{2} $$ と置く。 $f(x)$ が下に凸な関数であることから、
が成り立つ。 $(1)$ $(2)$ より、
が成り立つ。 (下に凸な関数の定義を参考)。

下に凸 $\hspace{1mm} \Longleftrightarrow \hspace{1mm}$ 3直線の傾きの関係
  $x_{1} < x < x_{2}$ であるとき、
が成り立つ (下図参考)。

証明:
  $x_{1} < x < x_{2}$ であることから、
$$ \tag{1} $$ と置くと、
である。 したがって、 下に凸な関数の定義から、
が成り立つ。 同じように、$(1)$ より
であるから、
が成り立つ。 以上から、
が成り立つ。

下に凸 $\hspace{1mm} \Longleftrightarrow \hspace{1mm}$ $\small f''(x) \geq 0$
  $f(x)$ が下に凸な関数であることと、$f(x)$ の二階の微分が $0$ 以上であることは、 必要十分条件である。すなわち、
が成り立つ。

証明:
 
$ f(x) \hspace{1mm} \small{が下に凸} \hspace{1mm} \Longrightarrow \hspace{1mm} f''(x) \geq 0 $
  $f(x)$ が下に凸な関数とすると、
$$ \tag{1} $$ を満たす $x_{1}, x, x_{2}$ に対して、
が成り立つ (下に凸⇔3直線の傾きの関係を参考)。 これより、
が成り立つが、 $(1)$ より、
であるので、
が成り立つ。 微分の定義より、
である。これより、
であるので、
である。 $x_{1}$ は任意であるので、 下に凸の関数 $f(x)$ の二階微分が $0$ 以上であることが示された。
$ f(x) \hspace{1mm} \small{が下に凸} \hspace{1mm} \Longleftarrow \hspace{1mm} f''(x) \geq 0 $
 
$$ \tag{1} $$ を満たす $x_{1}, x, x_{2}$ に対して 平均値の定理を適用すると、
$$ \tag{2} $$ を満たす $c$ と $d$ がそれぞれ
$$ \tag{3} $$ の範囲に存在する。
  $f''(x) \geq 0$ であるならば、 $f'(x)$ は単調増加関数である (微分が0以上 ⇒ 単調増加関数を参考)。 $(3)$ より $c < d $ であるので、
が成り立つ。 これと $(2)$ より、
$$ \tag{4} $$ である。 $x$ が $(1)$ の範囲であることから、 パラメータ $t$ を用いて、
と表し、
であることを用いて、 $(4)$ を書き直すと、
を得る。 最後の関係は関数 $f(x)$ が下に凸であることを表している。

補足: 上に凸に対する同値条件
  下に凸な関数に対して成り立つ同値関係と同様の関係が上に凸な関数にもある。
ここで $x_{1} < x < x_{2}$ とした。 また、証明は下に凸の場合と同様である。
補足: 名称について
  下に凸な関数は単に凸関数と呼ばれることがあり、 上に凸な関数は凹関数と呼ばれることがある。 漢字の形と関数の形がマッチしないので、 混乱を招くことが多い。
  英語では下に凸な関数を convex function といい、 上に凸な関数を concave function というので、 このような混乱は起こらない。