このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
サポートベクターマシンテンプレート
templateSVM
を使用して既定のSVMテンプレートを指定します。
t = templateSVM ()
t =适合分类支持向量机的模板。α:[0 x1双]BoxConstraint: [] CacheSize: [] CachingMethod:“ClipAlphas: [] DeltaGradientTolerance:[]ε:[]GapTolerance: [] KKTTolerance: [] IterationLimit: [] KernelFunction:“KernelScale: [] KernelOffset: [] KernelPolynomialOrder: [] NumPrint:[]ν:[]OutlierFraction: [] RemoveDuplicates: [] ShrinkagePeriod:[]解算器:" standzedata: [] SaveSuppo万博1manbetxrtVectors: [] VerbosityLevel: [] Version: 2 Method: 'SVM' Type: 'classification'
方法
と类型
を除き,テンプレートオブジェクトのすべてのプロパティは空です。t
を学習関数に渡す場合,空のプロパティはそれぞれの既定値で入力されます。たとえば,KernelFunction
プロパティは,“线性”
で入力されます。他の既定値の詳細は,fitcsvm
を参照してください。
t
はSVM分類器の計画です。これを指定する場合,計算は実行されません。t
をfitcecoc
に渡して,ECOCマルチクラス学習のSVMバイナリ学習器を指定します。しかし,既定の設定では,fitcecoc
は既定のSVMバイナリ学習器を使用します。
fitcecoc
で使用する既定以外のSVMテンプレートを作成します。
フィッシャーのアヤメのデータセットを読み込みます。
负载fisheriris
SVMバイナリ分類器のテンプレートを作成して,ガウスカーネル関数を指定します。
t = templateSVM (“KernelFunction”,“高斯”)
t =适合分类支持向量机的模板。α:[0 x1双]BoxConstraint: [] CacheSize: [] CachingMethod:“ClipAlphas: [] DeltaGradientTolerance:[]ε:[]GapTolerance: [] KKTTolerance: [] IterationLimit: [] KernelFunction:“高斯”KernelScale: [] KernelOffset: [] KernelPolynomialOrder: [] NumPrint:[]ν:[]OutlierFraction: [] RemoveDuplicates: [] ShrinkagePeriod:[]解决方案:"标准化数据:[]SaveSupportVectors: []万博1manbetx VerbosityLevel: [] Version: 2方法:'SVM'类型:'classification'
DistributionNames
、方法
および类型
を除き,テンプレートオブジェクトのすべてのプロパティは空です。学習の際,空のプロパティはそれぞれの既定値で入力されます。
t
をECOCマルチクラスモデルのバイナリ学習器として指定します。
Mdl = fitcecoc(量、种类、“学习者”t);
Mdl
はClassificationECOC
マルチクラス分類器です。既定の設定では,Mdl
は,対1の符号化設計を使用の学習が実行されます。
標本内(再代入)誤分類誤差を表示します。
L = resubLoss (Mdl,“LossFun”,“classiferror”)
L = 0.0200
線形SVMバイナリ学習器が含まれているECOCモデルに学習をさせるときに,既定では,fitcecoc
はバイナリ学習器のα
、万博1manbetxSupportVectorLabels
および万博1manbetxSupportVectors
プロパティを空にします。代わりに,サポートベクターおよび関連する値を保持し,後でモデルから破棄することもできます。
フィッシャーのアヤメのデータセットを読み込みます。
负载fisheririsrng (1);%的再现性
データセット全体を使用してECOCモデルを学習させます。適切なSVMテンプレートに渡すことにより,サポートベクターを保存するように指定します。
t = templateSVM (“Save万博1manbetxSupportVectors”,真正的);MdlSV = fitcecoc(量、种类、“学习者”t);
MdlSV
は,線形SVMバイナリ学習器が含まれている学習済みのClassificationECOC
モデルです。既定では,fitcecoc
は対1の符号化設計を実装するので,3クラス学習の場合は3つのバイナリ学習器が必要になります。
ドット表記を使用して (アルファ)の推定値にアクセスします。
α=细胞(3,1);α{1}= MdlSV.BinaryLearners {1} .Alpha;α{2}= MdlSV.BinaryLearners {2} .Alpha;α{3}= MdlSV.BinaryLearners {3} .Alpha;α
α=3×1单元阵列{3x1 double} {3x1 double} {23x1 double}
α
は,
の推定値が格納されている3行1列の细胞配列です。
サポートベクターおよび関連する値をECOCモデルから破棄します。
Mdl = discard万博1manbetxSupportVectors (MdlSV);
Mdl
はMdlSV
に似ていますが,すべての線形SVMバイナリ学習器のα
、万博1manbetxSupportVectorLabels
および万博1manbetxSupportVectors
プロパティが空([]
)であるという点が異なります。
areAllEmpty = @ isempty ([x (x)。αx.万博1manbetxSupportVectorsx.万博1manbetxSupportVectorLabels]); cellfun(areAllEmpty,Mdl.BinaryLearners)
ans =3 x1逻辑阵列1 1 1
2つのECOCモデルのサイズを比較します。
var =谁(“Mdl”,“MdlSV”);100 * (1 - var (1) .bytes / var (2) .bytes)
ans = 4.7075
Mdl
はMdlSV
より約5%小さくなっています。
Mdl
を圧縮しMdl
とMdlSV
をワークスペースからクリアして,メモリ使用量を減らします。
CompactMdl =紧凑(Mdl);清晰的MdlMdlSV;
より効率的なSVMモデルを使用して,学習データのランダムな行についてラベルを予測します。
idx = randsample(大小(量,1),1)
idx = 63
predictedLabel =预测(CompactMdl量(idx,:))
predictedLabel =1 x1单元阵列{“癣”}
trueLabel =物种(idx)
trueLabel =1 x1单元阵列{“癣”}
オプションの名称,值
引数のコンマ区切りペアを指定します。的名字
は引数名で,价值
は対応する値です。的名字
は引用符で囲まなければなりません。Name1, Value1,…,的家
のように,複数の名前と値のペアの引数を,任意の順番で指定できます。
“BoxConstraint”,0.1,“KernelFunction”、“高斯”,“标准化”,1
はガウス(RBF)カーネルの使用と予測の標準化に0.1
のボックス制約を指定します。
“CacheSize”
- - - - - -キャッシュサイズ1000
(既定値) |“最大”
|正のスカラーキャッシュサイズ。“CacheSize”
と“最大”
または正のスカラーで構成されるコンマ区切りのペアとして指定します。
CacheSize
が“最大”
の場合,n行n列のグラム行列を保持できる十分なメモリが確保されます。
CacheSize
が正のスカラーの場合,モデルの学習用にCacheSize
メガバイトのメモリが確保されます。
例:“CacheSize”、“最大”
データ型:双
|单
|字符
|字符串
“ClipAlphas”
- - - - - -アルファ係数をクリップするためのフラグ真正的
(既定値) |假
アルファ係数をクリップするためのフラグ。“ClipAlphas”
と真正的
または假
のいずれかから構成されるコンマ区切りのペアとして指定します。
観測値jのアルファ係数がαj,観測値jのボックス制約がCjであるとします(j = 1,…,n)。nは学習標本のサイズです。
値 | 説明 |
---|---|
真正的 |
各反復でαjが0またはCjに近い場合,MATLAB®でαjがそれぞれ0またはCjに設定されます。 |
假 |
最適化時にMATLABでアルファ係数は変更されません。 |
MATLABでは,学習済みのSVMモデルオブジェクトのα
プロパティに最終的なαの値が格納されます。
ClipAlphas
は,SMOとISDAの収束に影響を与える可能性があります。
例:“ClipAlphas”,假的
データ型:逻辑
“DeltaGradientTolerance”
- - - - - -勾配差分の許容誤差SMO(逐次最小最適化)またはISDA(反復単一データアルゴリズム)により取得された上位の違反値と下位の違反値の間に存在する,勾配差分の許容誤差。“DeltaGradientTolerance”
と非負のスカラーで構成されるコンマ区切りのペアとして指定します。
DeltaGradientTolerance
が0
の場合,最適化収束を確認するために,勾配差分の許容誤差を使用しません。
既定値は,以下のとおりです。
ソルバーがSMOの場合(たとえば,“规划求解”、“SMO的
を設定した場合なはど)1 e - 3
ソルバーがISDAの場合(たとえば,“规划求解”、“ISDA的
を設定した場合なはど)0
例:依照“DeltaGradientTolerance”,1
データ型:双
|单
“GapTolerance”
- - - - - -実行可能性ギャップの許容誤差0
(既定値) |非負のスカラーSMOまたはISDAにより取得された実行可能性ギャップの許容誤差。“GapTolerance”
と非負のスカラーで構成されるコンマ区切りのペアとして指定します。
GapTolerance
が0
の場合,最適化収束の確認には,実行可能性ギャップの許容誤差を使用しません。
例:依照“GapTolerance”,1
データ型:双
|单
“IterationLimit”
- - - - - -数値最適化反復の最大回数1 e6
(既定値) |正の整数数値最適化反復の最大回数。“IterationLimit”
と正の整数値で構成されるコンマ区切りのペアとして指定します。
最適化ルーチンが正常に収束したかどうかに関係なく,学習済みのモデルが返されます。Mdl。ConvergenceInfo
に収束情報が格納されます。
例:“IterationLimit”,1 e8
データ型:双
|单
“KernelFunction”
- - - - - -カーネル関数“线性”
|“高斯”
|“rbf”
|多项式的
|関数名グラム行列の要素の計算に使用するカーネル関数。“KernelFunction”
とカーネル関数名から構成されるコンマ区切りのペアとして指定します。G (xj, xk)がグラム行列の要素(j, k)であるとします。ここでxjおよびxkはX
内の観測値jおよびkを表すp次元ベクトルです。サポートされるカーネル関数の名前および関数形式を次の表で説明します。
カーネル関数名 | 説明 | 式 |
---|---|---|
“高斯” または“rbf” |
ガウスまたは放射基底関数(RBF)カーネル(1クラス学習の場合の既定値) |
|
“线性” |
線形カーネル(2クラス学習の場合の既定値) |
|
多项式的 |
多項式カーネル。“PolynomialOrder”, を使用して多項式カーネルの順序(问 )を指定します。 |
|
独自のカーネル関数を設定することもできます。たとえば,“KernelFunction”、“内核”
を使用すると内核
が設定されます。値内核
は次の形式でなければなりません。
函数G =内核(U, V)
U
は,m行p列の行列です。列は予測子変数に,行は観測値に対応します。
V
はn行p列の行列です。列は予測子変数に,行は観測値に対応します。
G
は,U
とV
の行によるm行n列のグラム行列です。
kernel.m
は,MATLABパス上になければなりません。
カーネル関数には一般的な名前を使用しないようにしてください。たとえば,シグモイドカーネル関数には“乙状结肠”
ではなく“mysigmoid”
などの名前を使用します。
例:“KernelFunction”、“高斯”
データ型:字符
|字符串
“KernelOffset”
- - - - - -カーネルオフセットパラメーターカーネルオフセットパラメーター。“KernelOffset”
と非負のスカラーで構成されるコンマ区切りのペアとして指定します。
KernelOffset
がグラム行列の各要素に追加されます。
既定値は以下のとおりです。
ソルバーがSMOの場合(つまり,“规划求解”、“SMO的
はを設定した場合)0
ソルバーがISDAの場合(つまり,“规划求解”、“ISDA的
はを設定した場合)0.1
例:“KernelOffset”,0
データ型:双
|单
“KernelScale”
- - - - - -カーネルスケールパラメーター1
(既定値) |“汽车”
|正のスカラーカーネルスケールパラメーター。“KernelScale”
と,“汽车”
または正のスカラーで構成される,コンマ区切りのペアとして指定します。予測子行列X
のすべての要素がKernelScale
の値で除算されます。その後,適切なカーネルノルムが適用され,グラム行列が計算されます。
“汽车”
を指定した場合,ヒューリスティック手法を使用して適切なスケール係数が選択されます。このヒューリスティック手法では副標本抽出を使用するので,呼び出すたびに推定値が変化する可能性があります。このため,結果を再現するには,学習の前にrng
を使用して乱数シードを設定します。
“KernelFunction”、“内核”
のようにKernelScale
と独自のカーネル関数を指定すると,エラーが発生します。内核
の内部でスケーリングを適用しなければなりません。
例:“KernelScale”、“汽车”
データ型:双
|单
|字符
|字符串
“KKTTolerance”
- - - - - -カルーシュ・キューン・タッカー相補性条件の違反許容誤差马(カルーシュ・キューン・タッカー)相補性条件の違反許容誤差。“KKTTolerance”
と非負のスカラーで構成されるコンマ区切りのペアとして指定します。
KKTTolerance
が0
の場合,最適化収束の確認に実行可能性の马相補性条件の違反許容誤差は使用されません。
既定値は,以下のとおりです。
ソルバーがSMOの場合(たとえば,“规划求解”、“SMO的
を設定した場合なはど)0
ソルバーがISDAの場合(たとえば,“规划求解”、“ISDA的
を設定した場合なはど)1 e - 3
例:依照“KKTTolerance”,1
データ型:双
|单
“NumPrint”
- - - - - -最適化診断メッセージ出力の反復回数1000
(既定値) |非負の整数最適化診断メッセージ出力の反復回数。“NumPrint”
と非負の整数で構成されるコンマ区切りのペアとして指定します。
“详细”,1
とNumPrint, NumPrint
を指定すると,numprint
回反復するたびにSMOとISDAからのすべての最適化診断メッセージがコマンドウィンドウに表示されます。
例:“NumPrint”,500年
データ型:双
|单
“OutlierFraction”
- - - - - -学習データで想定される外れ値の比率0
(既定値) |区間(0,1)の数値スカラー学習データで想定される外れ値の比率。“OutlierFraction”
と区間(0,1)の数値スカラーから構成されるコンマ区切りのペアとして指定します。
OutlierFraction, OutlierFraction
を設定するとします。outlierfraction
は0より大きい値です。
2クラス学習では“ロバスト学習”が行われます。この方式では,最適化アルゴリズムが収束すると,観測値のうち100 *outlierfraction
%が削除されます。削除された観測値は,勾配の大きいものに対応します。
1クラス学習では,学習セットに負のスコアをもつ観測outlierfraction
など,適切なバイアス項が検出されます。
例:“OutlierFraction”,0.01
データ型:双
|单
“PolynomialOrder”
- - - - - -多項式カーネル関数の次数3.
(既定値) |正の整数多項式カーネル関数の次数。“PolynomialOrder”
と正の整数から成るコンマ区切りのペアとして指定されます。
KernelFunction
が多项式的
ではない場合に“PolynomialOrder”
を設定すると,エラーがスローされます。
例:“PolynomialOrder”,2
データ型:双
|单
“Save万博1manbetxSupportVectors”
- - - - - -サポートベクター,そのラベル,および推定したαの係数の格納真正的
|假
結果のモデルのプロパティとしてサポートベクター,そのラベル,および推定したαの係数を格納するかどうか。“Save万博1manbetxSupportVectors”
と真正的
または假
をコンマ区切りのペアとして指定します。
Save万博1manbetxSupportVectors
が真正的
の場合,結果のモデルの万博1manbetxSupportVectors
プロパティにはサポートベクター,万博1manbetxSupportVectorLabels
プロパティにはそのラベル,コンパクトなSVM学習器のα
プロパティには推定したαの係数が格納されます。
Save万博1manbetxSupportVectors
が假
でKernelFunction
が“线性”
の場合,結果のモデルではサポートベクターと関連推定値が格納されません。
コンパクトなSVMモデルのメモリ消費量を減らすには,Save万博1manbetxSupportVectors
を指定します。
ECOCモデルに線形SVMバイナリ学習器を使用した場合,既定値は假
です。それ以外の場合,既定値は真正的
です。
例:“Save万博1manbetxSupportVectors”,真的
データ型:逻辑
“ShrinkagePeriod”
- - - - - -アクティブセットの縮小間の反復数0
(既定値) |非負の整数アクティブセットの縮小間の反復回数。“ShrinkagePeriod”
と非負の整数から構成されるコンマ区切りのペアとして指定します。
“ShrinkagePeriod”,0
を設定すると,アクティブセットは縮小されません。
例:“ShrinkagePeriod”,1000年
データ型:双
|单
“规划求解”
- - - - - -最適化ルーチンISDA的
|“L1QP”
|SMO的
“标准化”
- - - - - -予測子データを標準化するためのフラグ假
(既定値) |真正的
予測子データを標準化するためのフラグ。“标准化”
と真正的
(1
)または假
(0)
から構成されるコンマ区切りのペアとして指定します。
“标准化”,真的
を設定した場合,次のようになります。
列の加重平均と標準偏差によって予測子データ(X
)の各列がそれぞれセンタリングおよびスケーリングされます(重みを付けた標準化の詳細についてはアルゴリズムを参照してください)。MATLABでは、カテゴリカル予測子用に生成されたダミー変数の列に含まれているデータは標準化されません。
分類器の学習には標準化された予測子行列が使用されますが,分類器のX
プロパティには標準化されていないデータが格納されます。
例:“标准化”,真的
データ型:逻辑
“详细”
- - - - - -詳細レベル0
(既定値) |1
|2
詳細レベル。“详细”
と0
、1
または2
から構成されるコンマ区切りのペアとして指定します。详细的
の値は,コマンドウィンドウに表示され構造体としてMdl.ConvergenceInfo.History
に保存される最適化情報の量を制御します。
次の表は,使用できる詳細レベルオプションの一覧です。
値 | 説明 |
---|---|
0 |
収束情報の表示や保存は行われません。 |
1 |
診断メッセージが表示され,numprint 回の反復ごとに収束基準が保存されます。ここで,numprint は名前と値のペアの引数“NumPrint” の値です。 |
2 |
診断メッセージが表示され,1回の反復ごとに収束基準が保存されます。 |
例:“详细”,1
データ型:双
|单
既定では,効率を向上させるため,fitcecoc
はすべての線形SVMバイナリ学習器のα
、万博1manbetxSupportVectorLabels
および万博1manbetxSupportVectors
プロパティを空にします。fitcecoc
は,α
ではなくβ
をモデル表示で出力します。
α
、万博1manbetxSupportVectorLabels
および万博1manbetxSupportVectors
を保存するには,サポートベクターをfitcecoc
に保存するよう指定する線形SVMテンプレートを渡します。たとえば,次のように入力します。
t = templateSVM (“Save万博1manbetxSupportVectors”Mdl = fitcecoc(X,Y,“学习者”t);
サポートベクターおよび関連する値は,生成されたClassificationECOC
モデルをdiscard万博1manbetxSupportVectors
に渡すことにより削除できます。
克里斯汀尼尼,N。c。肖-泰勒。支持向量机和其他基于核的学习方法简介。万博1manbetx英国剑桥:剑桥大学出版社,2000年。
[2]球迷,R.-E。,林志信。陈,C.-J。林。使用二阶信息进行训练支持向量机的工作集选择万博1manbetx机器学习研究杂志,2005年第6卷,1889-1918页。
Hastie, T., R. Tibshirani, J. Friedman。统计学习的要素,第二版。纽约:施普林格,2008年。
凯克曼V., T. -M。和M. Vogt。从大数据集训练核机的迭代单数据算法:理论与性能支持向万博1manbetx量机:理论与应用。王力波主编,255-274。柏林:斯普林格出版社,2005年版。
Scholkopf, B., J. C. Platt, J. C. shaw - taylor, A. J. Smola, R. C. Williamson。"估算高维分布的支持度"万博1manbetx神经第一版。,Vol. 13, Number 7, 2001, pp. 1443–1471.
[6] Scholkopf, B.和A. Smola。核学习:支持向量机,正则化,优化和超越,自适应万博1manbetx计算和机器学习。麻省理工学院出版社,2002年。
次のMATLABコマンドに対応するリンクがクリックされました。
コマンドをMATLABコマンドウィンドウに入力して実行してください。WebブラウザーはMATLABコマンドをサポートしていません。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。