甲斐性なしのブログ

うどんくらいしか食べる気がしない

超平面と点の距離の求め方を少し抽象的に書いてみる

はじめに

以下の書籍を読み関数解析のお気持ちを理解しつつあるので、今回は備忘録がてら超平面と点の距離を抽象ヒルベルト空間の観点で記述してみる。

なお話を簡単にするために、超平面は必ず原点を通るものとする。

n次元実ベクトル空間\mathbb{R}^{n}における超平面と点の距離

まずは通常の線形代数の範疇で超平面と点の距離を記述する。超平面上の点を\mathbf{x} \in \mathbb{R}^{n}とすると、超平面は原点を通るとしているのでその方程式は適当な法線ベクトル\mathbf{v} \in \mathbb{R}^{n}を用いて、

\displaystyle
\mathbf{v}^T \mathbf{x} = 0
\tag{1}

と表される。この超平面と任意の\mathbf{x}_0 \in \mathbb{R}^nの距離だが、これは\mathbf{x}_0を超平面上に射影した点\bar{\mathbf{x}}_0\mathbf{x}_0の距離にあたる。超平面上の部分空間と\mathbf{v}が張る空間は直交しているため\bar{\mathbf{x}}_0\mathbf{x}_0の関係は\alpha \in \mathbb{R}を用いて

\displaystyle
\mathbf{x}_0 = \bar{\mathbf{x}}_0 + \alpha \mathbf{v}
\tag{2}

が成り立つ。ということで超平面と\mathbf{x}_0の距離d

\displaystyle
d = \parallel \mathbf{x}_0 - \bar{\mathbf{x}}_0 \parallel_2 = \parallel  \bar{\mathbf{x}}_0 + \alpha \mathbf{v} -  \bar{\mathbf{x}}_0 \parallel_2 =  |\alpha|  \parallel \mathbf{v} \parallel_2
\tag{3}

となる。\alphaだが、これは式(2)の両辺に\mathbf{v}^Tをかけて、\bar{\mathbf{x}}_0 は超平面上の点なので\mathbf{v}^T\bar{\mathbf{x}}_0 = 0であることに注意すると、

\displaystyle
\alpha = \frac{\mathbf{v}^T \mathbf{x}_0}{\mathbf{v}^T\mathbf{v}} = \frac{\mathbf{v}^T \mathbf{x}_0}{\parallel \mathbf{v} \parallel_2^2}
\tag{4}

となるので、後はこれを式(3)に代入して

\displaystyle
d =\frac{|\mathbf{v}^T \mathbf{x}_0|}{\parallel \mathbf{v} \parallel_2} = \frac{|\mathbf{v}^T \mathbf{x}_0|}{\sqrt{\mathbf{v}^T \mathbf{v}}} 
\tag{5}

を得る。

ヒルベルト空間の定義と諸定理

次にこれをヒルベルト空間上の議論へ抽象化してみる。が、そもそもヒルベルト空間とは?その超平面とは?距離とは?という話なので、本題に入る前に今回の議論に必要な定義および定理を紹介する。

ヒルベルト空間の定義

まずヒルベルト空間\mathcal{H}の定義を述べる。

  • ベクトル空間であること
  • 任意の元\mathbf{x}, \mathbf{y} \in \mathcal{H}に対し、内積\langle \mathbf{x}, \mathbf{y} \rangle_{\mathcal{H}}が定義されていること
    • この内積内積の定義さえ満たしていればよい
    • この内積によってノルムが \parallel \mathbf{x} \parallel_{\mathcal{H}} = \sqrt{\langle \mathbf{x}, \mathbf{x} \rangle_{\mathcal{H}}}として定まる
    • さらにこのノルムより2点\mathbf{x}, \mathbf{y}の距離関数がd(\mathbf{x}, \mathbf{y} ) =\parallel\mathbf{x} - \mathbf{y} \parallel_{\mathcal{H}} として定まる
  • 上述の距離関数に関して完備であること
    • すなわち、任意のコーシー列(\parallel \mathbf{x}_m - \mathbf{x}_n \parallel_{\mathcal{H}} \rightarrow 0 \ (m, n \rightarrow \infty))が\mathcal{H}の元に収束すること

なお、完備でない内積空間も完備化という操作によって元の追加と内積の拡張を行うことでヒルベルト空間に変換することができる。

