分類、回帰、異常値検出のためのサポートベクターマシン(SVM)のパワーを、実際のアプリケーションと洞察でご覧ください。
サポートベクターマシン(SVM)は、回帰(サポートベクター回帰 - SVR)や異常値検出にも有効だが、主に分類タスクに使われる、一般的で強力な教師あり機械学習(ML)アルゴリズムである。1990年代に開発されたSVMは、高次元空間において異なるクラスに属するデータ点を最もよく分離する、超平面と呼ばれる最適な境界を見つけることによって機能する。重要なアイデアは、マージン(超平面と各クラスから最も近いデータ点(サポート・ベクトル)との間の距離)を最大化することであり、これは多くの場合、未知のデータに対する優れた汎化性能につながる。
SVMの核となる原理は、データセットを分割する理想的な超平面を見つけることである。直線または平面で分離できるデータ(線形分離可能データ)に対して、SVMはクラス間に可能な限り大きなギャップを作る超平面を特定する。この超平面に最も近いデータ点は、その位置と向きを定義する上で重要であり、サポート・ベクトルとして知られている。このように境界付近の最も困難な点に焦点を当てることで、SVMは記憶効率が良くなる。学習後にモデルを定義するのに必要なのは、これらのサポート・ベクトルだけだからだ。
クラスが線形境界で分離できないデータセット(非線形分離可能データ)の場合、SVMはカーネル・トリックと呼ばれる手法を用いる。この巧妙な手法により、SVMは元のデータを、線形分離が可能な高次元空間にマッピングすることができる。一般的なカーネル関数は以下の通りである:
カーネルとそのパラメータの選択は非常に重要であり、多くの場合、注意深くハイパーパラメータをチューニングする必要がある。
SVMは、ディープラーニング(DL)の台頭にもかかわらず、特に高次元データ(多くの特徴)を持ちながら学習サンプルが限られているシナリオにおいて、依然として重要な役割を担っている。SVMは、理論的な保証とロバスト性、特に明確な分離マージンが存在する場合に優れていることで知られている。歴史的には、HOG(Histogram of Oriented Gradients)のような特徴抽出器と組み合わされたSVMは、物体 検出の進化で述べたように、物体検出のようなタスクでは最先端のものであった。
一般的な用途は以下の通り:
利点がある:
制限:
ロジスティック回帰のような単純なアルゴリズムと比較して、SVMは単に分離境界を見つけるのではなく、マージンを最大化することを目指す。決定木や ランダムフォレストとは異なり、SVMは単一の最適超平面を構築する。最近の Ultralytics YOLOのような最近のディープラーニングモデルは、生データ(コンピュータビジョンにおけるピクセルのようなもの)からの自動特徴抽出を得意とするが、SVMはしばしば注意深い特徴エンジニアリングを必要とするが、より小さなデータセットや特定のタイプの構造化データで優れた性能を発揮することができる。人気のある実装には、LibSVMや scikit-learnのSVMモジュールがあります。このようなモデルのトレーニングと管理は、Ultralytics HUBのようなプラットフォームを使って効率化することができます。