主要内容

CompactClassificationSVM

1クラスおよびバナリ分類用のコンパクトなサポトベクタマシン(svm)

説明

CompactClassificationSVMはコンパクトなバ,ジョンのサポ,トベクタ,マシン(svm)分類器です。コンパクトな分類器には,支持向量机分類器の学習に使用するデ,タが含まれません。このため,コンパクトな分類器を使用して交差検証など一部のタスクを実行することはできません。コンパクトなSVM分類器は,新しいデ,タに対するラベルの予測などのタスクに使用します。

作成

CompactClassificationSVMモデルは,紧凑的を使用して完全な学習済みClassificationSVM分類器から作成します。

プロパティ

すべて展開する

支持向量机のプロパティ

このプロパティは読み取り専用です。

学習済み分類器の係数。年代行 1 列の数値ベクトルを指定します。s は学習済み分類器に含まれているサポート ベクターの個数 (总和(Mdl.IsS金宝appupportVector))です。

αには,双対問題に対する学習済み分類器の係数,まり推定したラグランジュ乗数が格納されます。fitcsvmの名前と値のペアの引数RemoveDuplicatesを使用して重複を削除した場合,サポートベクターである重複する観測値の特定の集合に対して,集合全体に対応する1つの係数がαに格納されます。まり,MATLAB®は,ある非ゼロ係数を重複集合内の1の観測値によるものとし,係数0は集合内の他のすべての重複観測値によるものとします。

デ,タ型:|

このプロパティは読み取り専用です。

線形予測子の係数。数値ベクトルを指定します。βの長さは,モデルの学習に使用する予測子の個数と同じです。

MATLABでは,完全なダミーエンコードを使用して予測子データ内のカテゴリカル変数が拡張されます。つまり,MATLABでは各カテゴリカル変数の各レベルについて1つずつダミー変数が作成されます。βには,ダミ:変数を含む各予測子変数に:。たとえば,3 つの予測子があり、そのうちの 1 つは 3 つのレベルがあるカテゴリカル変数である場合、βは5の値が含まれている数値ベクトルになります。

KernelParameters。函数“线性”である場合,観測値xの分類スコアは次のようになります。

f x x / 年代 β + b

Mdlでは,β, bおよびsがそれぞれβ偏见およびKernelParameters。规模プロパティに格納されます。

分類スコアを手動で推定するには,はじめに,学習時に適用したすべての変換を予測子データに適用しなければなりません。具体的には,fitcsvmを使用するときに“标准化”,真的を指定した場合は,平均Mdl。μと標準偏差Mdl。σを使用して予測子デ,タを手動で標準化してから,結果をMdl.KernelParameters.Scale内のカ,ネルスケ,ルで除算しなければなりません。

resubPredict预测など,すべてのSVM関数で,必要な変換の適用は推定の前に行われます。

KernelParameters。函数“线性”ではない場合,βは空([])になります。

デ,タ型:|

このプロパティは読み取り専用です。

バ@ @アス項。スカラを指定します。

デ,タ型:|

このプロパティは読み取り専用です。

カネルパラメタ。構造体配列を指定します。カネルパラメタプロパティには、次の表に記載されているフィールドが含まれます。

フィ,ルド 説明
関数

グラム行列の要素を計算するために使用するカ,ネル関数。詳細にいては,“KernelFunction”を参照してください。

スケル

モデルに学習させる予測子データのすべての要素をスケーリングするために使用するカーネルスケールパラメーター。詳細にいては,“KernelScale”を参照してください。

KernelParametersの値を表示するには,ドット表記を使用します。たとえば,Mdl.KernelParameters.Scaleはカ,ネルスケ,ルパラメ,タ,の値を表示します。

KernelParametersは入力として使用され,値は変更されません。

デ,タ型:结构体

このプロパティは読み取り専用です。

サポ,トベクタ,のクラスラベル。S行1列の数値ベクトルを指定します。s は学習済み分類器に含まれているサポート ベクターの個数 (总和(Mdl.IsS金宝appupportVector))です。

金宝appSupportVectorLabels+1という値は,対応するサポ,トベクタ,が陽性クラス(一会{2})に含まれることを示します。1という値は,対応するサポ,トベクタ,が陰性クラス(一会{1})に含まれていることを示します。

