このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
predictConstraints
一連の点における連結制約違反の予測
構文
説明
は、ConstraintViolations
= predictConstraints(results
,XTable
)XTable
内の点における連結制約関数の違反を返します。
[
は、連結制約関数の標準偏差も返します。ConstraintViolations
,sigma
] = predictConstraints(results
,XTable
)
例
連結制約の予測
この例では、最適化された SVM モデルの連結制約を予測する方法を示します。このモデルの詳細については、bayesopt を使用した交差検証分類器の最適化を参照してください。
rng default grnpop = mvnrnd([1,0],eye(2),10); redpop = mvnrnd([0,1],eye(2),10); redpts = zeros(100,2); grnpts = redpts; for i = 1:100 grnpts(i,:) = mvnrnd(grnpop(randi(10),:),eye(2)*0.02); redpts(i,:) = mvnrnd(redpop(randi(10),:),eye(2)*0.02); end cdata = [grnpts;redpts]; grp = ones(200,1); grp(101:200) = -1; c = cvpartition(200,'KFold',10); sigma = optimizableVariable('sigma',[1e-5,1e5],'Transform','log'); box = optimizableVariable('box',[1e-5,1e5],'Transform','log');
目的関数は、分割 c
における SVM モデルの交差検証損失です。連結制約は、モデル内のサポート ベクターの個数から 100 を減算した値です。モデルには 200 個のデータ点があるので、連結制約の値の範囲は -100 から 100 になります。正の値は、制約が満たされないことを意味します。
function [objective,constraint] = mysvmfun(x,cdata,grp,c) SVMModel = fitcsvm(cdata,grp,'KernelFunction','rbf',... 'BoxConstraint',x.box,... 'KernelScale',x.sigma); cvModel = crossval(SVMModel,'CVPartition',c); objective = kfoldLoss(cvModel); constraint = sum(SVMModel.IsSupportVector)-100.5;
この関数と 1 つの連結制約を使用してオプティマイザーを呼び出します。
fun = @(x)mysvmfun(x,cdata,grp,c); results = bayesopt(fun,[sigma,box],'IsObjectiveDeterministic',true,... 'NumCoupledConstraints',1,'PlotFcn',... {@plotMinObjective,@plotConstraintModels,@plotObjectiveModel},... 'AcquisitionFunctionName','expected-improvement-plus','Verbose',0);
制約モデルのプロットは、範囲内にあるパラメーターはほとんどが実行不可能であり、比較的高い値の box
パラメーターおよび狭い範囲の sigma
パラメーターのみが実行可能であることを示しています。制御変数 box
および sigma
のいくつかの値について連結制約の値を予測します。
sigma = logspace(-2,2,11)'; box = logspace(0,5,11)'; XTable = table(sigma,box); cons = predictConstraints(results,XTable); [XTable,table(cons)]
ans = 11x3 table sigma box cons ________ ______ _______ 0.01 1 99.443 0.025119 3.1623 106.49 0.063096 10 94.468 0.15849 31.623 25.134 0.39811 100 -38.732 1 316.23 -55.156 2.5119 1000 -34.181 6.3096 3162.3 5.0153 15.849 10000 39.465 39.811 31623 60.9 100 1e+05 71.906
入力引数
results
— ベイズ最適化の結果
BayesianOptimization
オブジェクト
ベイズ最適化の結果。BayesianOptimization
オブジェクトを指定します。
XTable
— 予測点
列数が D のテーブル
予測点。列数が D のテーブルを指定します。D は、問題に含まれている変数の個数です。これらの点で予測が実行されます。
データ型: table
出力引数
バージョン履歴
R2016b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)