超平面による集合の支持
ユークリッド空間\(\mathbb{R} ^{n}\)における超平面とは、法線ベクトル\(\boldsymbol{a}\in \mathbb{R} ^{n}\backslash \left\{ \boldsymbol{0}\right\} \)とスカラー\(c\in \mathbb{R} \)から、\begin{equation*}H\left( \boldsymbol{a},c\right) =\left\{ \boldsymbol{x}\in \mathbb{R} ^{n}\ |\ \boldsymbol{a}\cdot \boldsymbol{x}=c\right\}
\end{equation*}と定義される\(\mathbb{R} ^{n}\)の部分集合です。超平面\(H\left( \boldsymbol{a},c\right) \)が与えられれば空間\(\mathbb{R} ^{n}\)を半空間\begin{eqnarray*}H^{+}\left( \boldsymbol{a},c\right) &=&\left\{ \boldsymbol{x}\in \mathbb{R} ^{n}\ |\ \boldsymbol{a}\cdot \boldsymbol{x}\geq c\right\} \\
H^{-}\left( \boldsymbol{a},c\right) &=&\left\{ \boldsymbol{x}\in \mathbb{R} ^{n}\ |\ \boldsymbol{a}\cdot \boldsymbol{x}\leq c\right\}
\end{eqnarray*}へと分割できます。空間\(\mathbb{R} ^{n}\)は超平面\(H\left( \boldsymbol{a},c\right) \)を境に上半空間\(H^{+}\left( \boldsymbol{a},c\right) \)と下半空間\(H^{-}\left( \boldsymbol{a},c\right) \)に分割されますが、上半空間と下半空間は互いに素ではなく、両者の交わりは超平面と一致します。
ユークリッド空間上の集合\(X\subset \mathbb{R} ^{n}\)が与えられたとき、上半空間\(H^{+}\left( \boldsymbol{a},c\right) \)と下半空間\(H^{-}\left( \boldsymbol{a},c\right) \)のどちらか一方が集合\(X\)を部分集合として含むとともに、集合\(X\)の少なくとも1つの境界点\(\boldsymbol{y}\)が超平面\(H\left( \boldsymbol{a},c\right) \)上にあるならば、すなわち、以下の2つの条件\begin{eqnarray*}&&\left( a\right) \ X\subset H^{+}\left( \boldsymbol{a},c\right) \wedge
\exists \boldsymbol{y}\in X^{f}:\boldsymbol{y}\in H\left( \boldsymbol{a},c\right) \\
&&\left( b\right) \ X\subset H^{-}\left( \boldsymbol{a},c\right) \wedge
\exists \boldsymbol{y}\in X^{f}:\boldsymbol{y}\in H\left( \boldsymbol{a},c\right)
\end{eqnarray*}のどちらか一方が成り立つ場合には、集合\(X\)は境界点\(\boldsymbol{y}\)において超平面\(H\left( \boldsymbol{a},c\right) \)によって支持される(supported)と言います。またこのとき、超平面\(H\left( \boldsymbol{a},c\right) \)を境界点\(\boldsymbol{y}\)における集合\(X\)の支持超平面(supporting hyperplane)と呼びます。半空間の定義より、先の2つの条件を、\begin{eqnarray*}
&&\left( a\right) \ \left( \forall \boldsymbol{x}\in X:\boldsymbol{a}\cdot
\boldsymbol{x}\geq c\right) \wedge \left( \exists \boldsymbol{y}\in X^{f}:\boldsymbol{a}\cdot \boldsymbol{x}=c\right) \\
&&\left( b\right) \ \left( \forall \boldsymbol{x}\in X:\boldsymbol{a}\cdot
\boldsymbol{x}\leq c\right) \wedge \left( \exists \boldsymbol{y}\in X^{f}:\boldsymbol{a}\cdot \boldsymbol{x}=c\right)
\end{eqnarray*}とそれぞれ表現することもできます。ただし、\(X^{f}\)は集合\(X\)の境界です。
\(\mathbb{R} ^{2}\)における超平面は直線です。上図中の直線に相当する超平面\(H\left( \boldsymbol{a},c\right) \)に注目します。空間\(\mathbb{R} ^{2}\)は超平面\(H\left( \boldsymbol{a},c\right) \)を境に上半空間\(H^{+}\left( \boldsymbol{a},c\right) \)と下半空間\(H^{-}\left( \boldsymbol{a},c\right) \)に分割されますが、両者の交わりが\(H\left( \boldsymbol{a},c\right) \)です。\(X\)は\(H^{+}\left( \boldsymbol{a},c\right) \)の部分集合であるとともに\(X\)の点\(\boldsymbol{y}\)が\(H\left( \boldsymbol{a},c\right) \)上にあります。この点\(\boldsymbol{y}\)は\(X\)の境界点であるため、\(X\)は\(\boldsymbol{y}\)において\(H\left( \boldsymbol{a},c\right) \)によって支持されています
\(\mathbb{R} ^{2}\)における超平面は直線です。上図中の直線に相当する超平面\(H\left( \boldsymbol{a},c\right) \)に注目します。\(X\)は\(H^{+}\left( \boldsymbol{a},c\right) \)の部分集合です。\(H\left( \boldsymbol{a},c\right) \)上にある点\(\boldsymbol{y}\)は\(X\)の要素ではありませんが\(X\)の境界点ではあるため、\(X\)は\(\boldsymbol{y}\)において\(H\left( \boldsymbol{a},c\right) \)によって支持されています。
\(\mathbb{R} ^{2}\)における超平面は直線です。上図中の直線に相当する超平面\(H\left( \boldsymbol{a},c\right) \)に注目します。\(X\)は\(H^{+}\left( \boldsymbol{a},c\right) \)の部分集合であるとともに\(X\)の点\(\boldsymbol{y}\)が\(H\left( \boldsymbol{a},c\right) \)上にあります。この点\(\boldsymbol{y}\)は\(X\)の境界点であるため、\(X\)は\(\boldsymbol{y}\)において\(H\left( \boldsymbol{a},c\right) \)によって支持されています。
集合はその任意の境界点において超平面によって支持されるとは限りません。境界点の選び方によっては、集合を支持する超平面が存在しない状況が起こり得るということです。以下の例より明らかです。
\(\mathbb{R} ^{2}\)における超平面は直線です。点\(\boldsymbol{y}\)は集合\(X\)の境界点ですが、この点\(\boldsymbol{y}\)において集合\(X\)を支持する超平面は存在しません。具体例として、上図中の直線に相当する超平面\(H\left( \boldsymbol{a},c\right) \)に注目すると、点\(\boldsymbol{y}\)は\(H\left( p,c\right) \)の要素ではあるものの、\(X\)は上半空間\(H^{+}\left( \boldsymbol{a},c\right) \)や下半空間\(H^{-}\left( \boldsymbol{a},c\right) \)の部分集合ではないため、この\(H\left( p,c\right) \)は\(\boldsymbol{y}\)において\(X\)を支持していません。他の任意の超平面\(H\left( \boldsymbol{a},c\right) \)についても同様です。したがって、この集合\(X\)はその境界点\(\boldsymbol{y}\)においていかなる超平面によっても支持することはできません。この例は、非凸集合の境界点の中には、その点においてその集合を支持する超平面が存在しない状況が起こり得ることを示唆しています。
支持超平面定理
先の例が示唆するように、ユークリッド空間上の集合\(X\subset \mathbb{R} ^{n}\)が凸集合ではない場合には、その何らかの境界点\(\boldsymbol{y}\)において、\(X\)を\(\boldsymbol{y}\)において支持する超平面が存在しない状況は起こり得ます。では、逆に、集合\(X\)が凸集合である場合には、その境界点\(\boldsymbol{y}\)を任意に選んだとき、\(X\)を\(\boldsymbol{y}\)において支持する超平面が存在することを保証できるのでしょうか。この問いに答えるのが以下の命題です。これを支持超平面定理(supporting hyperplane theorem)と呼びます。証明では狭義分離超平面定理を利用します。
ユークリッド空間上の集合\(X\subset \mathbb{R} ^{n}\)を任意に選ぶ。\(X\)が\(\mathbb{R} ^{n}\)上の非空な凸集合であるならば、その境界点\(\boldsymbol{y}\in X^{f}\)を任意に選んだとき、\(X\)を\(\boldsymbol{y}\)において支持する超平面\(H\left( \boldsymbol{a},c\right) \)が存在する。具体的には、\begin{equation*}\boldsymbol{y}\in H\left( \boldsymbol{a},c\right) \wedge X\subset
H^{-}\left( \boldsymbol{a},c\right)
\end{equation*}すなわち、\begin{equation*}
\boldsymbol{a}\cdot \boldsymbol{y}=c\wedge \forall \boldsymbol{x}\in X:\boldsymbol{a}\cdot \boldsymbol{x}\leq c
\end{equation*}を満たす法線ベクトル\(\boldsymbol{a}\in \mathbb{R} ^{n}\backslash \left\{ \boldsymbol{0}\right\} \)とスカラー\(c\in \mathbb{R} \)が存在する。
先の命題の結論\begin{equation*}
\boldsymbol{a}\cdot \boldsymbol{y}=c\wedge \left( \forall \boldsymbol{x}\in
X:\boldsymbol{a}\cdot \boldsymbol{x}\leq c\right)
\end{equation*}を1つにまとめると、\begin{equation*}
\forall \boldsymbol{x}\in X:\boldsymbol{a}\cdot \boldsymbol{x}\leq
\boldsymbol{a}\cdot \boldsymbol{y}
\end{equation*}すなわち、\begin{equation*}
\forall \boldsymbol{x}\in X:\boldsymbol{a}\cdot \left( \boldsymbol{x}-\boldsymbol{y}\right) \leq 0
\end{equation*}となります。これは、非空な凸集合\(X\)の境界点\(\boldsymbol{y}\)が与えられたとき、その点から集合\(X\)上の点\(\boldsymbol{x}\)へ伸びる任意のベクトル\(\boldsymbol{x}-\boldsymbol{y}\)との角度が直角または鈍角になるようなベクトル\(\boldsymbol{a}\)が存在するという主張です。
支持超平面定理の言い換え
先の命題において存在が保証される法線ベクトル\(\boldsymbol{a}\in \mathbb{R} ^{n}\backslash \left\{ \boldsymbol{0}\right\} \)とスカラー\(c\in \mathbb{R} \)を踏まえた上で、新たな法線ベクトル\(\boldsymbol{a}^{\prime }\in \mathbb{R} ^{n}\backslash \left\{ \boldsymbol{0}\right\} \)とスカラー\(c^{\prime }\in \mathbb{R} \)をそれぞれ、\begin{eqnarray*}\boldsymbol{a}^{\prime } &=&-\boldsymbol{a} \\
c^{\prime } &=&-c
\end{eqnarray*}と定義します。この新たな法線ベクトル\(\boldsymbol{a}^{\prime }\)とスカラー\(c\)のもとでの超平面は、\begin{equation*}H\left( \boldsymbol{a}^{\prime },c^{\prime }\right) =\left\{ \boldsymbol{x}\in \mathbb{R} ^{n}\ |\ \boldsymbol{a}^{\prime }\cdot \boldsymbol{x}=c^{\prime }\right\}
\end{equation*}となりますが、\begin{eqnarray*}
\boldsymbol{a}^{\prime }\cdot \boldsymbol{x}=c^{\prime } &\Leftrightarrow &-\boldsymbol{a}\cdot \boldsymbol{x}=-c \\
&\Leftrightarrow &\boldsymbol{a}\cdot \boldsymbol{x}=c
\end{eqnarray*}が成り立つため、\begin{equation*}
H\left( \boldsymbol{a}^{\prime },c^{\prime }\right) =H\left( \boldsymbol{a},c\right)
\end{equation*}を得ます。つまり、法線ベクトルとスカラーを\(\left( \boldsymbol{a},c\right) \)から\(\left( \boldsymbol{a}^{\prime },c^{\prime }\right) =\left( -\boldsymbol{a},-c\right) \)へ入れ替えても超平面としては変わらないということです。ただし、\(\boldsymbol{a}^{\prime }\ \left( =-\boldsymbol{a}\right) \)は\(\boldsymbol{a}\)とは逆向きのベクトルであるため、上半空間と下半空間は逆転します。つまり、\begin{eqnarray*}H^{+}\left( \boldsymbol{a}^{\prime },c^{\prime }\right) &=&H^{-}\left(
\boldsymbol{a},c\right) \\
H^{-}\left( \boldsymbol{a}^{\prime },c^{\prime }\right) &=&H^{+}\left(
\boldsymbol{a},c\right)
\end{eqnarray*}という関係が成り立つということです。
以上を踏まえた上で、先の命題の結論中の式の両辺をスカラー\(-1\)倍すると、\begin{equation*}-\boldsymbol{a}\cdot \boldsymbol{y}=-c\wedge \forall \boldsymbol{x}\in X:-\boldsymbol{a}\cdot \boldsymbol{x}\geq -c
\end{equation*}すなわち、\begin{equation*}
\boldsymbol{a}^{\prime }\cdot \boldsymbol{y}=c^{\prime }\wedge \left(
\forall \boldsymbol{x}\in X:\boldsymbol{a}^{\prime }\cdot \boldsymbol{x}\geq
c^{\prime }\right)
\end{equation*}すなわち、\begin{equation*}
\boldsymbol{y}\in H\left( \boldsymbol{a}^{\prime },c^{\prime }\right) \wedge
X\subset H^{+}\left( \boldsymbol{a}^{\prime },c^{\prime }\right)
\end{equation*}を得ます。\(\left( \boldsymbol{a},c\right) \)が存在する場合には\(\left( \boldsymbol{a}^{\prime },c^{\prime }\right) =\left( -\boldsymbol{a},-c\right) \)もまた存在するため、先の命題を以下のように表現することもできます。
ユークリッド空間上の集合\(X\subset \mathbb{R} ^{n}\)を任意に選ぶ。\(X\)が\(\mathbb{R} ^{n}\)上の非空な凸集合であるならば、その境界点\(\boldsymbol{y}\in X^{f}\)を任意に選んだとき、\(X\)を\(\boldsymbol{y}\)において支持する超平面\(H\left( \boldsymbol{a},c\right) \)が存在する。具体的には、\begin{equation*}\boldsymbol{y}\in H\left( \boldsymbol{a},c\right) \wedge X\subset
H^{+}\left( \boldsymbol{a},c\right)
\end{equation*}すなわち、\begin{equation*}
\boldsymbol{a}\cdot \boldsymbol{y}=c\wedge \forall \boldsymbol{x}\in X:\boldsymbol{a}\cdot \boldsymbol{x}\geq c
\end{equation*}を満たす法線ベクトル\(\boldsymbol{a}\in \mathbb{R} ^{n}\backslash \left\{ \boldsymbol{0}\right\} \)とスカラー\(c\in \mathbb{R} \)が存在する。
支持関数を用いた支持超平面定理の解釈
支持超平面定理の結論\begin{equation*}
\boldsymbol{a}\cdot \boldsymbol{y}=c\wedge \left( \forall \boldsymbol{x}\in
X:\boldsymbol{a}\cdot \boldsymbol{x}\leq c\right)
\end{equation*}を1つにまとめると、\begin{equation*}
\forall \boldsymbol{x}\in X:\boldsymbol{a}\cdot \boldsymbol{x}\leq
\boldsymbol{a}\cdot \boldsymbol{y}
\end{equation*}となります。このとき、\(\boldsymbol{a}\cdot \boldsymbol{x}\)がとり得る値からなる集合は上に有界であるため、実数の連続性より、\begin{equation*}\sup_{x\in X}\boldsymbol{a}\cdot \boldsymbol{x}
\end{equation*}が有限な実数として定まるとともに、\begin{equation*}
\sup_{x\in X}\boldsymbol{a}\cdot \boldsymbol{x}\leq \boldsymbol{a}\cdot
\boldsymbol{y}
\end{equation*}が成り立ちます。しかも\(\boldsymbol{y}\)は\(X\)の境界点であるため、\begin{equation*}\sup_{x\in X}\boldsymbol{a}\cdot \boldsymbol{x}=\boldsymbol{a}\cdot
\boldsymbol{y}
\end{equation*}を得ます。この意味を以下のように理解できます。
法線ベクトル\(\boldsymbol{a}\in \mathbb{R} ^{n}\backslash \left\{ \boldsymbol{0}\right\} \)とベクトル\(\boldsymbol{x}\in X\)が与えられたとき、\(\boldsymbol{x}\)の\(\boldsymbol{a}\)へのベクトル射影は、\begin{equation*}\mathrm{proj}_{\boldsymbol{a}}\boldsymbol{x}=\frac{\boldsymbol{a}\cdot \boldsymbol{x}}{\left\Vert \boldsymbol{a}\right\Vert ^{2}}\boldsymbol{a}
\end{equation*}として与えられるため、その大きさは、\begin{eqnarray*}
\left\Vert \mathrm{proj}_{\boldsymbol{a}}\boldsymbol{x}\right\Vert
&=&\left\Vert \frac{\boldsymbol{a}\cdot \boldsymbol{x}}{\left\Vert
\boldsymbol{a}\right\Vert ^{2}}\boldsymbol{a}\right\Vert \\
&=&\frac{\left\vert \boldsymbol{a}\cdot \boldsymbol{x}\right\vert }{\left\Vert \boldsymbol{a}\right\Vert ^{2}}\left\Vert \boldsymbol{a}\right\Vert \\
&=&\frac{\left\vert \boldsymbol{a}\cdot \boldsymbol{x}\right\vert }{\left\Vert \boldsymbol{a}\right\Vert }
\end{eqnarray*}となるため、\begin{equation*}
\left\vert \boldsymbol{a}\cdot \boldsymbol{x}\right\vert =\left\Vert
\boldsymbol{a}\right\Vert \cdot \left\Vert \mathrm{proj}_{\boldsymbol{a}}\boldsymbol{x}\right\Vert
\end{equation*}を得ます。特に、\(\boldsymbol{a}\)と\(\boldsymbol{x}\)のなす角が鋭角である場合には\(\boldsymbol{a}\cdot \boldsymbol{x}>0\)であるため、\begin{equation*}\boldsymbol{a}\cdot \boldsymbol{x}=\left\Vert \boldsymbol{a}\right\Vert
\cdot \left\Vert \mathrm{proj}_{\boldsymbol{a}}\boldsymbol{x}\right\Vert
\end{equation*}を得ます。つまり、内積\(\boldsymbol{a}\cdot \boldsymbol{x}\)の値は、\(X\)上のベクトル\(\boldsymbol{x}\)を法線ベクトル\(\boldsymbol{a}\)の方向に射影した場合の到達可能な長さを表しています。\(X\)上のすべてのベクトル\(\boldsymbol{x}\)について同様に\(\boldsymbol{a}\cdot \boldsymbol{x}\)を特定した上で、その中の上限\begin{equation*}\sup_{\boldsymbol{x}\in X}\boldsymbol{a}\cdot \boldsymbol{x}
\end{equation*}をとれば、これは、\(X\)に属するすべてのベクトルを法線ベクトル\(\boldsymbol{a}\)の方向に射影した場合の到達可能な長さの上限を表しています。そのような中で、\begin{equation*}\sup_{\boldsymbol{x}\in X}\boldsymbol{a}\cdot \boldsymbol{x}=\boldsymbol{a}\cdot \boldsymbol{y}
\end{equation*}が成り立つこととは、\(X\)に属するベクトルを\(\boldsymbol{a}\)の方向に射影した場合の到達可能な長さの上限が、\(\boldsymbol{y}\)を\(\boldsymbol{a}\)の方向に射影した場合の長さと一致することを意味します。したがって、この場合には\(X\)を\(\boldsymbol{y}\)において支持する超平面が存在します。しかも、境界点\(\boldsymbol{y}\)は超平面\(H\left( \boldsymbol{a},c\right) \)上に存在するため、\begin{equation*}\boldsymbol{a}\cdot \boldsymbol{y}=c
\end{equation*}すなわち、\begin{equation*}
\sup_{\boldsymbol{x}\in X}\boldsymbol{a}\cdot \boldsymbol{x}=c
\end{equation*}を得るため、\(X\)を\(\boldsymbol{y}\)において支持する超平面は、\begin{equation*}H\left( \boldsymbol{a},\sup_{\boldsymbol{x}\in X}\boldsymbol{a}\cdot
\boldsymbol{x}\right)
\end{equation*}となります。
ちなみに、非空かつ凸な閉集合\(X\subset \mathbb{R} ^{n}\)が与えられたとき、それぞれの非ゼロベクトル\(\boldsymbol{a}\in \mathbb{R} ^{n}\backslash \left\{ \boldsymbol{0}\right\} \)に対して、\begin{equation*}h_{X}\left( \boldsymbol{a}\right) =\sup_{\boldsymbol{x}\in X}\boldsymbol{a}\cdot \boldsymbol{x}
\end{equation*}を定める関数\begin{equation*}
h_{X}:\mathbb{R} ^{n}\backslash \left\{ 0\right\} \rightarrow \mathbb{R} \end{equation*}を支持関数と呼びます。支持関数を用いると、先の命題を、\begin{equation*}
h_{X}\left( \boldsymbol{a}\right) =\boldsymbol{a}\cdot \boldsymbol{y}
\end{equation*}と表現できるとともに、\(X\)を\(\boldsymbol{y}\)において支持する超平面は、\begin{equation*}H\left( \boldsymbol{a},h_{X}\left( \boldsymbol{a}\right) \right)
\end{equation*}となります。その直感的意味は先述の通りです。
演習問題
\end{equation*}を満たす法線ベクトル\(\boldsymbol{a}\in \mathbb{R} ^{n}\backslash \left\{ \boldsymbol{0}\right\} \)が存在します。その一方で、内点\(y\in X^{i}\)に関しては、\begin{equation*}\sup_{\boldsymbol{x}\in X}\boldsymbol{a}\cdot \boldsymbol{x}>\boldsymbol{a}\cdot \boldsymbol{y}
\end{equation*}が成り立つことを示してください。
\end{equation*}が与えられているものとします。以下の問いに答えてください。
- 支持関数\(h_{X}\left( \boldsymbol{a}\right) \)を求めてください。
- 境界点\(\boldsymbol{y}\in X^{f}\)における支持超平面を求めてください。
プレミアム会員専用コンテンツです
【ログイン】【会員登録】