このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
predict
サポート ベクター マシン (SVM) 分類器を使用して観測値を分類
説明
例
入力引数
出力引数
詳細
ヒント
分類に線形 SVM モデルを使用しており、多数のサポート ベクターがモデルに含まれている場合、予測方式に
predict
を使用すると低速になる可能性があります。線形 SVM モデルに基づく観測値の分類を効率的に行うには、discardSupportVectors
を使用してサポート ベクターをモデル オブジェクトから削除します。
アルゴリズム
既定では、モデルのカーネル関数に関係なく、MATLAB® はスコア関数の双対表現を使用して学習済みの SVM モデルに基づく観測値の分類を行います。具体的には、次のようになります。
この予測方式では、学習済みのサポート ベクターと α 係数が必要です (SVM モデルの
SupportVectors
およびAlpha
プロパティを参照)。既定では、Platt の方法 [1] を使用して最適な事後確率が計算されます。
10 分割交差検証を実行します。
交差検証で返されたスコアにシグモイド関数のパラメーターを当てはめます。
当てはめたシグモイド関数に交差検証スコアを入力することにより、事後確率を推定します。
ソフトウェアは学習時に、事前確率を SVM 目的関数に組み込みます。
SVM の場合、
predict
とresubPredict
は、スコアが最大になる (事後確率が最大になる) クラスに観測値を分類します。分類器の学習の前に、平均コスト補正の適用により誤分類コストが考慮されます。つまり、クラスの事前確率のベクトル P、誤分類コスト行列 C、および観測値の重みのベクトル w に対して、次の条件を満たすように新しい観測値の重みのベクトル (W) が定義されます。
代替機能
Simulink ブロック
Simulink® に SVM 分類モデルの予測を統合するには、Statistics and Machine Learning Toolbox™ ライブラリにある ClassificationSVM Predict ブロックを使用するか、MATLAB Function ブロックを関数 predict
と共に使用します。例については、ClassificationSVM Predict ブロックの使用によるクラス ラベルの予測とMATLAB Function ブロックの使用によるクラス ラベルの予測を参照してください。
使用するアプローチを判断する際は、以下を考慮してください。
Statistics and Machine Learning Toolbox ライブラリ ブロックを使用する場合、固定小数点ツール (Fixed-Point Designer)を使用して浮動小数点モデルを固定小数点に変換できます。
MATLAB Function ブロックを関数
predict
と共に使用する場合は、可変サイズの配列に対するサポートを有効にしなければなりません。MATLAB Function ブロックを使用する場合、予測の前処理や後処理のために、同じ MATLAB Function ブロック内で MATLAB 関数を使用することができます。
参照
[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.
拡張機能
バージョン履歴
R2014a で導入