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の分類スコアは次のようになります。
Mdl
では,β, bおよびsがそれぞれβ
、偏见
およびKernelParameters。规模
プロパティに格納されます。
分類スコアを手動で推定するには,はじめに,学習時に適用したすべての変換を予測子データに適用しなければなりません。具体的には,fitcsvm
を使用するときに“标准化”,真的
を指定した場合は,平均Mdl。μ
と標準偏差Mdl。σ
を使用して予測子デ,タを手動で標準化してから,結果をMdl.KernelParameters.Scale
内のカ,ネルスケ,ルで除算しなければなりません。
resubPredict
や预测
など,すべてのSVM関数で,必要な変換の適用は推定の前に行われます。
KernelParameters。函数
が“线性”
ではない場合,β
は空([]
)になります。
デ,タ型:单
|双
偏见
- - - - - -バ@ @アス項
スカラ
このプロパティは読み取り専用です。
バ@ @アス項。スカラを指定します。
デ,タ型:单
|双
KernelParameters
- - - - - -カネルパラメタ
構造体配列
このプロパティは読み取り専用です。
カネルパラメタ。構造体配列を指定します。カネルパラメタプロパティには、次の表に記載されているフィールドが含まれます。
フィ,ルド | 説明 |
---|---|
関数 | グラム行列の要素を計算するために使用するカ,ネル関数。詳細にいては, |
スケル | モデルに学習させる予測子データのすべての要素をスケーリングするために使用するカーネルスケールパラメーター。詳細にいては, |
KernelParameters
の値を表示するには,ドット表記を使用します。たとえば,Mdl.KernelParameters.Scale
はカ,ネルスケ,ルパラメ,タ,の値を表示します。
KernelParameters
は入力として使用され,値は変更されません。
デ,タ型:结构体
金宝appSupportVectorLabels
- - - - - -サポ,トベクタ,のクラスラベル
S行1列の数値ベクトル
このプロパティは読み取り専用です。
サポ,トベクタ,のクラスラベル。S行1列の数値ベクトルを指定します。s は学習済み分類器に含まれているサポート ベクターの個数 (总和(Mdl.IsS金宝appupportVector)
)です。
金宝appSupportVectorLabels
の+1
という値は,対応するサポ,トベクタ,が陽性クラス(一会{2}
)に含まれることを示します。1
という値は,対応するサポ,トベクタ,が陰性クラス(一会{1}
)に含まれていることを示します。
fitcsvm
の名前と値のペアの引数RemoveDuplicates
を使用して重複を削除した場合,サポ,トベクタ,である重複する観測値の特定の集合に対して,金宝appSupportVectorLabels
には一意なサポトベクタのラベルが1含まれます。
デ,タ型:单
|双
金宝appSupportVectors
- - - - - -サポトベクタ
S行p列の数値行列
このプロパティは読み取り専用です。
学習済み分類器内のサポトベクタ。S行p列の数値行列を指定します。年代は学習済み分類器内のサポート ベクターの個数 (总和(Mdl.IsS金宝appupportVector)
), pは予測子デ,タ内の予測子変数の個数です。
金宝appSupportVectors
には,matlabでサポ,トベクタ,と見なされる予測子デ,タX
の行が格納されます。fitcsvm
を使用して支持向量机分類器に学習をさせるときに“标准化”,真的
を指定した場合,金宝appSupportVectors
には標準化されたX
の行が格納されます。
fitcsvm
の名前と値のペアの引数RemoveDuplicates
を使用して重複を削除した場合,サポ,トベクタ,である重複する観測値の特定の集合に対して,金宝appSupportVectors
には一意なサポトベクタが1含まれます。
デ,タ型:单
|双
他の分類のプロパティ
CategoricalPredictors
- - - - - -カテゴリカル予測子の@ @ンデックス
正の整数のベクトル|[]
このプロパティは読み取り専用です。
カテゴリカル予測子の@ @ンデックス。正の整数のベクトルとして指定します。CategoricalPredictors
には,対応する予測子がカテゴリカルであることを示す。ンデックス値の範囲は1 ~p
です。p
はモデルの学習に使用した予測子の数です。どの予測子もカテゴリカルではない場合、このプロパティは空([]
)になります。
デ,タ型:双
一会
- - - - - -一意のクラスラベル
分类配列|文字配列|逻辑ベクトル|数値ベクトル|文字ベクトルのcell配列
このプロパティは読み取り専用です。
学習で使用する一意なクラスラベル。分类配列、文字配列、逻辑ベクトル、数値ベクトル,または文字ベクトルのcell配列を指定します。一会
のデ,タ型はクラスラベルY
と同じです。(字符串配列は文字ベクトルのcell配列として扱われます)。一会
はクラスの順序も決定します。
デ,タ型:单
|双
|逻辑
|字符
|细胞
|分类
成本
- - - - - -誤分類のコスト
数値正方行列
このプロパティは読み取り専用です。
誤分類のコスト。数値正方行列として指定します。
2クラス学習の場合,
成本
プロパティには,近似関数の名前と値の引数成本
で指定された誤分類コスト行列が格納されます。行は真のクラスに,列は予測するクラスに対応します。まり,成本(i, j)
は,真のクラスが我
である場合に点をクラスj
に分類するコストです。成本
の行と列の順序は,一会
のクラスの順序に対応します。1クラス学習では,
成本= 0
です。
デ,タ型:双
ExpandedPredictorNames
- - - - - -展開された予測子名
文字ベクトルのcell配列
このプロパティは読み取り専用です。
展開された予測子名。文字ベクトルの细胞配列を指定します。
モデルでカテゴリカル変数用にダミ,変数のエンコ,ドを使用している場合,ExpandedPredictorNames
には展開された変数を表す名前が含まれます。それ以外の場合,ExpandedPredictorNames
はPredictorNames
と同じです。
デ,タ型:细胞
μ
- - - - - -予測子の平均
数値ベクトル|[]
このプロパティは読み取り専用です。
予測子の平均。数値ベクトルを指定します。fitcsvm
を使用して支持向量机分類器に学習させるときに“标准化”,1
または“标准化”,真的
を指定した場合,μ
の長さは予測子の数と等しくなります。
Matlabでは,ダミ,変数を使用して予測子デ,タ内のカテゴリカル変数が拡張されます。μ
には,ダミ:変数を含む各予測子変数に:。ただし,カテゴリカル変数が含まれている列はmatlabでは標準化されません。
fitcsvm
を使用して支持向量机分類器に学習をさせるときに“标准化”,假的
を設定した場合,μ
は空ベクトル([]
)です。
デ,タ型:单
|双
PredictorNames
- - - - - -予測子変数名
文字ベクトルのcell配列
このプロパティは読み取り専用です。
予測子変数の名前。文字ベクトルの细胞配列を指定します。PredictorNames
の要素の順序は,予測子名が学習デ,タに現れる順序に対応します。
デ,タ型:细胞
之前
- - - - - -事前確率
数値ベクトル
このプロパティは読み取り専用です。
各クラスの事前確率。数値ベクトルを指定します。
2クラス学習の場合,コスト行列を指定すると,そのコスト行列で指定されているペナルティが組み込まれ,事前確率が更新されます。
2クラス学習では,近似関数の名前と値の引数
之前
で指定された事前確率が確率の合計が1になるように正規化されます。之前
プロパティには正規化された事前確率が格納されます。之前
の要素の順序はMdl。一会
の要素に対応します。1クラス学習では,
Prior = 1
です。
デ,タ型:单
|双
ScoreTransform
- - - - - -スコア変換
文字ベクトル|関数ハンドル
スコア変換。文字ベクトルまたは関数ハンドルを指定します。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”属性,方法
SVMModel
はClassificationSVM
分類器です。
支持向量机分類器のサ支持向量机ズを縮小します。
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]属性,方法
CompactSVMModel
はCompactClassificationSVM
分類器です。
各分類器が使用するメモリの量を表示します。
谁(“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'属性,方法
CVSVMModel
はClassificationPartitionedModel
交差検証支持向量机分類器です。既定では,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年。
拡張機能
C/ c++コ,ド生成
MATLAB®Coder™を使用してCおよびc++コドを生成します。
使用上の注意事項および制限事項:
金宝app®にSVM分類モデルの予測を統合するには,统计和机器学习工具箱™ライブラリにあるClassificationSVM预测ブロックを使用するか,MATLAB函数ブロックを関数
预测
と共に使用します。fitcsvm
を使用してSVMモデルに学習をさせる場合,以下の制限が適用されます。名前と値のペアの引数
“ScoreTransform”
の値を無名関数にすることはできません。新しい観測値が与えられた場合に事後確率を予測するコ,ドを生成する場合,学習済みの支持向量机モデルをfitPosterior
またはfitSVMPosterior
に渡します。返されるモデルのScoreTransform
プロパティには,コード生成用に設定された,スコアを事後確率に変換する関数を表す無名関数が含まれています。固定小数点コ,ドの生成では,名前と値のペアの引数
“ScoreTransform”
の値を“invlogit”
にすることはできません。また,名前と値のペアの引数“KernelFunction”
の値は,“高斯”
、“线性”
,または多项式的
でなければなりません。固定小数点コードの生成およびコーダーコンフィギュアラーを使用するコード生成では,以下の追加制限が適用されます。
カテゴリカル予測子(
逻辑
、分类
、字符
、字符串
,または细胞
)はサポ,トされません。名前と値の引数CategoricalPredictors
は使用できません。カテゴリカル予測子をモデルに含めるには,モデルを当てはめる前にdummyvar
を使用してカテゴリカル予測子を前処理します。分类
デ,タ型のクラスラベルはサポ,トされません。学習デタ内のクラスラベル値(资源描述
またはY
)および名前と値の引数一会
の値はどらも分类
デ,タ型の配列にはできません。
詳細は,コ,ド生成の紹介を参照してください。
Gpu配列
并行计算工具箱™を使用してグラフィックス処理装置(GPU)上で実行することにより,コードを高速化します。
使用上の注意事項および制限事項:
次のオブジェクト関数はgpu配列を完全にサポ,トしています。
次のオブジェクト関数はgpu配列のサポ,トに制限があります。
詳細は,Gpuでのmatlab関数の実行(并行计算工具箱)を参照してください。
バ,ジョン履歴
R2014aで導入R2022a:成本
プロパティにユ,ザ,指定のコスト行列を格納
R2022a以降では,指定したコストの値を使用して観測誤分類コストを計算できるように,成本
プロパティにユ,ザ,指定のコスト行列が格納されます。ソフトウェアで格納される正規化された事前確率(之前
)には,コスト行列で指定されているペナルティは反映されていません。観測誤分類コストを計算するには,関数损失
を呼び出すときに名前と値の引数LossFun
を“classifcost”
として指定します。
モデルの学習は変更されていないため,クラス間の判定境界には変更がないことに注意してください。
学習用に,指定した事前確率が近似関数によって更新され,指定したコスト行列で指定されているペナルティが組み込まれます。さらに,事前確率と観測値の重みが正規化されます。この動作は変更されていません。以前のリリ,スでは,成本
プロパティには既定のコスト行列が格納され,之前
プロパティには学習に使用される事前確率が格納されていました。R2022a以降では,ユーザー指定のコスト行列が変更なしで格納され,コストのペナルティが反映されていない正規化された事前確率が格納されます。詳細にいては,誤分類コスト行列,事前確率,および観測値の重みを参照してください。
成本
プロパティと之前
プロパティを使用するオブジェクト関数の一部を次に示します。
関数
损失
は,名前と値の引数LossFun
を“classifcost”
または“mincost”
として指定した場合,成本
プロパティに格納されたコスト行列を使用します。関数
损失
および边缘
は,入力デ,タの観測値の重みを正規化するために,之前
プロパティに格納された事前確率を使用します。
分類モデルに学習させるときに既定以外のコスト行列を指定すると,オブジェクト関数で以前のリリースとは異なる値が返されます。
ソフトウェアでコスト行列,事前確率,および観測値の重みを以前のリリ,スと同じように扱う場合は,誤分類コスト行列に応じた事前確率と観測値の重みの調整の説明に従って,既定以外のコスト行列の事前確率と観測値の重みを調整します。その後,分類モデルに学習させるときに,調整後の事前確率と観測値の重みを名前と値の引数之前
と权重
を使用して指定し,既定のコスト行列を使用します。
Matlabコマンド
次のmatlabコマンドに対応するリンクがクリックされました。
コマンドをmatlabコマンドウィンドウに入力して実行してください。Webブラウザ,はMATLABコマンドをサポ,トしていません。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。