fitcsvmの名前と値のペアの引数RemoveDuplicatesを使用して重複を削除した場合,サポ,トベクタ,である重複する観測値の特定の集合に対して,金宝appSupportVectorLabelsには一意なサポトベクタのラベルが1含まれます。

デ,タ型:|

このプロパティは読み取り専用です。

学習済み分類器内のサポトベクタ。S行p列の数値行列を指定します。年代は学習済み分類器内のサポート ベクターの個数 (总和(Mdl.IsS金宝appupportVector)), pは予測子デ,タ内の予測子変数の個数です。

金宝appSupportVectorsには,matlabでサポ,トベクタ,と見なされる予測子デ,タXの行が格納されます。fitcsvmを使用して支持向量机分類器に学習をさせるときに“标准化”,真的を指定した場合,金宝appSupportVectorsには標準化されたXの行が格納されます。

fitcsvmの名前と値のペアの引数RemoveDuplicatesを使用して重複を削除した場合,サポ,トベクタ,である重複する観測値の特定の集合に対して,金宝appSupportVectorsには一意なサポトベクタが1含まれます。

デ,タ型:|

他の分類のプロパティ

このプロパティは読み取り専用です。

カテゴリカル予測子の@ @ンデックス。正の整数のベクトルとして指定します。CategoricalPredictorsには,対応する予測子がカテゴリカルであることを示す。ンデックス値の範囲は1 ~pです。pはモデルの学習に使用した予測子の数です。どの予測子もカテゴリカルではない場合、このプロパティは空([])になります。

デ,タ型:

このプロパティは読み取り専用です。

学習で使用する一意なクラスラベル。分类配列、文字配列、逻辑ベクトル、数値ベクトル,または文字ベクトルのcell配列を指定します。一会のデ,タ型はクラスラベルYと同じです。(字符串配列は文字ベクトルのcell配列として扱われます)。一会はクラスの順序も決定します。

デ,タ型:||逻辑|字符|细胞|分类

このプロパティは読み取り専用です。

誤分類のコスト。数値正方行列として指定します。

  • 2クラス学習の場合,成本プロパティには,近似関数の名前と値の引数成本で指定された誤分類コスト行列が格納されます。行は真のクラスに,列は予測するクラスに対応します。まり,成本(i, j)は,真のクラスがである場合に点をクラスjに分類するコストです。成本の行と列の順序は,一会のクラスの順序に対応します。

  • 1クラス学習では,成本= 0です。

デ,タ型:

このプロパティは読み取り専用です。

展開された予測子名。文字ベクトルの细胞配列を指定します。

モデルでカテゴリカル変数用にダミ,変数のエンコ,ドを使用している場合,ExpandedPredictorNamesには展開された変数を表す名前が含まれます。それ以外の場合,ExpandedPredictorNamesPredictorNamesと同じです。

デ,タ型:细胞

このプロパティは読み取り専用です。

予測子の平均。数値ベクトルを指定します。fitcsvmを使用して支持向量机分類器に学習させるときに“标准化”,1または“标准化”,真的を指定した場合,μの長さは予測子の数と等しくなります。

Matlabでは,ダミ,変数を使用して予測子デ,タ内のカテゴリカル変数が拡張されます。μには,ダミ:変数を含む各予測子変数に:。ただし,カテゴリカル変数が含まれている列はmatlabでは標準化されません。

fitcsvmを使用して支持向量机分類器に学習をさせるときに“标准化”,假的を設定した場合,μは空ベクトル([])です。

デ,タ型:|

このプロパティは読み取り専用です。

予測子変数の名前。文字ベクトルの细胞配列を指定します。PredictorNamesの要素の順序は,予測子名が学習デ,タに現れる順序に対応します。

デ,タ型:细胞

このプロパティは読み取り専用です。

各クラスの事前確率。数値ベクトルを指定します。

2クラス学習の場合,コスト行列を指定すると,そのコスト行列で指定されているペナルティが組み込まれ,事前確率が更新されます。

  • 2クラス学習では,近似関数の名前と値の引数之前で指定された事前確率が確率の合計が1になるように正規化されます。之前プロパティには正規化された事前確率が格納されます。之前の要素の順序はMdl。一会の要素に対応します。

  • 1クラス学習では,Prior = 1です。

