最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。
サポート ベクター マシン (SVM) 分類器を使用して観測値を分類
分類に線形 SVM モデルを使用しており、多数のサポート ベクターがモデルに含まれている場合、予測方式に predict
を使用すると低速になる可能性があります。線形 SVM モデルに基づく観測値の分類を効率的に行うには、discardSupportVectors
を使用してサポート ベクターをモデル オブジェクトから削除します。
既定では、モデルのカーネル関数に関係なく、MATLAB® はスコア関数の双対表現を使用して学習済みの SVM モデルに基づく観測値の分類を行います。具体的には、次のようになります。
この予測方式では、学習済みのサポート ベクターと α 係数が必要です (SVM モデルの SupportVectors
および Alpha
プロパティを参照)。
既定では、Platt の方法 [1] を使用して最適な事後確率が計算されます。
10 分割交差検証を実行します。
交差検証で返されたスコアにシグモイド関数のパラメーターをあてはめます。
あてはめたシグモイド関数に交差検証スコアを入力することにより、事後確率を推定します。
ソフトウェアは学習時に、事前確率を SVM 目的関数に組み込みます。
SVM の場合、predict
と resubPredict
は、スコアが最大になる (事後確率が最大になる) クラスに観測値を分類します。分類器の学習の前に、平均コスト補正の適用により誤分類コストが考慮されます。つまり、クラスの事前確率のベクトル P、誤分類コスト行列 C、および観測値の重みのベクトル w に対して、次の条件を満たすように新しい観測値の重みのベクトル (W) が定義されます。
[1] Platt, J. “Probabilistic outputs for support vector machines and comparisons to regularized likelihood methods.” Advances in Large Margin Classifiers. MIT Press, 1999, pages 61–74.