射影定理

ヒルベルト空間には完備性があるおかげて射影定理が成り立ち、これにより通常の線形代数と同じような議論を行うことができる。射影定理とは以下のような定理である。

\mathcal{M}\mathcal{H}の閉部分空間(任意の\alpha, \beta \in \mathbb{R}, \ \  \mathbf{x}_1, \mathbf{x}_2 \in \mathcal{M}に対して\alpha \mathbf{x}_1 + \beta \mathbf{x}_2 \in \mathcal{M}が成り立つ閉集合)、\mathcal{M}^{\perp}\mathcal{M}と直交するベクトル全体とする。このとき、\mathbf{x} \in \mathcal{H}に対し、\mathbf{x} = \mathbf{y} + \mathbf{z} \ \ (\mathbf{y} \in \mathcal{M}, \mathbf{z} \in \mathcal{M}^{\perp}) となる分解が一意に存在する。また、この時\mathbf{y} \mathcal{M}上で最も\mathbf{x}との距離が最小になる唯一の点である*1

この\mathbf{y}\mathbf{x}\mathcal{M}上への直交射影と呼びその作用素P_{\mathcal{M}}と表す。同様に \mathcal{M}^{\perp}上への直交射影作用素P_{\mathcal{M}^{\perp}}と表す。従って、\mathbf{x} = P_{\mathcal{M}}\mathbf{x}+ P_{\mathcal{M}^{\perp}}\mathbf{x} と表すことができる。また、このような分解を直交分解と呼ぶ。

証明は書籍等に譲るが、完備性が射影定理にどう絡んでくるかだけ見ておくと、d = \inf_{\mathbf{y} \in \mathcal{M}} \parallel \mathbf{x} -   \mathbf{y} \parallel_{\mathcal{H}}となる \mathcal{H}の元\mathbf{y} が存在し、d = \min_{\mathbf{y} \in \mathcal{M}} \parallel \mathbf{x} -   \mathbf{y} \parallel_{\mathcal{H}}となることを保証するために必要になる。具体的には、任意のn \in \mathbb{N}に対し、 d^{2} \leq \parallel \mathbf{x} -   \mathbf{y}_n \parallel_{\mathcal{H}}^2 \lt d^{2} + \frac{1}{n^{2}} となる\mathbf{y}_n \in \mathcal{M}が存在し、また点列(\mathbf{y}_n)_{n=1}^\inftyがコーシー列となることから\parallel \mathbf{y}_n -  \mathbf{y}_{*} \parallel = 0 \ \  (n \rightarrow \infty)である\mathbf{y}_{*}  \in \mathcal{M}の存在を保証するために完備性が必要となる。

線形汎関数とリースの表現定理

ヒルベルト空間\mathcal{H}上に定義された写像\varphi: \mathcal{H} \rightarrow \mathbb{R}\varphi(\alpha \mathbf{x} + \beta \mathbf{y}) = \alpha \varphi(\mathbf{x}) + \beta \varphi( \mathbf{y}) \ \ (\alpha, \beta \in \mathbb{R}, \ \  \mathbf{x}, \mathbf{y} \in \mathcal{H})を満たすとき\varphi\mathcal{H}上の線形汎関数と呼ぶ。また、\parallel \varphi \parallel = \sup_{ \parallel \mathbf{x} \parallel_{\mathcal{H}} \leq 1} |\varphi(\mathbf{x})|と定め、この量が有限である場合\varphi有界であるという。加えて、\varphi有界であることと\varphiが連続であることは同値である。

リースの表現定理はこの有界な線形汎関数\varphiについて以下のことを主張する定理である。

\displaystyle 
\varphi(\mathbf{x}) = \langle \mathbf{x}, \mathbf{v} \rangle_{\mathcal{H}}
\tag{6}

となる\mathbf{v} \in \mathcal{H}が一意に存在する。

これまた詳細な証明は書籍に譲り、ここでは存在性についてのみ述べる。存在性の証明には以下の補題が必要になる。

  1. 零空間\mathcal{M} = \ker \varphi=\left\{\mathbf{x} \in \mathcal{H} : \varphi(\mathbf{x}) =0 \right\} は閉部分空間
  2. \dim \mathcal{M}^{\perp} = 1

