教材一覧
教材一覧
教材検索

凸関数・凹関数

微分を用いた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で保存