主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

templateSVM

サポ,トベクタ,マシンテンプレ,ト

説明

t= templateSVM ()はECOC(誤り訂正出力符号)マルチクラスモデルの学習に適したSVM(サポートベクターマシン)学習器テンプレートを返します。

既定のテンプレ,トを指定する場合,学習中のすべての入力引数には既定値が使用されます。

tfitcecocのバイナリ学習器またはバイナリ学習器のセットの1つとして指定し,ECOCマルチクラス分類器に学習をさせます。

t= templateSVM (名称,值は,1以上の名前と値のペアの引数で指定された追加オプションを使用してテンプレ。

たとえば,ボックス制約,カ,ネル関数または予測子を標準化するかを指定します。

コマンドウィンドウにtを表示する場合,すべてのオプションは,名前と値のペア引数を使用して指定する場合を除き,空([])で表示されます。学習中,空のオプションに既定値が使用されます。

すべて折りたたむ

templateSVMを使用して既定のSVMテンプレ,トを指定します。

t = templateSVM()
t =拟合分类支持向量机模板。Alpha: [0x1 double] BoxConstraint: [] CacheSize: [] CachingMethod: " ClipAlphas: [] DeltaGradientTolerance: [] Epsilon: [] GapTolerance: [] kkttolance: [] IterationLimit: [] KernelFunction: " KernelScale: [] KernelOffset: [] kernelpoliialorder: [] NumPrint: [] Nu: [] OutlierFraction: [] removeduplicate: [] ShrinkagePeriod: [] Solver: " StandardizeData: [] SaveSupportVe金宝appctors: [] VerbosityLevel: [] Version: 2 Method: 'SVM' Type: 'classification'

方法类型を除き,テンプレ,トオブジェクトのすべてのプロパティは空です。tを学習関数に渡す場合,空のプロパティはそれぞれの既定値で入力されます。たとえば,KernelFunctionプロパティは,“线性”で入力されます。他の既定値の詳細は,fitcsvmを参照してください。

tは支持向量机分類器の計画です。これを指定する場合,計算は実行されません。tfitcecocに渡して,ecocマルチクラス学習のSVMバescナリ学習器を指定します。しかし,既定の設定では,fitcecocは既定のSVMバescナリ学習器を使用します。

fitcecocで使用する既定以外のSVMテンプレ,トを作成します。

フィッシャ,のアヤメのデ,タセットを読み込みます。

负载fisheriris

支持向量机バ@ @ナリ分類器のテンプレ@ @トを作成して,ガウスカ@ @ネル関数を指定します。

t = templateSVM(“KernelFunction”“高斯”
t =拟合分类支持向量机模板。Alpha: [0x1 double] BoxConstraint: [] CacheSize: [] CachingMethod: " ClipAlphas: [] DeltaGradientTolerance: [] Epsilon: [] GapTolerance: [] kkttolance: [] IterationLimit: [] KernelFunction: 'gaussian' KernelScale: [] KernelOffset: [] kernelpoliialorder: [] NumPrint: [] Nu: [] OutlierFraction: [] removeduplicate: [] ShrinkagePeriod: [] Solver: " StandardizeData: [] SaveSupportV金宝appectors: [] VerbosityLevel: [] Version: 2 Method: 'SVM' Type: 'classification'

DistributionNames方法および类型を除き,テンプレ,トオブジェクトのすべてのプロパティは空です。学習の際,空のプロパティはそれぞれの既定値で入力されます。

tをecocマルチクラスモデルのバescナリ学習器として指定します。

Mdl = fitcecoc(meas,species,“学习者”t);

MdlClassificationECOCマルチクラス分類器です。既定の設定では,Mdlは1対1の符号化設計を使用の学習が実行されます。

標本内(再代入)誤分類誤差を表示します。

L = resubLoss(Mdl,“LossFun”“classiferror”
L = 0.0200

線形SVMバescナリ学習器が含まれているecocモデルに学習をさせるときに,既定では,fitcecocはバ@ @ナリ学習器のα金宝appSupportVectorLabelsおよび金宝appSupportVectorsプロパティを空にします。代わりに,サポ,トベクタ,および関連する値を保持し,後でモデルから破棄することもできます。

フィッシャ,のアヤメのデ,タセットを読み込みます。

负载fisheririsrng (1);%用于再现性

デタセット全体を使用してecocモデルを学習させます。適切なSVMテンプレ,トに渡すことにより,サポ,トベクタ,を保存するように指定します。

t = templateSVM(“Save金宝appSupportVectors”,真正的);MdlSV = fitcecoc(meas,species,“学习者”t);

MdlSVは,線形SVMバescナリ学習器が含まれている学習済みのClassificationECOCモデルです。既定では,fitcecocは対1の符号化設計を実装するので,3クラス学習の場合は3つのバイナリ学習器が必要になります。

ドット表記を使用して α (アルファ)の推定値にアクセスします。

Alpha = cell(3,1);alpha{1} = MdlSV.BinaryLearners{1}.Alpha;alpha{2} = MdlSV.BinaryLearners{2}.Alpha;alpha{3} = MdlSV.BinaryLearners{3}.Alpha;α
α=3×1单元格数组{3x1 double} {3x1 double} {23x1 double}

αは, α の推定値が格納されている3行1列のcell配列です。

サポ,トベクタ,および関連する値をecocモデルから破棄します。

Mdl = discard金宝appSupportVectors(MdlSV);

MdlMdlSVに似ていますが,すべての線形SVMバescナリ学習器のα金宝appSupportVectorLabelsおよび金宝appSupportVectorsプロパティが空([])であるという点が異なります。

areAllEmpty = @(x)isempty([x.]αx.金宝appSupportVectorsx.金宝appSupportVectorLabels]); cellfun(areAllEmpty,Mdl.BinaryLearners)
ans =3x1逻辑阵列1 1 1

2のecocモデルのサズを比較します。

Vars = whoos (“Mdl”“MdlSV”);100*(1 - vars(1).bytes/vars(2).bytes)
Ans = 4.7075

MdlMdlSVより約5%小さくなっています。

Mdlを圧縮しMdlMdlSVをワ,クスペ,スからクリアして,メモリ使用量を減らします。

CompactMdl =紧凑(Mdl);清晰的MdlMdlSV

より効率的なSVMモデルを使用して,学習デタのランダムな行にいてラベルを予測します。

Idx = randsample(size(meas,1),1)
Idx = 63
predictedLabel = predict(CompactMdl,meas(idx,:))
predictedLabel =1x1单元阵列{“癣”}
trueLabel =物种(idx)
trueLabel =1x1单元阵列{“癣”}

入力引数

すべて折りたたむ

名前と値のペアの引数

オプションの名称,值引数のコンマ区切りペアを指定します。的名字は引数名で,价值は対応する値です。的名字は引用符で囲まなければなりません。Name1, Value1,…,的家のように,複数の名前と値のペアの引数を,任意の順番で指定できます。

例:“BoxConstraint”,0.1,“KernelFunction”、“高斯”,“标准化”,1はガウス(rbf)カ,ネルの使用と予測の標準化に0.1のボックス制約を指定します。

ボックス制約“BoxConstraint”と正のスカラ,で構成されるコンマ区切りペアとして指定します。

1クラス学習の場合,ボックス制約は必ず1に設定されます。

BoxConstraint成本之前标准化および权重の関係とアルゴリズム動作にいての詳細は,アルゴリズムを参照してください。

例:“BoxConstraint”,100年

デ,タ型:|

キャッシュサ@ @ズ。“CacheSize”“最大”または正のスカラ,で構成されるコンマ区切りのペアとして指定します。

CacheSize“最大”の場合,n行n列のグラム行列を保持できる十分なメモリが確保されます。

CacheSizeが正のスカラ,の場合,モデルの学習用にCacheSizeメガバ@ @トのメモリが確保されます。

例:“CacheSize”、“最大”

デ,タ型:||字符|字符串

アルファ係数をクリップするためのフラグ。“ClipAlphas”真正的またはのいずれかから構成されるコンマ区切りのペアとして指定します。

観測値jのアルファ係数がαj,観測値jのボックス制約がCjであるとします(j = 1,…,n)。Nは学習標本のサescズです。

説明
真正的 各反復でαjが0またはjに近い場合,matlab®でαjがそれぞれ0またはjに設定されます。
最適化時にmatlabでアルファ係数は変更されません。

Matlabでは,SVM学習済みのαプロパティに最終的なαの値が格納されます。

ClipAlphasは,smoとisdaの収束に影響を与える可能性があります。

例:“ClipAlphas”,假的

デ,タ型:逻辑

SMO(逐次最小最適化)またはISDA(反復単一データアルゴリズム)により取得された上位の違反値と下位の違反値の間に存在する,勾配差分の許容誤差。“DeltaGradientTolerance”と非負のスカラ,で構成されるコンマ区切りのペアとして指定します。

DeltaGradientTolerance0の場合,最適化収束を確認するために,勾配差分の許容誤差を使用しません。

既定値は,以下のとおりです。

  • ソルバ,がsmoの場合(たとえば,“规划求解”、“SMO的を設定した場合など)は1 e - 3

  • ソルバ,がisdaの場合(たとえば,“规划求解”、“ISDA的を設定した場合など)は0

例:依照“DeltaGradientTolerance”,1

デ,タ型:|

Smoまたはisdaにより取得された実行可能性ギャップの許容誤差。“GapTolerance”と非負のスカラ,で構成されるコンマ区切りのペアとして指定します。

GapTolerance0の場合,最適化収束の確認には,実行可能性ギャップの許容誤差を使用しません。

例:依照“GapTolerance”,1

デ,タ型:|

数値最適化反復の最大回数。“IterationLimit”と正の整数値で構成されるコンマ区切りのペアとして指定します。

最適化ル,チンが正常に収束したかどうかに関係なく,学習済みのモデルが返されます。Mdl。ConvergenceInfoに収束情報が格納されます。

例:“IterationLimit”,1 e8

デ,タ型:|

グラム行列の要素の計算に使用するカ,ネル関数。“KernelFunction”とカ,ネル関数名から構成されるコンマ区切りのペアとして指定します。G (xj, xk)がグラム行列の要素(j,k)であるとします。ここで,xjおよびxkX内の観測値jおよびkを表すp次元ベクトルです。サポトされるカーネル関数の名前および関数形式を次の表で説明します。

カ,ネル関数名 説明
“高斯”または“rbf” ガウスまたは放射基底関数(rbf)カ,ネル(1クラス学習の場合の既定値)

G x j x k 经验值 x j x k 2

“线性” 線形カ,ネル(2クラス学習の場合の既定値)

G x j x k x j x k

多项式的 多項式カ,ネル。“PolynomialOrder”,を使用して多項式カネルの順序()を指定します。

G x j x k 1 + x j x k

独自のカ,ネル関数を設定することもできます。たとえば,“KernelFunction”、“内核”を使用すると内核が設定されます。値内核は次の形式でなければなりません。

函数G =核(U,V)
ここで,

  • Uは,m行p列の行列です。列は予測子変数に,行は観測値に対応します。

  • Vは,n行p列の行列です。列は予測子変数に,行は観測値に対応します。

  • Gは,UVの行によるm行n列のグラム行列です。

kernel.mは,matlabパス上になければなりません。

カ,ネル関数には一般的な名前を使用しないようにしてください。たとえば,シグモ“乙状结肠”ではなく“mysigmoid”などの名前を使用します。

例:“KernelFunction”、“高斯”

デ,タ型:字符|字符串

カネルオフセットパラメタ。“KernelOffset”と非負のスカラ,で構成されるコンマ区切りのペアとして指定します。

KernelOffsetがグラム行列の各要素に追加されます。

既定値は以下のとおりです。

  • ソルバーがSMOの場合(つまり,“规划求解”、“SMO的を設定した場合)は0

  • ソルバーがISDAの場合(つまり,“规划求解”、“ISDA的を設定した場合)は0.1

例:“KernelOffset”,0

デ,タ型:|

カネルスケルパラメタ。“KernelScale”と,“汽车”または正のスカラ,で構成される,コンマ区切りのペアとして指定します。予測子行列Xのすべての要素がKernelScaleの値で除算されます。その後,適切なカ,ネルノルムが適用され,グラム行列が計算されます。

  • “汽车”を指定した場合,ヒュ,リスティック手法を使用して適切なスケ,ル係数が選択されます。このヒューリスティック手法では副標本抽出を使用するので,呼び出すたびに推定値が変化する可能性があります。このため,結果を再現するには,学習の前にrngを使用して乱数シ,ドを設定します。

  • “KernelFunction”、“内核”のようにKernelScaleと独自のカ,ネル関数を指定すると,エラ,が発生します。内核の内部でスケ,リングを適用しなければなりません。

例:“KernelScale”、“汽车”

デ,タ型:||字符|字符串

KKT(カル,シュ,キュ,ン,タッカ,)相補性条件の違反許容誤差。“KKTTolerance”と非負のスカラ,で構成されるコンマ区切りのペアとして指定します。

KKTTolerance0の場合,最適化収束の確認に実行可能性のKKT相補性条件の違反許容誤差は使用されません。

既定値は,以下のとおりです。

  • ソルバ,がsmoの場合(たとえば,“规划求解”、“SMO的を設定した場合など)は0

  • ソルバ,がisdaの場合(たとえば,“规划求解”、“ISDA的を設定した場合など)は1 e - 3

例:依照“KKTTolerance”,1

デ,タ型:|

最適化診断メッセ,ジ出力の反復回数。“NumPrint”と非負の整数で構成されるコンマ区切りのペアとして指定します。

“详细”,1NumPrint, NumPrintを指定すると,numprint回反復するたびにSMOとISDAからのすべての最適化診断メッセージがコマンドウィンドウに表示されます。

例:“NumPrint”,500年

デ,タ型:|

学習デ,タで想定される外れ値の比率。“OutlierFraction”と区間[0,1)の数値スカラ.から構成されるコンマ区切りのペアとして指定します。

OutlierFraction, OutlierFractionを設定するとします。outlierfractionは0より大きい値です。

  • 2クラス学習では“ロバスト学習”が行われます。この方式では,最適化アルゴリズムが収束すると,観測値のう100*outlierfractionが削除されます。削除された観測値は,勾配の大きいものに対応します。

  • 1クラス学習では,学習セットに負のスコアをも観測outlierfractionなど,適切なバ。

例:“OutlierFraction”,0.01

デ,タ型:|

多項式カ,ネル関数の次数。“PolynomialOrder”と正の整数から成るコンマ区切りのペアとして指定されます。

KernelFunction多项式的ではない場合に“PolynomialOrder”を設定すると,エラ,がスロ,されます。

例:“PolynomialOrder”,2

デ,タ型:|

結果のモデルのプロパティとしてサポートベクター,そのラベル,および推定したαの係数を格納するかどうか。“Save金宝appSupportVectors”真正的またはをコンマ区切りのペアとして指定します。

Save金宝appSupportVectors真正的の場合,結果のモデルの金宝appSupportVectorsプロパティにはサポトベクタ,金宝appSupportVectorLabelsプロパティにはそのラベル,コンパクトなSVM学習器のαプロパティには推定したαの係数が格納されます。

Save金宝appSupportVectorsKernelFunction“线性”の場合,結果のモデルではサポ,トベクタ,と関連推定値が格納されません。

コンパクトなSVMモデルのメモリ消費量を減らすには,Save金宝appSupportVectorsを指定します。

Ecocモデルに線形SVMバescナリ学習器を使用した場合,既定値はです。それ以外の場合,既定値は真正的です。

例:“Save金宝appSupportVectors”,真的

デ,タ型:逻辑

アクティブセットの縮小間の反復回数。“ShrinkagePeriod”と非負の整数から構成されるコンマ区切りのペアとして指定します。

“ShrinkagePeriod”,0を設定すると,アクティブセットは縮小されません。

例:“ShrinkagePeriod”,1000年

デ,タ型:|

最適化ル,チン。“规划求解”と次の表の値から構成されるコンマ区切りのペアとして指定します。

説明
ISDA的 反復単一デタアルゴリズム([30]参照)
“L1QP” quadprog(优化工具箱)を使用して二次計画法によるl1ソフトマ,ジン最小化を実装します。このオプションには优化工具箱™ラ▪▪センスが必要です。詳細は,二次計画法の定義(优化工具箱)を参照してください。
SMO的 逐次最小最適化 ([17]参照)

既定値は,2クラス学習で“OutlierFraction”を正の値に設定した場合はISDA的で,それ以外の場合はSMO的です。

例:“规划求解”、“ISDA的

予測子デ,タを標準化するためのフラグ。“标准化”真正的1)または(0)から構成されるコンマ区切りのペアとして指定します。

“标准化”,真的を設定した場合,次のようになります。

  • 列の加重平均と標準偏差によって予測子デタ(X)の各列がそれぞれセンタリングおよびスケ,リングされます(重みを付けた標準化の詳細に,いてはアルゴリズムを参照してください)。MATLABでは、カテゴリカル予測子用に生成されたダミー変数の列に含まれているデータは標準化されません。

  • 分類器の学習には標準化された予測子行列が使用されますが,分類器のXプロパティには標準化されていないデ,タが格納されます。

例:“标准化”,真的

デ,タ型:逻辑

詳細レベル。“详细”01または2から構成されるコンマ区切りのペアとして指定します。详细的の値は,コマンドウィンドウに表示され構造体としてMdl.ConvergenceInfo.Historyに保存される最適化情報の量を制御します。

次の表は,使用できる詳細レベルオプションの一覧です。

説明
0 収束情報の表示や保存は行われません。
1 診断メッセ,ジが表示され,numprint回の反復ごとに収束基準が保存されます。ここで,numprintは名前と値のペアの引数“NumPrint”の値です。
2 診断メッセ,ジが表示され,1回の反復ごとに収束基準が保存されます。

例:“详细”,1

デ,タ型:|

出力引数

すべて折りたたむ

Ecoc(誤り訂正出力符号)マルチクラスモデルの学習に適したSVM分類テンプレ,ト。テンプレ,トオブジェクトとして返します。tfitcecocに渡し,ecocモデルのSVM分類器を作成する方法を指定します。

コマンドウィンドウにtを表示する場合、すべての未指定のオプションは空([])で表示されます。しかし,空のオプションは学習中に対応する既定値に置き換えられます。

ヒント

既定では,効率を向上させるため,fitcecocはすべての線形SVMバescナリ学習器のα金宝appSupportVectorLabelsおよび金宝appSupportVectorsプロパティを空にします。fitcecocは,αではなくβをモデル表示で出力します。

α金宝appSupportVectorLabelsおよび金宝appSupportVectorsを保存するには,サポ,トベクタ,をfitcecocに保存するよう指定する線形SVMテンプレ,トを渡します。たとえば,次のように入力します。

t = templateSVM(“Save金宝appSupportVectors”,true) Mdl = fitcecoc(X,Y,“学习者”t);

サポ,トベクタ,および関連する値は,生成されたClassificationECOCモデルをdiscard金宝appSupportVectorsに渡すことにより削除できます。

参照

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

[2]范,r.e。,林志信。陈和c - j。林。“使用二阶信息训练支持向量机的工作集选择。”金宝app机器学习研究杂志,2005年第6卷,第1889-1918页。

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

[4]凯克曼V. -M。黄和M.沃格特。从庞大数据集训练核心机器的迭代单数据算法:理论和性能。支持向金宝app量机:理论与应用。王立波编辑,255-274。柏林:斯普林格出版社,2005年。

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

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

R2014bで導入