サポートベクターマシンは、分類、新奇性検出、回帰のための優れたツールである。ksvmは、ネイティブのマルチクラス分類の定式化や境界制約SVMの定式化とともに、よく知られたC-svc、ν-svc、(分類)one-class-svc(新奇性)eps-svr、ν-svr(回帰)の定式化をサポートしている。 ksvmは、クラス確率の出力と回帰の信頼区間もサポートする。
type
type
パラメータは SVM をどのように適用するかを指定するために使われる。
C-svc (C classification): これは通常の SVM 分類器で、二クラスまたは多クラスの分類問題に使用される。ハイパーパラメータ C を用いて誤分類のトレードオフを調整する。
nu-svc (nu classification): こちらも分類器であり、C の代わりに nu パラメータを使用する。nu は訓練誤差とサポートベクタの割合の上限を表し、パラメータの設定が少し直感的ではないものの、実践的に有用である。
C-bsvc (bound-constraint svm classification): これはバウンド制約付きの SVM で、データ点が正しいクラスに属する確信度を強制することができる。
spoc-svc (Crammer, Singer native multi-class): これは Crammer と Singer によるネイティブの多クラス分類法で、直接多クラス問題に対応することができるため、他の一対一や一対全の方法よりも効率的である。
kbb-svc (Weston, Watkins native multi-class): Weston と Watkins によるもう一つのネイティブ多クラス分類法で、spoc-svc 同様に多クラス問題に直接対応する。
one-svc (novelty detection): これは新規性検出(異常検出)に使用され、データセットの主要な特性から逸脱する新しいデータポイントを特定する。
eps-svr (epsilon regression): ε-SVR は回帰問題に使用され、ε の範囲内での誤差を無視することでモデルを訓練する。
nu-svr (nu regression): この回帰も nu パラメータを使用し、SVR でのサポートベクタの割合と訓練誤差のバランスを取る。
eps-bsvr (bound-constraint svm regression): バウンド制約付きの回帰モデルで、特定の条件下での回帰問題に対する制約を課すことができる。
これらの type
の選択は、扱うデータの特性(分類、回帰、異常検出)、問題の要件、および特定の SVM の振る舞いに基づいて行われる。例えば、データがラベル付きでクラス間の明確な境界が必要な場合は C-svc
や nu-svc
が適切であり、データが連続的な値を持つ回帰問題の場合は eps-svr
や nu-svr
を選択される。
kernel
ksvm
関数で使用されるカーネルは、訓練および予測時にデータの内積を特徴空間で計算する機能を持っている。カーネルは、非線形のデータ構造を扱う際に特に有効であり、異なるタイプのカーネルが特定のデータセットや問題に対して適切な変換を提供する。以下は kernlab
で提供されている主なカーネル関数である:
rbfdot (Radial Basis kernel "Gaussian"): ガウスカーネルまたはRBFカーネルとも呼ばれる。データ点間のユークリッド距離を基にして類似度を計算する。
polydot (Polynomial kernel): 多項式カーネルはデータポイント間の内積を基にして、それをある固定された次数まで累乗し、データの特徴を高次元へ射影する。
vanilladot (Linear kernel): 線形カーネルは、入力された特徴の線形組み合わせのみを考慮する最も単純なカーネルである。
tanhdot (Hyperbolic tangent kernel): 双曲線正接関数を用いるカーネルで、ニューラルネットワークの活性化関数と類似の性質を持つ。
laplacedot (Laplacian kernel): ラプラスカーネルはガウスカーネルに似ているが、急激な変化をより強く反映する。
besseldot (Bessel kernel): ベッセル関数に基づくカーネルで、波動の伝播などの問題に適用可能である。
anovadot (ANOVA RBF kernel): ANOVA RBF カーネルは、異なる特徴間の交互作用をモデル化することに特化しており、特に複数の特徴があるデータセットに適している。
splinedot (Spline kernel): スプライン関数を基にしたカーネルで、データに滑らかな曲線をフィットさせるのに適している。
stringdot (String kernel): 文字列やテキストデータに基づくカーネルで、シーケンスデータの類似度を計算する際に用いられる。
これらのカーネルは、データの特性や分析の目的に応じて選択される。たとえば、非線形の関係をモデル化する必要がある場合は RBF カーネルが適しているが、データが既に十分な特徴を持っている場合は線形カーネルが効果的である。また、テキストの類似度を評価する必要がある場合には、stringdot カーネルが使用される。
kpar: kernel parameters
ksvm
関数のカーネル関数で使用されるハイパーパラメータは、カーネルに応じて異なるパラメータを設定することができる。これらのパラメータはカーネル関数の挙動を調整し、モデルの精度や汎化能力に影響を与える。以下は、kernlab
パッケージでサポートされている各カーネル関数のための有効なパラメータについての説明である:
rbfdot および laplacedot (Radial Basis および Laplacian kernel):
polydot (Polynomial kernel):
tanhdot (Hyperbolic tangent kernel):
besseldot (Bessel kernel):
anovadot (ANOVA RBF kernel):
stringdot (String kernel):
これらのハイパーパラメータは、データの特性やモデリングの目的に応じて適切に調整される必要がある。適切なパラメータの設定は、モデルの学習効果と予測精度に直接的な影響を与えるため、実験を通じて最適な値を見つけることが重要である。