WIIS

凸関数・凹関数

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

目次

Twitter
Mailで保存

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

区間上に定義された関数\(f:\mathbb{R} \supset I\rightarrow \mathbb{R} \)が凸関数であることは、\begin{equation*}\forall x_{1},x_{2}\in I,\ \forall \lambda \in \left[ 0,1\right] :\lambda
f\left( x_{1}\right) +\left( 1-\lambda \right) f\left( x_{2}\right) \geq
f\left( \lambda x_{1}+\left( 1-\lambda \right) x_{2}\right)
\end{equation*}が成り立つこととして定義されますが、定義にもとづいて関数が凸であることを示す作業は煩雑になりがちです。関数が微分可能である場合、それが凸関数であることを比較的容易に示すことができます。順番に解説します。

区間上に定義された関数\(f:\mathbb{R} \supset I\rightarrow \mathbb{R} \)は微分可能であるものとします。つまり、導関数\(f^{\prime }:\mathbb{R} \supset I\rightarrow \mathbb{R} \)が存在するということです。加えて、\(f\)は凸関数であるものとします。以上の条件を満たす関数のグラフを以下に図示しました。

図:凸関数
図:凸関数

凸関数\(f\)のグラフは下に凸であるような曲線(もしくは直線部分を持つ)であるため、グラフ上の点を任意に選んだとき、そこでの接線の全体が\(f\)のグラフの下方に位置するはずです。つまり、\(f\)の定義域上の点\(x_{1}\in I\)を任意に選んだとき、この点における\(f\)のグラフの接線の方程式は、\begin{equation*}y=f^{\prime }\left( x_{1}\right) \left( x-x_{1}\right) +f\left( x_{1}\right)
\end{equation*}で与えられますが、\(f\)が凸関数である場合には、この接線全体が\(f\)のグラフの下方にあること、すなわち、任意の\(x_{2}\in I\)について、\begin{equation*}f\left( x_{2}\right) \geq f^{\prime }\left( x_{1}\right) \left(
x_{2}-x_{1}\right) +f\left( x_{1}\right)
\end{equation*}が成り立つはずです。これは正しい主張です。

命題(微分可能な1変数の凸関数)
区間上に定義された関数\(f:\mathbb{R} \supset I\rightarrow \mathbb{R} \)は微分可能であるものとする。\(f\)が凸関数であるならば、\begin{equation*}\forall x_{1},x_{2}\in I:f\left( x_{2}\right) \geq f^{\prime }\left(
x_{1}\right) \left( x_{2}-x_{1}\right) +f\left( x_{1}\right)
\end{equation*}が成り立つ。

証明

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

上の命題を用いると、\(f\)の導関数が単調増加関数であることが示されます。つまり、微分可能な凸関数の導関数は単調増加であるということです。

命題(微分可能な1変数の凸関数)
区間上に定義された関数\(f:\mathbb{R} \supset I\rightarrow \mathbb{R} \)は微分可能であるものとする。\(f\)が凸関数であるならば、導関数\(f^{\prime }:\mathbb{R} \supset I\rightarrow \mathbb{R} \)は単調増加関数である。
証明

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

上の命題の逆もまた成立します。つまり、微分可能な関数の導関数が単調増加であるならば、その関数は凸関数であるということです。証明ではラグランジュの平均値の定理などを利用します。

命題(微分可能な1変数の凸関数)
区間上に定義された関数\(f:\mathbb{R} \supset I\rightarrow \mathbb{R} \)は微分可能であるものとする。導関数\(f^{\prime }:\mathbb{R} \supset I\rightarrow \mathbb{R} \)が単調増加関数であるならば、\(f\)は凸関数である。
証明

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

以上の諸命題より、微分可能な関数が凸関数であることを以下のような形で特徴づけられることが明らかになりました。

命題(微分可能な1変数の凸関数)
区間上に定義された関数\(f:\mathbb{R} \supset I\rightarrow \mathbb{R} \)は微分可能であるものとする。このとき以下の3つの命題\begin{eqnarray*}&&\left( a\right) \ f\text{は凸関数である} \\
&&\left( b\right) \ \forall x_{1},x_{2}\in I:f\left( x_{2}\right) \geq
f^{\prime }\left( x_{1}\right) \left( x_{2}-x_{1}\right) +f\left(
x_{1}\right) \\
&&\left( c\right) \ \text{導関数}f^{\prime }:\mathbb{R} \supset I\rightarrow \mathbb{R} \text{は単調増加関数である}
\end{eqnarray*}はお互いに必要十分である。

