SVM ではカーネルをどう選ぶかが実用的な性能に大きく影響する. そこでカーネルを設計したり,カーネルをも適応的に変化させるような 研究が盛んに行われている.
最近ではバイオインフォマティクスやデータ・テキストマイニングといった
問題にカーネル法を適用することも多いので,入力空間 として
実数ベクトルだけでなく,文字列やグラフといったものを対象とすることも
多い. そういった複雑なものからいかに効率的にカーネル関数を計算するか
も研究対象となっている.
代表的なものにストリングカーネルと呼ばれるものがあり,これは
有限アルファベット系列
,
があったとき,
それらに共通して含まれる部分文字列の数を
の
値とするものである.
この計算は再帰的な処理により効率的に行うことができ,長さ
の部分文字
列までの計算が
のオーダーの計算量で
済むことが知られている.
また,あるカーネルから別のカーネルを作ったり,複数のカーネルの組み合わせ によってより適切なカーネルを作ることができる.
Mercer カーネル
があったとき,
以下で計算される
も Mercer カーネルとなる.
なお簡単のため
等を単に
と略記する.
;
;
;
;
;
; ただし
,
は自然数.
他に,コンフォーマル変換
も半正定値性を保存する (
).
SVM の性能を上げるためにカーネルを変形・学習するという研究はいくつか ある. Amari ら[4]はカーネル関数が定める入力空間の計量を定義し, サポートベクターの付近の解像度を上げるようにカーネルにコンフォーマル変換 を行うアプローチを検討している. また,筆者[3]は,SVM が特徴空間のマージンを最大化するのに対して, 入力空間でのマージンを最大化したほうが自然な場合があるのではないかという 考えからカーネルを変形するのと類似のアルゴリズムを提案した.
さて,Mercer カーネルをサンプルに対して計算して行列の形にしたものは, 結局は半正定値行列である. 半正定値行列は平均 0 の正規分布の分散と 同一視することにより,情報幾何的な扱いが可能となる[14]. Tsuda ら[22]はカーネル行列に欠損値があるとき,補助的な 情報を使ってその欠損値を EM アルゴリズムを用いて補完する方法を提案した. その他バイオインフォマティクスなどへの応用に関するカーネル設計については 津田[20]を参照されたい.