1.に関しては部分空間であることは\varphiの線形性から明らかで、閉集合であることは\varphiの連続性と\left\{0\right\}\mathbb{R}閉集合であることから逆像\mathcal{M} = \varphi^{-1}(\left\{0\right\})によって示される。

2.は\dim \mathcal{M}^{\perp}  \gt 1である場合は \mathbf{y} \in  \mathcal{M}^{\perp} に対して直交な \mathbf{z} \in  \mathcal{M}^{\perp} を取れるが、\varphi(\mathbf{y}) \neq 0, \varphi(\mathbf{z}) \neq 0であるため適当な定数を選んで\varphi(\mathbf{y}) = \lambda \varphi(\mathbf{z})が成り立つ。線形性より\varphi(\mathbf{y}- \lambda \mathbf{z}) = 0となるため、\mathbf{y}- \lambda \mathbf{z} \in \mathcal{M}である。従って、\langle \mathbf{y}, \mathbf{y}- \lambda \mathbf{z} \rangle_{\mathcal{H}} = 0であり、 \mathbf{z} \mathbf{y}と直交になるように選んでいることから\langle \mathbf{y}, \mathbf{y}- \lambda \mathbf{z} \rangle_{\mathcal{H}} = \langle \mathbf{y}, \mathbf{y} \rangle_{\mathcal{H}} - \langle  \mathbf{y}, \lambda \mathbf{z} \rangle_{\mathcal{H}}  =\parallel \mathbf{y} \parallel_{\mathcal{H}}^2 = 0が得られるため\mathbf{y} = \mathbf{0}である。よって、\mathcal{M}^{\perp}の中で\mathbf{z} \in \mathcal{M}^{\perp}と直交するのは\mathbf{0}のみということは\dim \mathcal{M}^{\perp} = 1だといえる。

さて、この2によって\mathcal{M}^{\perp}上の任意の点は\mathbf{z} \in \mathcal{M}^{\perp} \ \  (\parallel \mathbf{z} \parallel_{\mathcal{H}}=1)を用いて、\alpha \mathbf{z} \ (\alpha \in \mathbb{R})と表現できる。これと1によって任意の\mathbf{x} \in \mathcal{H}\mathbf{x} = P_{\mathcal{M}} \mathbf{x} + \alpha \mathbf{z}と直交分解でき、加えて、

\displaystyle 
\begin{align}
\varphi(\mathbf{x}) &= \varphi(P_{\mathcal{M}} \mathbf{x} + \alpha \mathbf{z}) \\
&= \varphi(P_{\mathcal{M}} \mathbf{x}) + \alpha \varphi(\mathbf{z})\\
&= \alpha \varphi(\mathbf{z}) \\
&= \alpha \varphi(\mathbf{z}) \left(\langle \frac{1}{\alpha} P_{\mathcal{M}} \mathbf{x}, \mathbf{z}  \rangle_{\mathcal{H}} + \langle \mathbf{z}, \mathbf{z} \rangle_{\mathcal{H}} \right) \\
&= \alpha \varphi(\mathbf{z}) \langle \frac{1}{\alpha} P_{\mathcal{M}} \mathbf{x} +  \mathbf{z}, \mathbf{z} \rangle_{\mathcal{H}}\\
&= \langle P_{\mathcal{M}} \mathbf{x} + \alpha  \mathbf{z}, \varphi(\mathbf{z}) \mathbf{z}  \rangle_{\mathcal{H}} \\
&= \langle \mathbf{x} , \varphi(\mathbf{z}) \mathbf{z}   \rangle_{\mathcal{H}} \\
\end{align} 
\tag{7}

と展開できる。そして、有界性より\varphi(\mathbf{z})が有限値になることが保証されているので、式(7)の最後の式において\mathbf{v} =\varphi(\mathbf{z}) \mathbf{z} とすれば式(6)が得られリースの表現定理における存在性が示される。

ヒルベルト空間における超平面と点の距離

ようやく本題だが、ここまでくると最初に述べた実ベクトル空間上の議論とあまり変わらない。以下、前章の結果を用いてヒルベルト空間上の超平面と点の距離の導出を行い、その後に具体的な元と内積が定義されたヒルベルト空間に対し導出した結果を適用した例を示す。

導出