以上の命題を踏まえると、関数\(f\)が2階微分可能である場合には、\(f\)が凸関数であることを以下のように特徴づけられます。

命題(微分可能な1変数の凸関数)
区間上に定義された関数\(f:\mathbb{R} \supset I\rightarrow \mathbb{R} \)は2階微分可能であるものとする。このとき、2階導関数\(f^{\prime \prime }:\mathbb{R} \supset I\rightarrow \mathbb{R} \)が、\begin{equation*}\forall x\in I:f^{\prime \prime }\left( x\right) \geq 0
\end{equation*}を満たすことは、\(f\)が凸関数であるための必要十分条件である。
証明

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

例(微分可能な1変数の凸関数)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =x^{2}
\end{equation*}を定めるものとします。\(f\)の定義域\(\mathbb{R} \)は区間です。\(f\)は多項式関数であるため2階微分可能です。導関数\(f^{\prime }:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f^{\prime }\left( x\right) =2x
\end{equation*}を定め、2階導関数\(f^{\prime\prime }:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f^{\prime \prime }\left( x\right) =2
\end{equation*}を定めます。したがって、\begin{equation*}
\forall x\in \mathbb{R} :f^{\prime }\left( x\right) \geq 0
\end{equation*}が成り立つため、先の命題より\(f\)は凸関数です。
例(微分可能な1変数の凸関数)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =2x
\end{equation*}を定めるものとします。\(f\)の定義域\(\mathbb{R} \)は区間です。\(f\)は多項式関数であるため2階微分可能です。導関数\(f^{\prime }:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f^{\prime }\left( x\right) =2
\end{equation*}を定め、2階導関数\(f^{\prime\prime }:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f^{\prime \prime }\left( x\right) =0
\end{equation*}を定めます。したがって、\begin{equation*}
\forall x\in \mathbb{R} :f^{\prime }\left( x\right) \geq 0
\end{equation*}が成り立つため、先の命題より\(f\)は凸関数です。
例(微分可能な1変数の非凸関数)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =x^{3}
\end{equation*}を定めるものとします。\(f\)の定義域\(\mathbb{R} \)は区間です。\(f\)は多項式関数であるため2階微分可能です。導関数\(f^{\prime }:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f^{\prime }\left( x\right) =3x^{2}
\end{equation*}を定め、2階導関数\(f^{\prime\prime }:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f^{\prime \prime }\left( x\right) =6x
\end{equation*}を定めます。\(x\)の値によって\(f^{\prime \prime }\left( x\right) \)の値は正と負のどちらの値も取り得るため、先の命題より\(f\)は凸関数ではありません。
例(対数関数)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)がそれぞれの\(x\in \mathbb{R} \)に対して定める値が、ある定数\(c\in \mathbb{R} \)を用いて、\begin{equation*}f\left( x\right) =e^{cx}
\end{equation*}と表されるものとします。\(f\)は凸関数です(演習問題)。したがって、例えば、\begin{eqnarray*}f\left( x\right) &=&e^{-x} \\
g\left( x\right) &=&e^{\frac{x}{2}} \\
h\left( x\right) &=&e^{\pi x}
\end{eqnarray*}などはいずれも凸関数です。

例(ベキ関数)
関数\(f:\mathbb{R} _{++}\rightarrow \mathbb{R} \)がそれぞれの\(x\in \mathbb{R} \)に対して定める値が、\(c\geq 1\)または\(c\leq 0\)を満たす定数\(c\in \mathbb{R} \)を用いて、\begin{equation*}f\left( x\right) =x^{c}
\end{equation*}と表されるものとします。\(f\)は凸関数です(演習問題)。したがって、例えば、\begin{eqnarray*}f\left( x\right) &=&x^{3} \\
g\left( x\right) &=&\frac{1}{x^{\frac{1}{2}}} \\
h\left( x\right) &=&\frac{1}{x^{\pi }}
\end{eqnarray*}などはいずれも凸関数です。

例(絶対値関数のベキ)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)がそれぞれの\(x\in \mathbb{R} \)に対して定める値が、\(c\geq 1\)を満たす定数\(c\in \mathbb{R} \)を用いて、\begin{equation*}f\left( x\right) =\left\vert x\right\vert ^{c}
\end{equation*}と表されるものとします。\(f\)は凸関数です(演習問題)。したがって、例えば、\begin{eqnarray*}f\left( x\right) &=&\left\vert x\right\vert ^{2} \\
g\left( x\right) &=&\left\vert x\right\vert ^{\pi } \\
h\left( x\right) &=&\left\vert x\right\vert ^{\frac{5}{2}}
\end{eqnarray*}などはいずれも凸関数です。

 

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

区間上に定義された関数\(f:\mathbb{R} \supset I\rightarrow \mathbb{R} \)が凹関数であることは、\begin{equation*}\forall x_{1},x_{2}\in I,\ \forall \lambda \in \left[ 0,1\right] :\lambda
f\left( x_{1}\right) +\left( 1-\lambda \right) f\left( x_{2}\right) \leq
f\left( \lambda x_{1}+\left( 1-\lambda \right) x_{2}\right)
\end{equation*}が成り立つこととして定義されます。凸関数に関する先の議論において不等号の向きを逆にすればそのまま凹関数に関する議論になります。したがって、微分可能な関数が凹関数であることを以下のような形で特徴づけられます。

命題(微分可能な1変数の凹関数)
区間上に定義された関数\(f:\mathbb{R} \supset I\rightarrow \mathbb{R} \)は微分可能であるものとする。このとき以下の3つの命題\begin{eqnarray*}&&\left( a\right) \ f\text{は凹関数である} \\
&&\left( b\right) \ \forall x_{1},x_{2}\in I:f\left( x_{2}\right) \leq
f^{\prime }\left( x_{1}\right) \left( x_{2}-x_{1}\right) +f\left(
x_{1}\right) \\
&&\left( c\right) \ \text{導関数}f^{\prime }:\mathbb{R} \supset I\rightarrow \mathbb{R} \text{は単調減少関数である}
\end{eqnarray*}はお互いに必要十分である。

また、関数\(f\)が2階微分可能である場合には、\(f\)が凹関数であることを以下のように特徴づけられます。

命題(微分可能な1変数の凹関数)
区間上に定義された関数\(f:\mathbb{R} \supset I\rightarrow \mathbb{R} \)は2階微分可能であるものとする。このとき、2階導関数\(f^{\prime \prime }:\mathbb{R} \supset I\rightarrow \mathbb{R} \)が、\begin{equation*}\forall x\in I:f^{\prime \prime }\left( x\right) \leq 0
\end{equation*}を満たすことは、\(f\)が凹関数であるための必要十分条件である。
例(微分可能な1変数の凹関数)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =-x^{2}
\end{equation*}を定めるものとします。\(f\)の定義域\(\mathbb{R} \)は区間です。\(f\)は多項式関数であるため2階微分可能です。導関数\(f^{\prime }:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f^{\prime }\left( x\right) =-2x
\end{equation*}を定め、2階導関数\(f^{\prime\prime }:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f^{\prime \prime }\left( x\right) =-2
\end{equation*}を定めます。したがって、\begin{equation*}
\forall x\in \mathbb{R} :f^{\prime }\left( x\right) \leq 0
\end{equation*}が成り立つため、先の命題より\(f\)は凹関数です。
例(微分可能な1変数の凹関数)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =-2x
\end{equation*}を定めるものとします。\(f\)の定義域\(\mathbb{R} \)は区間です。\(f\)は多項式関数であるため2階微分可能です。導関数\(f^{\prime }:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f^{\prime }\left( x\right) =-2
\end{equation*}を定め、2階導関数\(f^{\prime\prime }:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f^{\prime \prime }\left( x\right) =0
\end{equation*}を定めます。したがって、\begin{equation*}
\forall x\in \mathbb{R} :f^{\prime }\left( x\right) \leq 0
\end{equation*}が成り立つため、先の命題より\(f\)は凹関数です。
例(微分可能な1変数の非凹関数)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =-x^{3}
\end{equation*}を定めるものとします。\(f\)の定義域\(\mathbb{R} \)は区間です。\(f\)は多項式関数であるため2階微分可能です。導関数\(f^{\prime }:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f^{\prime }\left( x\right) =-3x^{2}
\end{equation*}を定め、2階導関数\(f^{\prime\prime }:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f^{\prime \prime }\left( x\right) =-6x
\end{equation*}を定めます。\(x\)の値によって\(f^{\prime \prime }\left( x\right) \)の値は正と負のどちらの値も取り得るため、先の命題より\(f\)は凹関数ではありません。
例(ベキ関数)
関数\(f:\mathbb{R} _{++}\rightarrow \mathbb{R} \)がそれぞれの\(x\in \mathbb{R} \)に対して定める値が、\(0\leq c\leq 1\)を満たす定数\(c\in \mathbb{R} \)を用いて、\begin{equation*}f\left( x\right) =x^{c}
\end{equation*}と表されるものとします。\(f\)は凹関数です(演習問題)。したがって、例えば、\begin{eqnarray*}f\left( x\right) &=&x^{\frac{1}{2}} \\
g\left( x\right) &=&x^{\frac{1}{3}} \\
h\left( x\right) &=&x^{\frac{1}{\pi }}
\end{eqnarray*}などはいずれも凹関数です。

 

演習問題

問題(凸関数・凹関数)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =-x^{2}+10
\end{equation*}を定めるものとします。\(f\)は凸関数、凹関数、その両方、そのどちらでもない、のどれでしょうか。議論してください。
解答を見る

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

問題(凸関数・凹関数)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =1
\end{equation*}を定めるものとします。\(f\)は凸関数、凹関数、その両方、そのどちらでもない、のどれでしょうか。議論してください。
解答を見る

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

問題(凸関数・凹関数)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =2x^{3}-3x^{2}
\end{equation*}を定めるものとします。\(f\)は凸関数、凹関数、その両方、そのどちらでもない、のどれでしょうか。議論してください。
解答を見る

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

問題(凸関数・凹関数)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =x^{4}+x^{2}
\end{equation*}を定めるものとします。\(f\)は凸関数、凹関数、その両方、そのどちらでもない、のどれでしょうか。議論してください。
解答を見る

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

問題(凸関数・凹関数)
関数\(f:\mathbb{R} _{++}\rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} _{++}\)に対して、\begin{equation*}f\left( x\right) =x\ln \left( x\right)
\end{equation*}を定めるものとします。\(f\)は凸関数、凹関数、その両方、そのどちらでもない、のどれでしょうか。議論してください。
解答を見る

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

問題(対数関数)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)がそれぞれの\(x\in \mathbb{R} \)に対して定める値が、ある定数\(c\in \mathbb{R} \)を用いて、\begin{equation*}f\left( x\right) =e^{cx}
\end{equation*}と表されるものとします。\(f\)が凸関数であることを示してください。
解答を見る

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

問題(ベキ関数)
関数\(f:\mathbb{R} _{++}\rightarrow \mathbb{R} \)がそれぞれの\(x\in \mathbb{R} \)に対して定める値が、ある定数\(c\in \mathbb{R} \)を用いて、\begin{equation*}f\left( x\right) =x^{c}
\end{equation*}と表されるものとします。\(c\geq 1\)または\(c\leq 0\)である場合には\(f\)は凸関数である一方、\(0\leq c\leq 1\)である場合には\(f\)は凹関数であることを示してください。
解答を見る

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

問題(絶対値関数のベキ)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)がそれぞれの\(x\in \mathbb{R} \)に対して定める値が、\(c\geq 1\)を満たす定数\(c\in \mathbb{R} \)を用いて、\begin{equation*}f\left( x\right) =\left\vert x\right\vert ^{c}
\end{equation*}と表されるものとします。\(f\)が凸関数であることを示してください。
証明

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

Twitter
Mailで保存

質問とコメント

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

関連知識

1変数の凸関数・凹関数

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

凸集合の定義と具体例

ユークリッド空間の部分集合に属する2つの点を任意に選んだとき、それらの任意の凸結合がその集合の要素であるならば、その集合を凸集合と呼びます。

狭義凸集合の定義

ユークリッド空間の部分集合に属する異なる2つの点を任意に選んだとき、それらの任意の狭義凸結合がその集合の内点であるならば、その集合を狭義凸集合と呼びます。

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

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

多変数の凸関数・凹関数

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

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

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

定積分に関する平均値の定理

有界な閉区間上に定義された連続関数に対してその平均値を定義するとともに、連続関数が定義域上の少なくとも1つの点に対して定める値が平均値と一致することを示します。

多変数関数に関する平均値の定理

多変数関数の変数が定義域上の2つの点を端点とする閉じた線分上を動く状況を想定した場合、1変数関数に関するラグランジュの平均値の定理と同様の主張が成り立ちます。

凸関数・凹関数の定数倍

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

凸関数・凹関数の和

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

選好の凸性

消費ベクトル x 以上に望ましい消費ベクトル y,z を任意に選んだとき、それらを任意の割合で混ぜることで得られる消費ベクトルもまた x 以上に望ましいことが保証されるのであれば、選好は凸性を満たすと言います。凸性を満たす選好は準凹な効用関数によって特徴づけられます。

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

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

微分積分学の第2基本定理(求積分定理)

有界な閉区間上に定義された関数がリーマン積分可能であり、その関数の原始関数であるような連続関数が存在する場合、原始関数が区間の端点に対して定める値の差は、もとの関数の定積分と一致します。

凸関数・凹関数