IBMニュースレター
The DX Leaders
AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。
ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。
サポート・ベクトル・マシン(SVM)は、N次元空間内の各クラス間の距離を最大化する最適な直線または超平面を見つけることでデータを分類する、教師あり機械学習アルゴリズムです。
SVMは、1990年代にVladimir N. Vapnikと彼の同僚によって開発され、1995年に『関数近似、回帰推定、信号処理のためのサポートベクトル法』1というタイトルの論文でこの研究を発表しました。
SVMは、分類問題で一般的に使用されます。反対のクラスの最も近いデータ・ポイント間のマージンを最大化する最適な超平面を見つけることで、2つのクラスを区別します。入力データの特徴数によって、超平面が2次元空間の線か、n次元空間の平面かが決まります。クラスを区別する複数の超平面が見つかるため、点間のマージンを最大化することで、アルゴリズムはクラス間の最適な決定境界を見つけることができます。これは、新しいデータに対して良好に一般化し、正確な分類予測を行うことを可能にします。最適な超平面に隣接する線は、最大マージンを決定するデータ・ポイントを通るため、サポート・ベクトルとして知られています。
SVMアルゴリズムは、線形および非線形の分類タスクの両方を処理できるため、機械学習で広く使用されています。しかし、データが線形に分離可能でない場合、カーネル関数を使用してデータを高次元空間に変換し、線形分離を可能にします。このカーネル関数の応用は「カーネル・トリック」として知られており、線形カーネル、多項式カーネル、動径基底関数(RBF)カーネル、シグモイドカーネルなどのカーネル関数の選択は、データの特性と特定のユースケースによって異なります。
線形SVMは線形に分離可能なデータで使用されます。これは、データをさまざまなクラスに分離するためにデータを変換する必要がないことを意味します。決定境界とサポート・ベクトルは道路のような外観を形成し、MITのPatrick Winston教授は、この二次最適化問題を説明するために「可能な限り広い道路を適合させる」2というアナロジーを使用しています。この分離する超平面は、数学的には次のように表すことができます。
wx + b = 0
ここで、wは重みベクトル、xは入力ベクトル、bはバイアス項です。
マージン、つまりクラス間の最大距離を計算するには、ハードマージン分類とソフトマージン分類の2つのアプローチがあります。ハードマージンのSVMを使用すると、データ・ポイントはサポート・ベクトルの外側に完全に分離されます。つまり、Hinton教授の例えで言えば「路外」に分離されます。これを次の式で表すと、
(wxj + b) yj ≥ a,
そして、マージンは次のように表される最大値で最大化されます: max γ = a / ||w||、ここでaはwに射影されたマージンです。
ソフトマージン分類はより柔軟で、スラック変数(ξ)を使用することである程度の誤分類を許容します。ハイパーパラメータであるCはマージンを調整します。Cの値を大きくすると、誤分類を最小限に抑えるためにマージンが狭くなり、Cの値を小さくするとマージンが広くなり、より多くの誤分類データを許容します3。
実際のシナリオにおけるデータの多くは線形に分離可能ではなく、そこで非線形SVMが活躍します。データを線形に分離可能にするために、トレーニング・データに前処理手法を適用し、高次元の特徴空間に変換します。しかし、高次元空間では、データを過学習するリスクが高まり、計算負荷が増加するため、複雑さが増す可能性があります。「カーネル・トリック」は、この複雑さを軽減し、計算をより効率的にするのに役立ち、ドット積の計算を同等のカーネル関数に置き換えることでこれを実現します4。
データを分類するために適用できるカーネルの種類は数多くあります。よく使われるカーネル関数には次のようなものがあります。
多項式カーネル
動径基底関数カーネル(ガウスカーネルまたはRBFカーネルとも呼ばれる)
シグモイド・カーネル
サポート・ベクトル回帰(SVR)はSVMの拡張であり、回帰問題(つまり、結果が連続的なもの)に適用されます。線形SVMと同様に、SVRはデータ点間のマージンが最大となる超平面を見つけ、一般的に時系列予測に使用されます。
SVRは、独立変数と従属変数の間で理解したい関係を指定する必要があるという点で、線形回帰とは異なります。線形回帰を使用する場合、変数間の関係とその方向性を理解することは有益です。SVRではこれらの関係を自ら決定するため、これは不要です。
IBMニュースレター
AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。
ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。
このセクションでは、SVM分類器の構築プロセス、他の教師あり学習アルゴリズムとの比較、そして今日の産業界におけるSVM分類器のアプリケーションについて説明します。
他の機械学習モデルと同様に、まずデータをトレーニング・セットとテスト・セットに分割します。これはデータの探索的データ分析をすでに実施していることを前提としています。これはSVM分類器の構築に技術的には必要ありませんが、欠損データや外れ値を把握できるため、機械学習モデルを使用する前に行っておくことをおすすめします。
scikit-learn などの選択したライブラリからSVMモジュールをインポートします。トレーニング・サンプルで分類器を訓練し、応答を予測します。テスト・セットの正解値と予測値を比較することで、性能を評価することができます。f1スコア、精度、再現率など、他の評価メトリクスを使用することもできます。
ハイパーパラメータを調整することで、SVMモデルのパフォーマンスを向上させることができます。最適なハイパーパラメータは、グリッド・サーチやクロス・バリデーションの手法を使用して見つけることができます。これらの手法では、さまざまなカーネル、正則化パラメータ(C)、ガンマ値を試行して最適な組み合わせを見つけます。
同じユースケースに、異なる機械学習分類器を使用できます。さまざまなモデルをテストして評価し、どのモデルが最も優れたパフォーマンスを発揮できるかを理解することが重要です。とはいえ、それぞれの長所と短所を理解することで、あなたのユースケースへの適用を評価するのに役立ちます。
Naive Bayes分類器とSVM分類器の両方が、テキスト分類タスクで一般的に使用されます。データが線形に分離できない場合、SVMはNaive Bayesよりも性能がよい傾向があります。とはいえ、SVMはさまざまなハイパー・パラメーターを調整する必要があり、計算コストが高くなる可能性があります。
SVMは通常、ロジスティック回帰と比較して、画像データやテキスト・データなどの高次元の非構造化データ・セットでより良い性能を示します。また、SVMは過学習に対して影響が少なく、解釈が容易です。とはいえ、計算コストが高くなる可能性があります。
SVMは高次元データでより良い性能を発揮し、決定木と比較して過学習を起こしにくい傾向があります。とはいえ、決定木は通常、特に小規模なデータ・セットでトレーニングが速く、一般的に解釈が容易です。
他のモデルとの比較と同様に、SVMはトレーニングにより計算コストが高く、過学習を起こしにくいが、ニューラル・ネットワークはより柔軟でスケーラブルであると考えられています。
SVMはさまざまなタスクに適用できますが、以下は業界においてSVMが一般的に使用されるアプリケーションの一部です。
SVMは、自然言語処理(NLP)でセンチメント分析やスパム検知、トピック・モデリングなどのタスクによく使用されます。高次元データで優れたパフォーマンスを発揮するため、これらのデータに適しています。
SVMは、オブジェクト検知や画像検索などの画像分類タスクに適用されます。また、セキュリティ分野では、画像が改ざんされたものかどうかを分類するのにも役立ちます。
SVMは、タンパク質分類、遺伝子発現解析、疾患診断にも使用されます。SVMは複雑なデータ・セット内の微妙な傾向を検知できるため、 がん研究 にもよく適用されています。
SVMは、地下の層状の地球物理構造を分析し、電磁データから「ノイズ」をフィルタリングすることができます。また、土木工学の分野に関連する、土壌の地震液状化の可能性を予測するのにも役立っています。
AI開発者向けの次世代エンタープライズ・スタジオであるIBM watsonx.aiを使用して、生成AI、基盤モデル、機械学習機能をトレーニング、検証、チューニング、導入しましょう。わずかなデータとわずかな時間でAIアプリケーションを構築できます。
業界をリードするIBMのAI専門知識とソリューション製品群を使用すれば、ビジネスにAIを活用できます。
AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。