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