多変数の凸関数
ユークリッド空間\(\mathbb{R} ^{n}\)もしくはその部分集合を定義域とする多変数関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)について、定義域\(X\)が凸集合であるとともに、\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\)を凸関数(convex function)と呼びます。
\lambda \in \left[ 0,1\right] :\lambda f\left( x_{1},x_{2}\right) +\left(
1-\lambda \right) f\left( y_{1},y_{2}\right) \geq f\left( \lambda \left(
x_{1},x_{2}\right) +\left( 1-\lambda \right) \left( y_{1},y_{2}\right)
\right)
\end{equation*}が成り立つことを意味します。2変数関数\(f\)が凸関数であることの意味を視覚的に理解します。凸関数\(f\)のグラフ上の2つの点\begin{eqnarray*}A &:&\left( x_{1},x_{2},f\left( x_{1},x_{2}\right) \right) \\
B &:&\left( y_{1},y_{2},f\left( y_{1},y_{2}\right) \right)
\end{eqnarray*}を任意に選びます。この2つの点を結ぶ線分上に存在するそれぞれの点\(P\)の座標は、何らかのスカラー\(\lambda \in \left[ 0,1\right] \)を用いて、\begin{equation*}P:\left( \lambda x_{1}+\left( 1-\lambda \right) y_{1},\lambda x_{2}+\left(
1-\lambda \right) y_{2},\lambda f\left( x_{1},x_{2}\right) +\left( 1-\lambda
\right) f\left( y_{1},y_{2}\right) \right)
\end{equation*}と表すことができます。一方、点\(P\)と\(x,y\)座標を共有する関数\(f\)のグラフ上の点\(Q\)の座標は、\begin{equation*}Q:\left( \lambda x_{1}+\left( 1-\lambda \right) y_{1},\lambda x_{2}+\left(
1-\lambda \right) y_{2},f\left( \lambda \left( x_{1},x_{2}\right) +\left(
1-\lambda \right) \left( y_{1},y_{2}\right) \right) \right)
\end{equation*}ですが、凸関数の定義より、点\(P\)の\(z\)座標が点\(Q\)の\(z\)座標以上であること、すなわち点\(P\)の高さは点\(Q\)の高さと同じもしくは点\(Q\)より上方であることが保証されます。任意の\(\lambda \)について同様の議論が成り立つため、線分\(AB\)上の任意の点の位置は\(f\)のグラフ上もしくはそれより上方であることが保証されます。関数\(f\)のグラフ上の任意の2つの点\(A,B\)について同様の議論が成立するため、結局、2変数関数\(f\)が凸関数である場合、そのグラフは平面もしくは谷型の曲面になります。
凸関数の定義域は凸集合である必要がありますが、その理由は以下の通りです。関数\(f\)が凸関数であることとは、定義域の点\(x,y\in X\)とスカラー\(\lambda \in \left[0,1\right] \)をそれぞれ任意に選んだとき、不等式\begin{equation*}\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\left(\lambda x+\left( 1-\lambda \right) y\right) \)が存在すること、すなわち関数\(f\)が点\(\lambda x+\left( 1-\lambda \right) y\)において定義されている必要があります。関数\(f\)の定義域\(X\)が凸集合であれば\(\lambda x+\left( 1-\lambda\right) y\in X\)であること、すなわち関数\(f\)が点\(\lambda x+\left(1-\lambda \right) y\)において定義されていることが保証されます。逆に、関数\(f\)の定義域\(X\)が凸集合でない場合、ある\(x,y,\lambda \)に対して\(f\left( \lambda x+\left(1-\lambda \right) y\right) \)が存在しない事態が起こり得るため、そもそも上の不等式が意味をなさなくなってしまいます。
繰り返しになりますが、多変数関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)が凸関数であることとは\(X\)が凸集合であるとともに、\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*}が成り立つことを意味しますが、\(x=y\)の場合や\(t=0,1\)の場合に上の条件は明らかに成り立つため、凸関数を以下のように定義することもできます。
\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\)が凸関数であるための必要十分条件である。
\end{equation*}を定めるものとします。\(f\)のグラフは以下の通りです。
\(f\)の定義域\(\mathbb{R} ^{2}\)は凸集合です。\(f\)のグラフは下に凸な曲面であるため\(f\)は凸関数であることが予想されます。実際、定義域上の点\(\left( x_{1},y_{1}\right) ,\left(x_{2},y_{2}\right) \in \mathbb{R} ^{2}\)とスカラー\(\lambda \in \left[ 0,1\right] \)をそれぞれ任意に選んだとき、\begin{eqnarray*}&&\lambda f\left( x_{1},y_{1}\right) +\left( 1-\lambda \right) f\left(
x_{2},y_{2}\right) -f\left( \lambda \left( x_{1},y_{1}\right) +\left(
1-\lambda \right) \left( x_{2},y_{2}\right) \right) \\
&=&\lambda \left( x_{1}^{2}+y_{1}^{2}\right) +\left( 1-\lambda \right)
\left( x_{2}^{2}+y_{2}^{2}\right) -\left\{ \left[ \lambda x_{1}+\left(
1-\lambda \right) x_{2}\right] ^{2}+\left[ \lambda y_{1}+\left( 1-\lambda
\right) y_{2}\right] ^{2}\right\} \\
&=&\lambda \left( x_{1}^{2}+y_{1}^{2}\right) +\left( 1-\lambda \right)
\left( x_{2}^{2}+y_{2}^{2}\right) -\left[ \lambda ^{2}\left(
x_{1}^{2}+y_{1}^{2}\right) +2\lambda \left( 1-\lambda \right) \left(
x_{1}x_{2}+y_{1}y_{2}\right) +\left( 1-\lambda \right) ^{2}\left(
x_{2}^{2}+y_{2}^{2}\right) \right] \\
&=&\left( \lambda -\lambda ^{2}\right) \left( x_{1}^{2}+y_{1}^{2}\right) +
\left[ \left( 1-\lambda \right) -\left( 1-\lambda \right) ^{2}\right] \left(
x_{2}^{2}+y_{2}^{2}\right) -2\lambda \left( 1-\lambda \right) \left(
x_{1}x_{2}+y_{1}y_{2}\right) \\
&=&\lambda \left( 1-\lambda \right) \left( x_{1}^{2}+y_{1}^{2}\right)
+\lambda \left( 1-\lambda \right) \left( x_{2}^{2}+y_{2}^{2}\right)
-2\lambda \left( 1-\lambda \right) \left( x_{1}x_{2}+y_{1}y_{2}\right) \\
&=&\lambda \left( 1-\lambda \right) \left[ \left( x_{1}^{2}+y_{1}^{2}\right)
+\left( x_{2}^{2}+y_{2}^{2}\right) -2\left( x_{1}x_{2}+y_{1}y_{2}\right) \right] \\
&=&\lambda \left( 1-\lambda \right) \left[ \left( x_{1}-x_{1}\right)
^{2}+\left( y_{1}-y_{2}\right) ^{2}\right] \\
&\geq &0\quad \because \lambda \in \left[ 0,1\right]
\end{eqnarray*}すなわち、\begin{equation*}
\lambda f\left( x_{1},y_{1}\right) +\left( 1-\lambda \right) f\left(
x_{2},y_{2}\right) \geq f\left( \lambda \left( x_{1},y_{1}\right) +\left(
1-\lambda \right) \left( x_{2},y_{2}\right) \right)
\end{equation*}が成り立つため\(f\)は凸関数であることが示されました。
\end{equation*}を定めるものとします。\(f\)のグラフは以下の通りです。
\(f\)の定義域\(\mathbb{R} ^{2}\)は凸集合です。\(f\)のグラフは平面であるため\(f\)は凸関数であることが予想されます。実際、定義域上の点\(\left( x_{1},y_{1}\right) ,\left( x_{2},y_{2}\right) \in \mathbb{R} ^{2}\)とスカラー\(\lambda \in \left[ 0,1\right] \)をそれぞれ任意に選んだとき、\begin{eqnarray*}&&\lambda f\left( x_{1},y_{1}\right) +\left( 1-\lambda \right) f\left(
x_{2},y_{2}\right) -f\left( \lambda \left( x_{1},y_{1}\right) +\left(
1-\lambda \right) \left( x_{2},y_{2}\right) \right) \\
&=&\lambda \left( x_{1}+y_{1}\right) +\left( 1-\lambda \right) \left(
x_{2}+y_{2}\right) -\left\{ \left[ \lambda x_{1}+\left( 1-\lambda \right)
x_{2}\right] +\left[ \lambda y_{1}+\left( 1-\lambda \right) y_{2}\right]
\right\} \\
&=&0
\end{eqnarray*}すなわち、\begin{equation*}
\lambda f\left( x_{1},y_{1}\right) +\left( 1-\lambda \right) f\left(
x_{2},y_{2}\right) =f\left( \lambda \left( x_{1},y_{1}\right) +\left(
1-\lambda \right) \left( x_{2},y_{2}\right) \right)
\end{equation*}が成り立つため\(f\)は凸関数であることが示されました。この例は、グラフが平面であるような関数、もしくはグラフに平面部分が存在するような関数もまた凸関数になり得ることを示唆しています。
これまで提示した例から明らかであるように、定義にもとづいて関数が凸であることを示す作業は煩雑になりがちです。より扱い凸関数の判定条件が存在するため、多くの場合、それらを利用することになります。詳細は場を改めて解釈します。
多変数の凹関数
ユークリッド空間\(\mathbb{R} ^{n}\)もしくはその部分集合を定義域とする多変数関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)について、定義域\(X\)が凸集合であるとともに、\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\)を凹関数(concave function)と呼びます。
\lambda \in \left[ 0,1\right] :\lambda f\left( x_{1},x_{2}\right) +\left(
1-\lambda \right) f\left( y_{1},y_{2}\right) \leq f\left( \lambda \left(
x_{1},x_{2}\right) +\left( 1-\lambda \right) \left( y_{1},y_{2}\right)
\right)
\end{equation*}が成り立つことを意味します。2変数関数\(f\)が凹関数であることの意味を視覚的に理解します。凸関数\(f\)のグラフ上の2つの点\begin{eqnarray*}A &:&\left( x_{1},x_{2},f\left( x_{1},x_{2}\right) \right) \\
B &:&\left( y_{1},y_{2},f\left( y_{1},y_{2}\right) \right)
\end{eqnarray*}を任意に選びます。この2つの点を結ぶ線分上に存在するそれぞれの点\(P\)の座標は、何らかのスカラー\(\lambda \in \left[ 0,1\right] \)を用いて、\begin{equation*}P:\left( \lambda x_{1}+\left( 1-\lambda \right) y_{1},\lambda x_{2}+\left(
1-\lambda \right) y_{2},\lambda f\left( x_{1},x_{2}\right) +\left( 1-\lambda
\right) f\left( y_{1},y_{2}\right) \right)
\end{equation*}と表すことができます。一方、点\(P\)と\(x,y\)座標を共有する関数\(f\)のグラフ上の点\(Q\)の座標は、\begin{equation*}Q:\left( \lambda x_{1}+\left( 1-\lambda \right) y_{1},\lambda x_{2}+\left(
1-\lambda \right) y_{2},f\left( \lambda \left( x_{1},x_{2}\right) +\left(
1-\lambda \right) \left( y_{1},y_{2}\right) \right) \right)
\end{equation*}ですが、凹関数の定義より、点\(P\)の\(z\)座標が点\(Q\)の\(z\)座標以下であること、すなわち点\(P\)の高さは点\(Q\)の高さと同じもしくは点\(Q\)より下方であることが保証されます。任意の\(\lambda \)について同様の議論が成り立つため、線分\(AB\)上の任意の点の位置は\(f\)のグラフ上もしくはそれより下方であることが保証されます。関数\(f\)のグラフ上の任意の2つの点\(A,B\)について同様の議論が成立するため、結局、2変数関数\(f\)が凹関数である場合、そのグラフは平面もしくは山型の曲面になります。
凹関数の定義域は凸集合である必要がありますが、その理由は凸関数の定義域が凸集合でなければならない理由と同様です。つまり、\(f\)の定義域\(X\)が凸集合であれば任意の点\(x,y\in X\)およびスカラー\(\lambda \in \left[ 0,1\right] \)に対して\(f\)が点\(\lambda x+\left( 1-\lambda \right) y\)において定義されることが保証されるため、凹関数の定義を構成する不等式が成立するか検討できます。
繰り返しになりますが、多変数関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)が凹関数であることとは\(X\)が凸集合であるとともに、\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*}が成り立つことを意味しますが、\(x=y\)の場合や\(t=0,1\)の場合に上の条件は明らかに成り立つため、凹関数を以下のように定義することもできます。
\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\)が凹関数であるための必要十分条件である。
\end{equation*}を定めるものとします。\(f\)のグラフは以下の通りです。
\(f\)の定義域\(\mathbb{R} ^{2}\)は凸集合です。\(f\)のグラフは山型の曲面であるため\(f\)は凹関数であることが予想されます。実際、定義域上の点\(\left( x_{1},y_{1}\right) ,\left(x_{2},y_{2}\right) \in \mathbb{R} ^{2}\)とスカラー\(\lambda \in \left[ 0,1\right] \)をそれぞれ任意に選んだとき、\begin{eqnarray*}&&\lambda f\left( x_{1},y_{1}\right) +\left( 1-\lambda \right) f\left(
x_{2},y_{2}\right) -\left[ f\left( \lambda \left( x_{1},y_{1}\right) +\left(
1-\lambda \right) \left( x_{2},y_{2}\right) \right) \right] \\
&=&-\left[ \lambda \left( x_{1}^{2}+y_{1}^{2}\right) +\left( 1-\lambda
\right) \left( x_{2}^{2}+y_{2}^{2}\right) \right] -\left\{ -\left[ \lambda
x_{1}+\left( 1-\lambda \right) x_{2}\right] ^{2}+-\left[ \lambda
y_{1}+\left( 1-\lambda \right) y_{2}\right] ^{2}\right\} \\
&=&-\lambda \left( x_{1}^{2}+y_{1}^{2}\right) -\left( 1-\lambda \right)
\left( x_{2}^{2}+y_{2}^{2}\right) +\left[ \lambda ^{2}\left(
x_{1}^{2}+y_{1}^{2}\right) +2\lambda \left( 1-\lambda \right) \left(
x_{1}x_{2}+y_{1}y_{2}\right) +\left( 1-\lambda \right) ^{2}\left(
x_{2}^{2}+y_{2}^{2}\right) \right] \\
&=&-\left( \lambda -\lambda ^{2}\right) \left( x_{1}^{2}+y_{1}^{2}\right) –
\left[ \left( 1-\lambda \right) -\left( 1-\lambda \right) ^{2}\right] \left(
x_{2}^{2}+y_{2}^{2}\right) +2\lambda \left( 1-\lambda \right) \left(
x_{1}x_{2}+y_{1}y_{2}\right) \\
&=&-\lambda \left( 1-\lambda \right) \left( x_{1}^{2}+y_{1}^{2}\right)
-\lambda \left( 1-\lambda \right) \left( x_{2}^{2}+y_{2}^{2}\right)
+2\lambda \left( 1-\lambda \right) \left( x_{1}x_{2}+y_{1}y_{2}\right) \\
&=&-\lambda \left( 1-\lambda \right) \left[ \left(
x_{1}^{2}+y_{1}^{2}\right) +\left( x_{2}^{2}+y_{2}^{2}\right) -2\left(
x_{1}x_{2}+y_{1}y_{2}\right) \right] \\
&=&-\lambda \left( 1-\lambda \right) \left[ \left( x_{1}-x_{1}\right)
^{2}+\left( y_{1}-y_{2}\right) ^{2}\right] \\
&\leq &0\quad \because \lambda \in \left[ 0,1\right]
\end{eqnarray*}すなわち、\begin{equation*}
\lambda f\left( x_{1},y_{1}\right) +\left( 1-\lambda \right) f\left(
x_{2},y_{2}\right) \leq f\left( \lambda \left( x_{1},y_{1}\right) +\left(
1-\lambda \right) \left( x_{2},y_{2}\right) \right)
\end{equation*}が成り立つため\(f\)は凸関数であることが示されました。
\end{equation*}を定めるものとします。\(f\)のグラフは以下の通りです。
\(f\)の定義域\(\mathbb{R} ^{2}\)は凸集合です。\(f\)のグラフは平面であるため\(f\)は凹関数であることが予想されます。実際、定義域上の点\(\left( x_{1},y_{1}\right) ,\left( x_{2},y_{2}\right) \in \mathbb{R} ^{2}\)とスカラー\(\lambda \in \left[ 0,1\right] \)をそれぞれ任意に選んだとき、\begin{eqnarray*}&&\lambda f\left( x_{1},y_{1}\right) +\left( 1-\lambda \right) f\left(
x_{2},y_{2}\right) -f\left( \lambda \left( x_{1},y_{1}\right) +\left(
1-\lambda \right) \left( x_{2},y_{2}\right) \right) \\
&=&\lambda \left( x_{1}+y_{1}\right) +\left( 1-\lambda \right) \left(
x_{2}+y_{2}\right) -\left\{ \left[ \lambda x_{1}+\left( 1-\lambda \right)
x_{2}\right] +\left[ \lambda y_{1}+\left( 1-\lambda \right) y_{2}\right]
\right\} \\
&=&0
\end{eqnarray*}すなわち、\begin{equation*}
\lambda f\left( x_{1},y_{1}\right) +\left( 1-\lambda \right) f\left(
x_{2},y_{2}\right) =f\left( \lambda \left( x_{1},y_{1}\right) +\left(
1-\lambda \right) \left( x_{2},y_{2}\right) \right)
\end{equation*}が成り立つため\(f\)は凹関数であることが示されました。この例は、グラフが平面であるような関数、もしくはグラフに平面部分が存在するような関数もまた凹関数になり得ることを示唆しています。また、先に示したようにこの関数\(f\)は凸関数でもあるため、この例は、凸関数かつ凹関数であるような関数が存在することも示唆しています。
これまで提示した例から明らかであるように、定義にもとづいて関数が凹であることを示す作業は煩雑になりがちです。より扱い凹関数の判定条件が存在するため、多くの場合、それらを利用することになります。詳細は場を改めて解釈します。
凸関数と凹関数の関係
凸集合上に定義された関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)が与えられたとき、それぞれの\(x\in X\)に対して、\begin{equation*}\left( -f\right) \left( x\right) =-f\left( x\right)
\end{equation*}を定める関数\begin{equation*}
-f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \end{equation*}が定義可能です。\(f\)が凸関数であることは\(-f\)が凹関数であることと必要十分であり、また、\(f\)が凹関数であることは\(-f\)が凸関数であることと必要十分です。
-f\text{が凹関数} \\
&&\left( b\right) \ f\text{が凹関数}\Leftrightarrow
-f\text{が凸関数}
\end{eqnarray*}がともに成り立つ。
\end{equation*}を定めるものとします。先に示したように\(f\)は凸関数です。したがって上の命題より、それぞれの\(\left( x,y\right)\in \mathbb{R} ^{2}\)に対して、\begin{equation*}-f\left( x,y\right) =-x^{2}-y^{2}
\end{equation*}を定める関数\(-f:\mathbb{R} ^{2}\rightarrow \mathbb{R} \)は凹関数ですが、これは先の例と整合的です。
\end{equation*}を定めるものとします。先に示したように\(f\)は凸関数かつ凹関数です。したがって、上の命題より、それぞれの\(\left( x,y\right) \in \mathbb{R} ^{2}\)に対して、\begin{equation*}-f\left( x,y\right) =-x-y
\end{equation*}を定める関数\(-f:\mathbb{R} ^{2}\rightarrow \mathbb{R} \)は凸関数かつ凹関数です。
関数は凸関数や凹関数であるとは限りません。以下の例から明らかです。
\end{equation*}を定めるものとします。\(f\)の定義域\(\mathbb{R} ^{2}\)は凸集合ですが、\(f\)は凸関数と凹関数のいずれでもありません(演習問題)。
演習問題
- \(f\)が凸関数ではないという主張を定式化してください。
- \(f\)が凹関数ではないという主張を定式化してください。
- \(f\)が凸関数と凹関数のどちらでもないような状況は起こり得るでしょうか。議論してください。
\end{equation*}を定めるものとします。\(f\)は凸関数、凹関数、凸関数と凹関数のどちらでもない、のどれでしょうか。議論してください。
プレミアム会員専用コンテンツです
【ログイン】【会員登録】