WIIS

凸関数・凹関数

エピグラフやハイポグラフを用いた多変数の凸関数・凹関数の判定

目次

Twitter
Mailで保存

エピグラフを用いた多変数の凸関数の判定

凸集合上に定義された多変数関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)が凸関数であることは、\begin{equation*}\forall x,y\in X,\ \forall \lambda \in \left[ 0,1\right] :\lambda f\left(
x\right) +\left( 1-\lambda \right) f\left( y\right) \geq f\left( \lambda
x+\left( 1-\lambda \right) y\right)
\end{equation*}が成り立つこととして定義されますが、定義にもとづいて関数が凸であることを示す作業は煩雑になりがちです。ただ、関数\(f\)が\(C^{1}\)級である場合、\begin{equation*}\forall x,y\in X:f\left( y\right) \geq \nabla f\left( x\right) \cdot \left(
y-x\right) +f\left( x\right)
\end{equation*}が成り立つことは\(f\)が凸関数であるための必要十分条件であり、さらに、関数\(f\)が\(C^{2}\)級である場合、任意の点\(x\in X\)における\(F\)のヘッセ行列が半正定値(非負定値)であることは\(f\)が凸関数であるための必要十分条件です。では、関数\(f\)が偏微分可能でない場合、\(f\)が凸関数であることを簡単に判定する方法はあるのでしょうか。

凸集合上に定義された多変数関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)のグラフは、\begin{equation*}G\left( f\right) =\left\{ \left( x,y\right) \in X\times \mathbb{R} \ |\ y=f\left( x\right) \right\}
\end{equation*}と定義される\(\mathbb{R} ^{n+1}\)の部分集合であるため、空間\(\mathbb{R} ^{n+1}\)は\(G\left( f\right) \)を境に2つの領域に分割されます。特に、\begin{equation*}\mathrm{epi}\left( f\right) =\left\{ \left( x,y\right) \in X\times \mathbb{R} \ |\ y\geq f\left( x\right) \right\}
\end{equation*}を関数\(f\)のエピグラフ(epigraph)と呼びます。定義より、\begin{equation*}G\left( f\right) \subset \mathrm{epi}\left( f\right)
\end{equation*}という関係が成り立ちます。

関数のエピグラフが凸集合であることは、その関数が凸関数であるための必要十分条件です。

命題(エピグラフを用いた凸関数の判定)
凸集合上に定義された関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)のエピグラフ\(\mathrm{epi}\left(f\right) \)が凸集合であることは、\(f\)が凸関数であるための必要十分である。
証明

プレミアム会員専用コンテンツです
ログイン】【会員登録

例(エピグラフと凸関数)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =\left\{
\begin{array}{cc}
x & \left( if\ x\geq 0\right) \\
-x & \left( if\ x<0\right)\end{array}\right.
\end{equation*}を定めるものとします。\(f\)は明らかに微分可能ではありません。\(f\)のエピグラフは、\begin{equation*}\mathrm{epi}\left( f\right) =\left\{ \left( x,y\right) \in \mathbb{R} ^{2}\ |\ x\geq 0\wedge y\geq x\right\} \cup \left\{ \left( x,y\right) \in \mathbb{R} ^{2}\ |\ x<0\wedge y\geq -x\right\}
\end{equation*}であり、これは下図のグレーの領域に相当します。これは明らかに凸集合であるため、\(f\)は凸関数です。

図:エピグラフ
図:エピグラフ

 

ハイポグラフを用いた多変数の凹関数の判定

凸集合上に定義された多変数関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)が凹関数であることは、\begin{equation*}\forall x,y\in X,\ \forall \lambda \in \left[ 0,1\right] :\lambda f\left(
x\right) +\left( 1-\lambda \right) f\left( y\right) \leq f\left( \lambda
x+\left( 1-\lambda \right) y\right)
\end{equation*}が成り立つこととして定義されますが、定義にもとづいて関数が凹であることを示す作業は煩雑になりがちです。ただ、関数\(f\)が\(C^{1}\)級である場合、\begin{equation*}\forall x,y\in X:f\left( y\right) \leq \nabla f\left( x\right) \cdot \left(
y-x\right) +f\left( x\right)
\end{equation*}が成り立つことは\(f\)が凹関数であるための必要十分条件であり、さらに、関数\(f\)が\(C^{2}\)級である場合、任意の点\(x\in X\)における\(F\)のヘッセ行列が半負定値(非正定値)であることは\(f\)が凹関数であるための必要十分条件です。では、関数\(f\)が偏微分可能でない場合、\(f\)が凹関数であることを簡単に判定する方法はあるのでしょうか。