これまでの議論によりヒルベルト空間における超平面とは\mathcal{H}上の有界線形汎関数\varphiにより、

\displaystyle
\varphi(\mathbf{x}) = 0 \ \ (\mathbf{x} \in \mathcal{H})
\tag{8}

となる\mathbf{x}の集合のことだといえる。つまりそれは零空間\mathcal{M} = \ker \varphi であり、それと任意の\mathbf{x}_0 \in \mathcal{H}との距離は

\displaystyle
d = \parallel \mathbf{x}_0 - P_{\mathcal{M}} \mathbf{x}_0\parallel_\mathcal{H}=\parallel P_{\mathcal{M}} \mathbf{x}_0 + P_{\mathcal{M}^{\perp}} \mathbf{x}_0 - P_{\mathcal{M}} \mathbf{x}_0\parallel_\mathcal{H}= \parallel P_{\mathcal{M}^{\perp}} \mathbf{x}_0\parallel_\mathcal{H}
\tag{9}

だといえる。また、前章の議論より\varphi(\mathbf{x}) = \langle \mathbf{x}, \mathbf{v} \rangle_{\mathcal{H}} と書け、P_{\mathcal{M}^{\perp}} \mathbf{x}_0= \alpha \mathbf{v}となる。よって、

\displaystyle
d = \parallel P_{\mathcal{M}^{\perp}} \mathbf{x}_0\parallel_{\mathcal{H}} = | \alpha | \parallel \mathbf{v} \parallel_{\mathcal{H}}
\tag{10}

と式(3)とノルム以外同じ形になる。さらに、

\displaystyle
\varphi(\mathbf{x}_0) = \varphi(P_{\mathcal{M}} \mathbf{x}_0 + \alpha \mathbf{v}) = \varphi(P_{\mathcal{M}} \mathbf{x}_0 )+ \alpha \varphi(\mathbf{v})

\tag{11}

であるが、\mathcal{M}\varphiの零空間であることを思い出すと \varphi(P_{\mathcal{M}} \mathbf{x}_0 ) = 0なので、

\displaystyle
\alpha = \frac{\varphi(\mathbf{x}_0) }{\varphi(\mathbf{v})} =  \frac{\varphi(\mathbf{x}_0) }{\parallel \mathbf{v} \parallel_{\mathcal H}^2}

\tag{12}

となる。これを式(10)に代入することで、

\displaystyle
d =  \frac{|\varphi(\mathbf{x}_0) | }{ \parallel \mathbf{v} \parallel_{\mathcal{H}} }  = \frac{|\langle \mathbf{x}_0, \mathbf{v}\rangle_{\mathcal{H}} |}{\parallel \mathbf{v} \parallel_{\mathcal{H}} } =  \frac{|\langle \mathbf{x}_0, \mathbf{v}\rangle_{\mathcal{H}} |}{\sqrt{\langle \mathbf{v}, \mathbf{v}  \rangle_{\mathcal{H}}} }
\tag{13}

が得られる。

具体例

式(13)で超平面と点の距離を求める例として、最初に述べたn次元実ベクトル空間の例とカーネル関数と呼ばれる関数から導かれるヒルベルト空間の例を挙げる。

n次元実ベクトル空間再考

式(13)を使って、n次元実ベクトルにおける超平面と点の距離を求める。まず、\mathbf{x}, \mathbf{y} \in \mathbb{R}^n内積\langle \mathbf{x}, \mathbf{y} \rangle_{\mathbb{R}^n} = \mathbf{x}^T \mathbf{y}であり、超平面は\varphi(\mathbf{x}) = \langle \mathbf{x}, \mathbf{v} \rangle_{\mathbb{R}^n} = \mathbf{x}^T \mathbf{v}  = \mathbf{v}^T \mathbf{x} = 0なので、そのまま式(13)に当てはめると式(5)が得られる。

カーネル関数によって定義されるヒルベルト空間

まず、2変数x_1, x_2 \in \mathcal{X}上の半正定値対称関数k(x_1, x_2)カーネル関数と呼ぶ。また、カーネル関数の2変数のうち一方を固定した1変数関数をk(\cdot, x) = k_{x}(\cdot) = k_{x}と表記する。今、この1変数関数の有限個の線形和f = \sum_{i} {a_i} k_{x_i} \ (a_i \in \mathbb{R}) が要素である集合\mathcal{V}を考える。k_{x} \mathcal{V}の要素である。そして、この集合\mathcal{V}に対して内積を次のように定義する。

