北野坂備忘録

主にインストールやプログラミングのメモを載せています。

再生核ヒルベルト空間

 カーネル関数の説明をしたときに飛ばしたんですが、説明を求められた人がいたそうなのでこちらも解説していきます。
 最近出たサポートベクトルマシンの専門書でも、再生核ヒルベルト空間については解説が入っていないことが多い。
 良く見かけるであろうこの本にもありませんでした。


サポートベクトルマシン (機械学習プロフェッショナルシリーズ)

 以前に「しましま先生のところに再生核ヒルベルト空間の話が無い」と言っていたのですが、嘘です。ありました。
 「再生核Hilbert空間」というオシャンティーな表記になっているので見つけられなかった模様。
再生核Hilbert空間 - 機械学習の「朱鷺の杜Wiki」


 まずはヒルベルト空間の説明ですね。
 これはユークリッド空間を一般化したものです。
 一般化するというとよく分かりませんが、逆のほうが分かりやすい。
 逆は「特殊化」です。「特殊化」っていうもの数学以外であまり聞きませんが。
 つまり、ヒルベルト空間のうち、特殊なものがユークリッド空間になります。
 ただ、ユークリッド空間から考えると良く分からないと思いますので、より大元となる最も一般化された空間から考えたほうがいいでしょう。
 
 最初に「ベクトル空間」から始まります。
 ベクトル空間に長さの概念の一般化である「ノルム」を足すと「ノルム空間」。
 そのノルムが定める距離構造が完備であれば「バナッハ空間」。
 対して内積と呼ばれる付加的な構造を備えたベクトル空間を「内積空間(計量ベクトル空間)」。「内積空間」はノルム空間でもあります。
 内積に付随するノルムの定める距離に関して完備となる空間を「ヒルベルト空間」と言います。ヒルベルト空間は「バナッハ空間」でもあります。
 以下の図を見てください。
f:id:kenichia:20170516195943p:plain

 続いて「再生核ヒルベルト空間」の話に入ります。
 「再生核ヒルベルト空間」は「再生カーネルヒルベルト空間」「RKHS」などとも表記されます。
 以前「半正定値カーネル」の話をしました。カーネル法の文脈では「正定値カーネル」のほうが一般的です。
 正定値カーネルは「再生性」を持ちます。
 「再生性」についてはこちらが分かりやすい。
qiita.com
 ここで先ほどの「ヒルベルト空間」に戻ります。
 「ヒルベルト空間」には内積構造があるわけですが、この内積を「再生性」があるように定めた特殊なヒルベルト空間を「再生核ヒルベルト空間」と言います。
 「再生核ヒルベルト空間」の「再生核」は正定値カーネルになります。実は正定値カーネルと再生核ヒルベルト空間は1対1の関係になっていまして、これを「正定値カーネルは、再生核ヒルベルト空間を定める」と表現します。
 詳しくはこちらをご覧ください。
再生核ヒルベルト空間を用いた非線形データ解析法(福水健次氏)


 まとめますと、

・「再生核ヒルベルト空間」とは、内積を「再生性」があるように定めたヒルベルト空間である。
・再生核ヒルベルト空間の「再生核」は「正定値カーネル」であり、「再生核ヒルベルト空間」と「正定値カーネル」は1対1の関係になっている。

となります。

 で、結局「再生性」があると何がうれしいのか。
 内積計算が元空間のカーネルで計算できます。これが正定値カーネルを用いる利点なわけです。
 他にも「再生核ヒルベルト空間」を定義することで様々な利点が得られます。
 もともと数学の各分野で「再生核ヒルベルト空間」が使われていたので、その利点に気付いた人が機械学習に持ち込んだわけです。
 ただ、最近の機械学習>サポートベクトルマシン>カーネル関数で「再生核ヒルベルト空間とは何か説明しろ」とまで聞かれることはまずないので前回は飛ばしましたし、サポートベクトルマシンの専門書でもそこまで扱わなくなってきています。