このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
ClassificationSVM
1 クラスおよびバイナリ分類用のサポート ベクター マシン (SVM)
説明
ClassificationSVM
は 1 クラスおよび 2 クラス学習用のサポート ベクター マシン (SVM) 分類器です。学習済みの ClassificationSVM
分類器には、学習データ、パラメーター値、事前確率、サポート ベクターおよびアルゴリズムの実装情報が格納されます。これらの分類器を使用して、スコアから事後確率に変換する関数の当てはめ (fitPosterior
を参照) や新しいデータに対するラベルの予測 (predict
を参照) などのタスクを実行できます。
作成
ClassificationSVM
オブジェクトの作成には fitcsvm
を使用します。
プロパティ
オブジェクト関数
compact | 機械学習モデルのサイズの縮小 |
compareHoldout | 新しいデータを使用して 2 つの分類モデルの精度を比較 |
crossval | 機械学習モデルの交差検証 |
discardSupportVectors | 線形サポート ベクター マシン (SVM) 分類器のサポート ベクターを破棄 |
edge | サポート ベクター マシン (SVM) 分類器の分類エッジを計算 |
fitPosterior | サポート ベクター マシン (SVM) 分類器の事後確率の当てはめ |
gather | GPU からの Statistics and Machine Learning Toolbox オブジェクトのプロパティの収集 |
incrementalLearner | バイナリ分類サポート ベクター マシン (SVM) モデルのインクリメンタル学習器への変換 |
lime | Local Interpretable Model-agnostic Explanations (LIME) |
loss | サポート ベクター マシン (SVM) 分類器の分類誤差を計算 |
margin | サポート ベクター マシン (SVM) 分類器の分類マージンを計算 |
partialDependence | 部分依存の計算 |
plotPartialDependence | 部分依存プロット (PDP) および個別条件付き期待値 (ICE) プロットの作成 |
predict | サポート ベクター マシン (SVM) 分類器を使用して観測値を分類 |
resubEdge | 再代入分類エッジ |
resubLoss | 再代入分類損失 |
resubMargin | 再代入分類マージン |
resubPredict | 学習済み分類器を使用した学習データの分類 |
resume | サポート ベクター マシン (SVM) 分類器の学習を再開 |
shapley | シャープレイ値 |
testckfold | 交差検証の反復により 2 つの分類モデルの精度を比較 |
例
詳細
アルゴリズム
SVM バイナリ分類アルゴリズムの数学的定式化については、バイナリ分類のサポート ベクター マシンとサポート ベクター マシンについてを参照してください。
NaN
、<undefined>
、空の文字ベクトル (''
)、空の string (""
)、および<missing>
値は、欠損値を示します。fitcsvm
は、欠損応答に対応するデータ行全体を削除します。fitcsvm
は、重みの合計を計算するときに (以下の項目を参照)、欠損している予測子が 1 つ以上ある観測値に対応する重みを無視します。これにより、平衡なクラスの問題で不平衡な事前確率が発生する可能性があります。したがって、観測値のボックス制約がBoxConstraint
に等しくならない可能性があります。名前と値の引数
Cost
、Prior
、およびWeights
を指定すると、出力モデル オブジェクトにCost
、Prior
、およびW
の各プロパティの指定値がそれぞれ格納されます。Cost
プロパティには、ユーザー指定のコスト行列 (C) が変更なしで格納されます。Prior
プロパティとW
プロパティには、正規化後の事前確率と観測値の重みがそれぞれ格納されます。モデルの学習用に、事前確率と観測値の重みが更新されて、コスト行列で指定されているペナルティが組み込まれます。詳細については、誤分類コスト行列、事前確率、および観測値の重みを参照してください。名前と値の引数
Cost
およびPrior
は 2 クラス学習用であることに注意してください。1 クラス学習の場合、Cost
プロパティには0
、Prior
プロパティには1
が格納されます。2 クラス学習の場合、
fitcsvm
は学習データの各観測値にボックス制約を割り当てます。観測値 j のボックス制約の式は、次のようになります。ここで、C0 は初期のボックス制約 (名前と値の引数
BoxConstraint
を参照)、wj* は観測値 j のCost
とPrior
で調整された観測値の重みです。観測値の重みの詳細については、誤分類コスト行列に応じた事前確率と観測値の重みの調整を参照してください。Standardize
をtrue
として指定し、名前と値の引数Cost
、Prior
、またはWeights
を設定した場合、fitcsvm
は対応する加重平均および加重標準偏差を使用して予測子を標準化します。つまり、fitcsvm
は、以下を使用して予測子 j (xj) を標準化します。ここで、xjk は予測子 j (列) の観測値 k (行) であり、次のようになります。
p
は学習データで予期される外れ値の比率であり、'OutlierFraction',p
を設定したと仮定します。1 クラス学習では、バイアス項の学習により、学習データの観測値のうち 100
p
% が負のスコアをもつようになります。2 クラス学習では "ロバスト学習" が行われます。この方式では、最適化アルゴリズムが収束すると、観測値のうち 100
p
% の削除が試行されます。削除された観測値は、勾配の大きいものに対応します。
予測子データにカテゴリカル変数が含まれている場合、一般にこれらの変数について完全なダミー エンコードが使用されます。各カテゴリカル変数の各レベルについて、1 つずつダミー変数が作成されます。
PredictorNames
プロパティには、元の予測子変数名のそれぞれについて 1 つずつ要素が格納されます。たとえば、3 つの予測子があり、そのうちの 1 つは 3 つのレベルがあるカテゴリカル変数であるとします。この場合、PredictorNames
は元の予測子変数名が含まれている 1 行 3 列の文字ベクトルの cell 配列になります。ExpandedPredictorNames
プロパティには、ダミー変数を含む予測子変数のそれぞれについて 1 つずつ要素が格納されます。たとえば、3 つの予測子があり、そのうちの 1 つは 3 つのレベルがあるカテゴリカル変数であるとします。この場合、ExpandedPredictorNames
は予測子変数および新しいダミー変数の名前が含まれている 1 行 5 列の文字ベクトルの cell 配列になります。同様に、
Beta
プロパティには、ダミー変数を含む各予測子について 1 つずつベータ係数が格納されます。SupportVectors
プロパティには、ダミー変数を含むサポート ベクターの予測子の値が格納されます。たとえば、m 個のサポート ベクターと 3 つの予測子があり、そのうちの 1 つは 3 つのレベルがあるカテゴリカル変数であるとします。この場合、SupportVectors
は n 行 5 列の行列になります。X
プロパティには、はじめに入力されたときの状態で学習データが格納され、ダミー変数は含まれません。入力がテーブルの場合、X
には予測子として使用した列のみが格納されます。
テーブルで予測子を指定した場合、いずれかの変数に順序付きのカテゴリが含まれていると、これらの変数について順序付きエンコードが使用されます。
k 個の順序付きレベルが変数に含まれている場合、k – 1 個のダミー変数が作成されます。j 番目のダミー変数は、j までのレベルについては –1、j + 1 から k までのレベルについては +1 になります。
ExpandedPredictorNames
プロパティに格納されるダミー変数の名前は 1 番目のレベルを示し、値は +1 になります。レベル 2, 3, ..., k の名前を含む k – 1 個の追加予測子名がダミー変数について格納されます。
どのソルバーも L1 ソフト マージン最小化を実装します。
1 クラス学習の場合、次の条件を満たすラグランジュ乗数 α1,...,αn が推定されます。
参照
[1] Hastie, T., R. Tibshirani, and J. Friedman. The Elements of Statistical Learning, Second Edition. NY: Springer, 2008.
[2] Scholkopf, B., J. C. Platt, J. C. Shawe-Taylor, A. J. Smola, and R. C. Williamson. “Estimating the Support of a High-Dimensional Distribution.” Neural Comput., Vol. 13, Number 7, 2001, pp. 1443–1471.
[3] Christianini, N., and J. C. Shawe-Taylor. An Introduction to Support Vector Machines and Other Kernel-Based Learning Methods. Cambridge, UK: Cambridge University Press, 2000.
[4] Scholkopf, B., and A. Smola. Learning with Kernels: Support Vector Machines, Regularization, Optimization and Beyond, Adaptive Computation and Machine Learning. Cambridge, MA: The MIT Press, 2002.