こんにちは〜ららぽてすらです♪
サポートベクターマシン(SVM)は、データの中で最も境界に近い点たち(これを「サポートベクター」と呼ぶ)を使って、2つのグループをきれいに分ける線(または面、空間)を見つけるためのマシン学習アルゴリズムです。
🌈 SVMの特徴 🌈
- 最も境界に近いデータ点に焦点を当てる: SVMは、2つのグループを分ける境界と、その境界に最も近いデータ点との距離(マージン)を最大化します。
- 非線形なデータにも対応: カーネルトリックというテクニックを使って、複雑なデータにも対応できます。
- 高次元のデータに強い: 特徴が多いデータでも、しっかりとした性能を発揮します。
🚀 どんな時にSVMを使うの? 🚀
- データが2つのクラスに分けられる場合(二値分類)
- マージン(境界からの距離)を最大化したい場合
- 高次元データを扱う時
✨ SVMで何がわかるの?✨
- どのデータ点が分類の判断の「根拠」となるのか(サポートベクター)
- クラスの境界線や面
- 新しいデータ点がどのグループに属するのか
まとめ
SVMは、データをクリアに分類するための強力なアルゴリズムです。データの特徴が多くても、しっかりとした性能を発揮します。新しいデータ点を予測する際に、どの点が重要であるかを知ることができるのも大きな魅力です。
項目 | 説明・内容 |
---|---|
基本概念 | 2つのカテゴリを最もうまく分ける境界線(または平面)を見つけるアルゴリズム。 |
式 | w ・ x + b = 0 ここで、w は境界の法線ベクトル、x はデータポイント、b はバイアス項。 |
マージン最大化 | SVMは、サポートベクタ(境界に最も近いデータポイント)との距離を最大にする境界を探します。 |
カーネルトリック | 非線形のデータを扱うために、データを高次元空間にマッピングして線形分類を可能にするテクニック。例:RBFカーネル、多項式カーネル等。 |
使用場面 | 1. 二値分類問題での使用 2. 高次元データの分類 3. クリアな境界が求められる問題 |
データの前処理 | SVMは特徴のスケールに敏感なので、データの標準化(平均0、標準偏差1)が推奨される。 |
ハイパーパラメータの調整 | C(ペナルティ項)、カーネルの種類、カーネルのパラメータ(例:γ)などを調整してモデルの性能を最適化する。 |