回答:
最後に、カーネルベースの方法の入門として、Yaser Abu-Mostafa教授による「データから学ぶ」オンラインコースをお勧めします。具体的には、講義「Support Vector Machines」、「Kernel Methods」、および「Radial Basis Functions」はカーネルに関するものです。
(少なくともSVMの)カーネルについて考える非常にシンプルで直感的な方法は、類似性関数です。2つのオブジェクトが与えられると、カーネルは類似性スコアを出力します。オブジェクトは、2つの整数、2つの実数値ベクトル、カーネル関数がそれらを比較する方法を知っていることを条件とするツリーから始まるものです。
おそらく最も単純な例は、ドット積とも呼ばれる線形カーネルです。2つのベクトルが与えられた場合、類似度は、1つのベクトルの別のベクトルへの投影の長さです。
別の興味深いカーネルの例は、ガウスカーネルです。2つのベクトルが与えられると、半径はで減少します。2つのオブジェクト間の距離は、この半径パラメーターによって「再重み付け」されます。
カーネルを使用した学習(少なくともSVMの場合)の成功は、カーネルの選択に大きく依存します。カーネルは、分類問題に関する知識のコンパクトな表現として見ることができます。多くの場合、問題に固有です。
カーネルが使用されているので、私は、カーネル決定関数を呼び出すことはありません内部の意思決定機能。分類するデータポイントが与えられると、決定関数は、そのデータポイントを学習パラメーター重み付けされたサポートベクトルの数と比較することにより、カーネルを利用します。サポートベクトルはそのデータポイントのドメイン内にあり、学習されたパラメーターに沿ってが学習アルゴリズムによって検出されます。
次のデータセットを考えてみましょう。黄色と青色のポイントは、2次元で明らかに線形に分離できません。
これらの点が線形に分離可能な高次元の空間を見つけることができれば、次のことができます。
これらの点が線形に分離できる高次元の空間がたくさんあります。一例です
これは、カーネルトリックの出番です。上記の素晴らしい答えを引用する
マッピングがあり、ベクトルをいくつかの特徴空間に持っていったとします。この空間でのとの内積はです。カーネルは、この内積に対応する関数です。つまり、
上記の機能マップと同等のカーネル関数を見つけることができれば、線形SVMにカーネル関数をプラグインして、非常に効率的に計算を実行できます。
なお、上記の特徴マップは、周知のに対応していることが判明多項式カーネル:。してみましょうと私たちが取得し
非常に簡単に(しかし正確に)カーネルは、 2つのデータシーケンス間の重み係数です。この重み係数は、一つ「にさらに重みを割り当てることができ、データ点 1」の「時刻他の」よりも「データポイント」、または同等の重みを割り当てるか、または他の「ために、より重みを割り当てるデータ・ポイント」など。
このように、相関(内積)は、あるポイントで他のポイントより多くの「重要度」を割り当てることができるため、非線形性(非平坦なスペースなど)、追加情報、データ平滑化などに対処できます。
さらに別の方法では、カーネルは、上記のものに対処するために2つのデータシーケンスの相対次元(または次元単位)を変更する方法です。
3番目の方法(前の2つに関連する)では、カーネルは、 特定の情報または基準(曲線空間、欠損データ、データなど)を考慮して、1つのデータシーケンスを1対1でマップまたは投影する方法です。再注文など)。そのため、たとえば、1つのデータシーケンスを1対1に適合またはマッピングするために、特定のカーネルが1つのデータシーケンスを引き伸ばしたり、縮めたり、切り取ったり、曲げたりすることがあります。
カーネルは次のように行動することができ、プロクラステス「にするために最善をフィット」