公開日: 09/19/2023

ここに画像を表示サポートベクトルマシンの概要

サポートベクトルマシン(SVM; Support Vector Machine)は、データを予測または分類するためのモデルです。教師あり学習のモデルであり、応答が既知である学習データからモデルを学習します。そして、その学習されたモデルは、新しいデータを分類したり、新しいデータの応答を予測するのに使われます。

応答変数がカテゴリカルな変数の場合、サポートベクトルマシンは、データを分割する超曲面を最適化することによって、データを分類します。データを完全に分離できる場合には、サポートベクトルマシンは、マージンが最大化となる超曲面を探し出します。ごく単純なデータにおいては、超曲面を線形な平面とすれば分類がうまくいきます。しかし、データが複雑になると、線形な平面でデータを綺麗に分類することはできなくなります。平面では綺麗に分類できないような場合でも、サポートベクトルマシンでは、データ点を非線形なカーネル関数で変換することで、平面による分類問題へと変換します。「サポートベクトルマシン」プラットフォームでは、カーネル関数として、動径基底関数が用意されています。

連続尺度の応答変数に対するサポートベクトルマシンは、「サポートベクトル回帰モデル」(SVR model; Support Vector Regression model)と呼ばれます。典型的な回帰分析では、予測値と実測値間の誤差を最小にするようなモデルが推定されます。サポートベクトル回帰では、予測値と実測値間の誤差が-e~+εの範囲内にできるだけ収まるようなモデルをあてはめます。これにより、より柔軟なあてはめを行えます。JMP Proでは、eは0.1に設定されています。サポートベクトル回帰のアルゴリズムは、2つのクラス(Y + eとY - e)を作成することによってデータを2倍にします。その後、分類問題におけるアルゴリズムと同じアルゴリズムが、サポートベクトル回帰における予測問題にも適用されます。

サポートベクトルマシンの解は、2次計画問題によって求められます。JMP Proの「サポートベクトルマシン」プラットフォームで採用されているアルゴリズムは、John Platt(1998)による逐次最小問題最適化(SMO; Sequential Minimal Optimizatin)アルゴリズムです。一般に、サポートベクトルマシンにおいて解く必要がある2次計画問題は、非常に大きくなります。逐次最小問題最適化アルゴリズムは、2次計画問題全体を、より小さな複数の2次計画問題に分割します。そして、小さくなった2次計画問題は、数値的にではなく、解析的に解かれます。つまり、閉じた解を求めていきます。逐次最小問題最適化アルゴリズムは、2次計画問題全体を解くより、効率的です(Platt 1998)。

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).