凸集合上に定義された多変数関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)のグラフは、\begin{equation*}G\left( f\right) =\left\{ \left( x,y\right) \in X\times \mathbb{R} \ |\ y=f\left( x\right) \right\}
\end{equation*}と定義される\(\mathbb{R} ^{n+1}\)の部分集合であるため、空間\(\mathbb{R} ^{n+1}\)は\(G\left( f\right) \)を境に2つの領域に分割されます。特に、\begin{equation*}\mathrm{hyp}\left( f\right) =\left\{ \left( x,y\right) \in X\times \mathbb{R} \ |\ y\leq f\left( x\right) \right\}
\end{equation*}を関数\(f\)のハイポグラフ(hypograph)と呼びます。定義より、\begin{equation*}G\left( f\right) \subset \mathrm{hyp}\left( f\right)
\end{equation*}という関係が成り立ちます。

関数のハイポグラフが凸集合であることは、その関数が凹関数であるための必要十分条件です。

命題(ハイポグラフを用いた凹関数の判定)
凸集合上に定義された関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)のハイポグラフ\(\mathrm{hyp}\left( f\right) \)が凸集合であることは、\(f\)が凹関数であるための必要十分である。
証明

プレミアム会員専用コンテンツです
ログイン】【会員登録

例(ハイポグラフと凹関数)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =\left\{
\begin{array}{cc}
-x & \left( if\ x\geq 0\right) \\
x & \left( if\ x<0\right)
\end{array}\right.
\end{equation*}を定めるものとします。\(f\)は明らかに微分可能ではありません。\(f\)のハイポグラフは、\begin{equation*}\mathrm{hyp}\left( f\right) =\left\{ \left( x,y\right) \in \mathbb{R} ^{2}\ |\ x\geq 0\wedge y\leq -x\right\} \cup \left\{ \left( x,y\right) \in \mathbb{R} ^{2}\ |\ x<0\wedge y\leq x\right\}
\end{equation*}であり、これは下図のグレーの領域に相当します。これは明らかに凸集合であるため、\(f\)は凹関数です。

図:ハイポグラフ
図:ハイポグラフ

 

演習問題

問題(エピグラフと凸関数)
関数\(f:\mathbb{R} ^{2}\rightarrow \mathbb{R} \)はそれぞれの\(\left( x,y\right) \in \mathbb{R} ^{2}\)に対して、\begin{equation*}f\left( x,y\right) =x^{2}+y^{2}
\end{equation*}を定めるものとします。\(f\)が凸関数であることをエピグラフを用いて示してください。
解答を見る

プレミアム会員専用コンテンツです
ログイン】【会員登録

Twitter
Mailで保存

質問とコメント

プレミアム会員専用コンテンツです
ログイン】【会員登録

関連知識

1変数の凸関数・凹関数

定義域が区間であるとともに、そのグラフが直線もしくは谷型の曲線になるような関数を凸関数と呼び、グラフが直線もしくは山型の曲線になるような関数を凹関数と呼びます。

微分を用いた1変数の凸関数・凹関数の判定

微分可能な関数が凸関数であることは、導関数が単調増加関数であることと必要十分です。また、微分可能な関数が凹関数であることは、導関数が単調減少関数であることと必要十分です。

1変数の狭義凸関数・狭義凹関数

定義域が区間であるとともに、そのグラフが谷型の曲線になるような関数を狭義凸関数と呼び、グラフが山型の曲線になるような関数を狭義凹関数と呼びます。

多変数の凸関数・凹関数

定義域がユークリッド空間上の凸集合であるとともに、そのグラフが平面もしくは下に凸であるような関数を凸関数と呼びます。また、グラフが平面もしくは上に凸であるよう関数を凹関数と呼びます。

多変数の狭義凸関数・狭義凹関数

定義域がユークリッド空間上の凸集合であるとともに、そのグラフが下に凸であるような関数を狭義凸関数と呼びます。また、グラフが上に凸であるよう関数を狭義凹関数と呼びます。

凸関数・凹関数の定数倍

凸関数の正の定数倍として定義される関数は凸関数であり、凹関数の正の定数倍として定義される関数は凹関数です。

凸関数・凹関数の和

凸関数どうしの和として定義される関数は凸関数であり、凹関数どうしの和として定義される関数は凹関数です。

凸関数・凹関数の合成関数

凸関数どうしの合成関数が凸関数になるための条件、凹関数どうしの合成関数が凹関数になるための条件、凸関数と凹関数の合成関数が凸関数ないし凹関数になるための条件などを明らかにします。

凸関数・凹関数の逆関数

凸関数や凹関数の逆関数が存在する場合、その逆関数もまた凸関数や凹関数になるための条件を明らかにします。

アロー・プラットの絶対的リスク回避度

アロー・プラットの絶対的リスク回避度の符号を通じて主体のリスク選好(リスク回避的・中立的・愛好的)を判定できます。また、絶対的リスク回避度の値を通じてリスク回避の度合いを比較できます。

凸関数・凹関数