デ,タ型:|

スコア変換。文字ベクトルまたは関数ハンドルを指定します。ScoreTransformは,組み込みの変換関数または予測した分類スコアを変換する関数のハンドルを表します。

スコア変換関数を函数などに変更するには,ドット表記を使用します。

  • 組み込み関数の場合は,文字ベクトルを入力します。

    Mdl。ScoreTransform = '函数';

    次の表は,使用可能な組み込み関数の一覧です。

    説明
    “doublelogit” 1/(1 + e2 x
    “invlogit” Log (x / (1 - x))
    “ismax” 最大のスコアをも1 0
    分对数的 1/(1 + e- x
    “没有”または“身份” X(変換なし)
    “标志” X < 0のとき-1
    X = 0のとき0
    X > 0のとき
    “对称” 2x - 1
    “symmetricismax” 最大のスコアをも1に設定し,他のすべてのクラスのスコアを-1に設定する
    “symmetriclogit” 2/(1 + e- x) - 1

  • Matlab関数やユ,ザ,定義関数の場合は,関数ハンドルを入力します。

    Mdl。ScoreTransform = @函数;

    函数は,行列(元のスコア)を受け入れて同じサイズの行列(変換したスコア)を返さなければなりません。

デ,タ型:字符|function_handle

このプロパティは読み取り専用です。

予測子の標準偏差。数値ベクトルを指定します。

fitcsvmを使用して支持向量机分類器に学習させるときに“标准化”,真的を指定した場合,σの長さは予測子変数の数と等しくなります。

Matlabでは,ダミ,変数を使用して予測子デ,タ内のカテゴリカル変数が拡張されます。σには,ダミ:変数を含む各予測子変数に:。ただし,カテゴリカル変数が含まれている列はmatlabでは標準化されません。

fitcsvmを使用して支持向量机分類器に学習をさせるときに“标准化”,假的を設定した場合,σは空ベクトル([])です。

デ,タ型:|

オブジェクト関数

compareHoldout 新しいデタを使用して2の分類モデルの精度を比較
discard金宝appSupportVectors 線形サポトベクタマシン(svm)分類器のサポトベクタを破棄
边缘 サポ,トベクタ,マシン(svm)分類器の分類エッジを計算
fitPosterior コンパクトなサポ,トベクタ,マシン(svm)分類器の事後確率の当てはめ
收集 Gpuからの统计和机器学习工具箱オブジェクトのプロパティの収集
incrementalLearner バ▪▪ナリ分類サポ▪▪トベクタ▪マシン(svm)モデルの▪▪ンクリメンタル学習器への変換
石灰 局部可解释模型不可知解释(LIME)
损失 サポ,トベクタ,マシン(svm)分類器の分類誤差を計算
保证金 サポ,トベクタ,マシン(svm),分類器の分類マ,ジンを計算
partialDependence 部分従属の計算
plotPartialDependence 部分依存プロット(pdp)および個別条件付き期待値(ice)プロットの作成
预测 サポ,トベクタ,マシン(svm)分類器を使用して観測値を分類
沙普利 シャプレ値
更新 コ,ド生成用にモデルパラメ,タ,を更新

すべて折りたたむ

学習データを削除することにより,完全なサポートベクターマシン(SVM)分類器のサイズを縮小します。完全な支持向量机分類器(まり,ClassificationSVM分類器)には学習デ,タが格納されます。効率を向上させるため,より小さい分類器を使用します。

电离层デ,タセットを読み込みます。

负载电离层

支持向量机分類器を学習させます。予測子デ,タを標準化し,クラスの順序を指定します。

SVMModel = fitcsvm(X,Y,“标准化”,真的,...“类名”,{“b”‘g’})
SVMModel = ClassificationSVM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: 'none' NumObservations: 351 Alpha: [90x1 double] Bias: -0.1342 KernelParameters: [1x1 struct] Mu:[0.8917 0 0.6413 0.0444 0.6011 0.1159 0.5501…]西格玛:[0.3112 0 0.4977 0.4414 0.5199 0.4608 0.4927…] BoxConstraints: [351x1 double] ConvergenceInfo: [1x1 struct] Is金宝appSupportVector: [351x1 logical]求解器:“SMO”属性,方法

SVMModelClassificationSVM分類器です。

支持向量机分類器のサ支持向量机ズを縮小します。

CompactSVMModel = compact(vmmodel)
CompactSVMModel = CompactClassificationSVM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: 'none' Alpha: [90x1 double]偏差:-0.1342 KernelParameters: [1x1 struct] Mu:[0.8917 0 0.6413 0.0444 0.6011 0.1159 0.5501…]西格玛:[0.3112 0 0.4977 0.4414 0.5199 0.4608 0.4927…] 金宝appSupportVectors: [90x34 double] SupportVectorLabels: [90x1 double]属性,方法

CompactSVMModelCompactClassificationSVM分類器です。

各分類器が使用するメモリの量を表示します。

谁(“SVMModel”“CompactSVMModel”
名称大小字节分类属性CompactSVMModel 1x1 31058 classreg.learning.classif.CompactClassificationSVM vmmodel 1x1 141148 ClassificationSVM

完全な支持向量机分類器(SVMModel)はコンパクトなSVM分類器(CompactSVMModel)に対して4倍以上大きくなっています。

新しい観測値のラベルを効率的に設定するため,SVMModelをmatlab®ワクスペスから削除し,CompactSVMModelと新しい予測子の値を预测に渡すことができます。

コンパクトなSVM分類器のサaaplズをさらに小さくするには,関数discard金宝appSupportVectorsを使用してサポ,トベクタ,を破棄します。

电离层デ,タセットを読み込みます。

负载电离层

支持向量机分類器の学習と交差検証を行います。予測子デ,タを標準化し,クラスの順序を指定します。

rng (1);%用于再现性CVSVMModel = fitcsvm(X,Y,“标准化”,真的,...“类名”,{“b”‘g’},“CrossVal”“上”
CVSVMModel = ClassificationPartitionedModel CrossValidatedModel: 'SVM' PredictorNames: {1x34 cell} ResponseName: 'Y' NumObservations: 351 KFold: 10 Partition: [1x1 cvpartition] ClassNames: {'b' 'g'} ScoreTransform: 'none'属性,方法

CVSVMModelClassificationPartitionedModel交差検証支持向量机分類器です。既定では,10分割交差検証が実行されます。

あるいは,学習済みのClassificationSVM分類器をcrossvalに渡すことにより,この分類器を交差検証できます。

ドット表記を使用して,学習させた分割のいずれかを検査します。

CVSVMModel。训练有素的{1}
ans = CompactClassificationSVM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: 'none' Alpha: [78x1 double] Bias: -0.2209 KernelParameters: [1x1 struct] Mu:[0.8888 0 0.6320 0.0406 0.5931 0.1205 0.5361…]西格玛:[0.3149 0 0.5033 0.4441 0.5255 0.4663 0.4987…] 金宝appSupportVectors: [78x34 double] SupportVectorLabels: [78x1 double]属性,方法

各分割は,デ,タの90%で学習済みのCompactClassificationSVM分類器です。

汎化誤差を推定します。

生成器= kfoldLoss(CVSVMModel)
genError = 0.1168

平均すると汎化誤差は約12%です。

参照

哈斯蒂、T.、R.蒂布谢拉尼和J.弗里德曼。统计学习的要素,第二版。纽约:施普林格,2008。

[2]肖科普夫,B. J. C.普拉特,J. C.肖-泰勒,A. J.斯莫拉和R. C.威廉姆森。“估算高维分布的支持度”金宝app神经计算。第13卷,第7期,2001,第1443-1471页。

[3]克里斯汀尼,N.和J. C.肖-泰勒。支持向量机和其他基于核的学习方法简介。金宝app英国剑桥:剑桥大学出版社,2000年。

[4]肖科普夫,B.和A.斯莫拉。核学习:支持向量机,正则化,优化及超越,自适应金宝app计算和机器学习。马萨诸塞州剑桥:麻省理工学院出版社,2002年。

拡張機能

バ,ジョン履歴

R2014aで導入

すべて展開する