f = \sum_{i} {a_i} k_{x_i}, \ \  g =  \sum_{j} {b_j} k_{y_j} \in \mathcal{V}に対し、

\displaystyle
\langle f, g \rangle_{\mathcal{V}} = \sum_{i}   \sum_{j} {a_i} {b_j} k(y_j, x_i)

\tag{14}

カーネル関数の半正定値対称性から内積の定義を満たす*2。 このようにして定義した内積空間\mathcal{V}を完備化することによりヒルベルト空間\mathcal{H}_kを得る。これでこの節で考える空間を構築できた。なお、\mathcal{V} \subset \mathcal{H}_kであり、f, g \in \mathcal{V}であれば\langle f, g \rangle_{\mathcal{V}} = \langle f, g \rangle_{\mathcal{H}_k}である。

それでは、\varphi(f) = \langle f,   \sum_{i} {c_i} k_{z_i} \rangle_{\mathcal{H}_k} = 0\ \ (c_i \in \mathbb{R}, z_i \in \mathcal{X})となる超平面とf = k_{x} の距離を式(13)を使って計算してみる。そのまま式(13)に代入することで、

\displaystyle
d =  \frac{|\langle k_x, \sum_{i} {c_i} k_{z_i} \rangle_{\mathcal{H}_k} |}{\parallel \sum_{i} {c_i} k_{z_i} \parallel_{\mathcal{H}_k} } =  \frac{ |\sum_{i}    {c_i}  k( z_i, x) |}{\sqrt{\sum_i \sum_j c_i c_j k(z_i, z_j)}}

\tag{15}

が得られる。

もう少しこの空間について詳しく述べると、このように定めた\mathcal{H}_kは再生核ヒルベルト空間と呼ばれ、\mathcal{X}上の関数f \in \mathcal{H}_kx \in \mathcal{X}を代入する操作がf(x) = \langle f, k_{x} \rangle_{\mathcal{H}_k}内積の形で表される「再生性」という性質がある。この性質によってリプレゼンター定理などカーネル法における重要な定理が導かれる。また、再生性は完備化によって得られる元についても成り立つので任意のf \in \mathcal{H}_kと上述の超平面の距離は

\displaystyle
d =  \frac{|\langle f, \sum_{i} {c_i} k_{z_i} \rangle_{\mathcal{H}_k} |}{\parallel \sum_{i} {c_i} k_{z_i} \parallel_{\mathcal{H}_k} } = \frac{|\sum_{i} {c_i}\langle f,  k_{z_i} \rangle_{\mathcal{H}_k} |}{\parallel \sum_{i} {c_i} k_{z_i} \parallel_{\mathcal{H}_k} } =  \frac{ |\sum_{i}    {c_i}  f(z_i) |}{\sqrt{\sum_i \sum_j c_i c_j k(z_i, z_j)}}

\tag{16}

になる。

最後に

今回、抽象的なヒルベルト空間における超平面と点の距離導くため、必要な定義と諸定理について記述した。もちろん今回挙げた例以外にもヒルベルト空間上であれば同じ議論が成り立つ。例えば、閉区間[a, b]上の連続関数の集合C[a, b]についても内積を定義し、それを完備化すればヒルベルト空間になるため今回の議論が成り立つ*3

本記事では超平面と点の距離をトピックとして取り上げたが、それに限らず一度抽象的な世界で議論してその中で成り立つ法則を見つけると、具象の世界ではそれを適用するだけでいいのでかなり有難い。関数解析はその有難みを特に感じられる分野な気がする。

参考文献

*1:この最良近似性は閉部分空間よりも広い集合である閉凸集合に対して成り立つ。

*2:『半』正定値だと内積の定義のうち\langle f, f \rangle_{\mathcal{V}} = 0 \Leftrightarrow f = 0 が成り立たない気もしたが、これは後述の再生性とコーシー・シュワルツの不等式を使って成り立つことが示せる(詳しくは書籍を参照)。

*3:これを具体例の1つとして挙げようかとも思ったがルベーグ積分の知識が必要になりそうで今回は力が及ばなかった。