主要内容

。

ベイズ最适化のプロット关联

组み込みプロット关节

2组の组み込みプロット关键があります。

モデルプロット- D≤2の場合に適用 说明
@plotacquisitionFunction

获得关关节をプロットします。

@plotconstraintmodels.

各制約モデルの表面をプロットします。負の値は実行可能点を示します。

P(実行可能)表面もプロットします。

存在する場合は-1から1�ににます。

绘制误差= 2*概率(误差)- 1。

@plotObjectiveEvaluationTimeModel

目的关节数量时间モデルの表面をプロットします。

@plotobjectiveModel.

有趣的モデルの表面,最小値の推定位置,および次に评価する予定にている点のをプロットますいる点位置位置プロットますますますの场位置プロット.1次元问题问题の位置位置プロット。上下に包络线をプロットします。

トレースプロット - すべてのdにに用 说明
@plotObjective

観測された各関数値と関数評価の個数の関係をプロットします。

@plotObjectiveEvaluationTime

観测観测れた关键词关联时间と关键词

@plotminobjective.

観测および推定された小の关键词关键词评価のの关键词

@plotElapsedTime

最適化の合計経過時間,関数評価の合計時間,モデリングおよび点選択の合計時間という3つの曲線を関数評価の個数に対する関係としてプロットします。

メモ

連結制約がある場合,反復表示とプロット関数は次のような直観的ではない結果を与える可能性があります。

  • “最小嘴的”ののが増加する

  • 最最型において,以前に実行可点がれたたで,问题が実行不可能であるとされるれる场がある。

このようになるの,点が実行可かどう判断判断がの进応じBayesopt.は制约モデルに关键词実行可能性判断しが,このモデルはBayesopt.が点を評価すると変化します。したがって,最小の点が後から実行不可能と判断された場合は”最小目的“プロットが増加し,反復表示には,後から実行不可能と判断される実行可能点が表示される可能性があります。

カスタムプロット関数の構文

カスタムプロット関数の構文はカスタム出力関数(ベイズ最適化の出力関数を参照)と同じで,次のようになります:

stop = plotfun(结果,州)

Bayesopt.は数结果および状态をカスタム関数に渡します。カスタム関数では,反復を停止する場合は真正的,継続する结合は错误的に設定した停止を返します。

结果は,計算に関して使用できる情報が含まれているBayesianOptimizationクラスのオブジェクトです。

状态の取り得る値は次の3つです:

  • '最初的'-Bayesopt.は反復を開始しようとしています。プロットの設定や他の初期化の実行にはこの状態を使用します。

  • '迭代'-Bayesopt.はは反复ををしところところところにににのプロットプロット他他计算はこの状态で実実実のこのこの状态で実実了了この状态で了了了了了了了了了了了了了了了了了了了了了了了

  • “完成”-Bayesopt.でをクリーンたた完了ましましましかかし最后クリーンアップかかしし最后ましましましましましましましましましましましましまし最后ましまし

カスタムプロット关节作物

この例では,Bayesopt.さらにカスタムプロット关节作物を,BayesianOptimizationオブジェクトの用户数据プロパティに含まれているを配备方法ををます。

问题の定义

问题は,交差交差损失を最小气するサポートベクター(svm)分享到のののことです。具体而言,具体的なモデルは求めるですですですです。bayesoptを使用した交差検証済みSVM分類器の最適化の場合と同じです。したがって,目的関数は基本的に同じですが,用户数据(このケースでは,现处于のパラメーターにあてはめるsvmモデル内のサポートベクターの数。

最适化の进行にてsvmモデル内のサポートベクターののをするカスタム关键词关键词关键词プロット关键でサポートのの个アクセスようにするため,サポートベクターにするため,サポートベクターのためを返す3番目の出力用户数据を作成します。

目的有关

目的関数を作成します。この関数では,固定された交差検証分割に対する交差検証損失を計算し,生成されたモデル内のサポートベクターの個数を返します。

函数[f,diut,nsupp] = mysvmminfn(x,cdata,grp,c)svmmodel = fitcsvm(cdata,grp,“KernelFunction”'rbf'......'kernelscale'x.sigma,'boxconstraint',x.box);f = kfoldloss(crossval(svmmodel,“CVPartition”,C));rust = [];nsupp = sum(svmmodel.is万博1manbetxsupportvector);结尾

カスタムプロット关节

用户数据での计算カスタム情情ますしにおけるモデル的关键词关键词をにおける关键词をにおけるにおけるにおけるのにおけるにおけるのの关键词をにおけるにおけるにおけるにおけるにおける关键词をにおけるにおけるにおける关键词のにおけるにおけるモデル关键词をのにおけるををにおけるにおけるにおけるにおけるにおけるにおけるにおけるののにおけるにおけるモデルにおけるにおけるにおけるにおけるにおけるにおけるにおけるにおけるにおけるにおけるモデルモデルにおけるをにおけるモデルをををモデルをにおけるモデル关键

函数stop = svmsuppvec(结果,状态)执着的HS nbest besthist nsupptrace stop = false;开关状态案件'最初的'HS =图;Besthist = [];nbest = 0;nsupptrace = [];案件'迭代'图(HS)nsupp = suffects.userdatatrace {end};%从UserDataTrace属性获取NSUPP。nsupptrace(end + 1)= nsupp;%累积在向量中的NSUPP值。如果(results. objecvetrace (end) == min(results. objecvetrace)))%电流最好nb = nsupp;结尾besthist = (besthist, nb);阴谋(1:长度(nsupptrace) nsupptrace,'B',1:长度(besthist),besthist,'r--')包含的迭代次数ylabel.‘支持向量数’万博1manbetx标题'每个迭代的支持向量数万博1manbetx量'传奇('当前迭代'“最好的目标”“位置”'最好的事物') drawnow结尾

モデルの设定

各クラスについて10個ずつの基底点を生成します。

rng默认grnpop = mvnrnd((1,0)、眼睛(2),10);redpop = mvnrnd([0, 1],眼(2),10);

各クラスについて100个ずつのの点生成します。

redpts =零(100,2); grnpts = redpts;为了i = 1:100 gnpts(i,:) = mvnrnd(grnpop(randi(10),:),眼睛(2)* 0.02);redpts(i,:) = mvnrnd(Redpop(randi(10),:),眼睛(2)* 0.02);结尾

データを1つの行列格式し,各点のクラスにラベルを付ける付けるGRP.を作成します。

cdata = [grnpts; redpts];GRP = ONE(200,1);%绿色标签1,红色标签-1GRP(101:200)= -1;

既定のSVMパラメーターを使用して,すべてのデータの基本分類をチェックします。

svmmodel = fitcsvm(cdata,grp,“KernelFunction”'rbf'“类名”,[ -  1 1]);

交差検证をするするを设定しますと,交差検证がわと,交差検证がランダムなるので,目的关键词。

c = cvpartition(200,'kfold'10);



损失= kfoldLoss (fitcsvm (grp cdata,“CVPartition”c......“KernelFunction”'rbf''boxconstraint',svmmodel.boxconstraints(1),......'kernelscale', SVMModel.KernelParameters.Scale))
损失= 0.1350

最适型用词函数仪器

目的关节,入力z = [rbf_sigma boxconstraint]を受け入れ,交差検证损失値Z.を返します。Z.の成分を1E-51E5.の範囲で正の変数に対数変換します。どの値が適切であるかがわからないので,広い範囲を選択します。

sigma =优化的不变性('sigma',[1e-5,1e5],“转换”'日志');盒子=优化不变('盒子',[1e-5,1e5],“转换”'日志');

プロット关关の设定とオプティマイザーの

Bayesopt.をを用して最良のパラメーター(σ,盒子)を求めます。再現性を得るために,“expected-improvement-plus”既定の关关数を选択ます决定决定される,结果が异なるれる,结果结果が异なる合。

反復回数の関数としてサポートベクターの個数をプロットし,見つかった最良のパラメーターに対するサポートベクターの個数をプロットします。

obj = @(x)mysvmminfn(x,cdata,grp,c);结果= Bayesopt(obj,[sigma,box],......'IsobjectiveDeterministic',真的,'verbose',0,......'获取功能名称'“expected-improvement-plus”......“PlotFcn”, {@svmsuppvec、@plotObjectiveModel @plotMinObjective})
结果=与属性贝叶斯optimization:ObjectiveFCN:@(x)mysvmminfn(x,cdata,grp,c)variadescriptions:[1x2 oldizablevariable]选项:[1x1 struct] minobjective:0.0750 xatminobjective:[1x2表] mineestimatedobiptive:0.0750 xatminestimative objective:[1x2表] NumObjectiveEvaLuations:30总计:69.9983 NextPoint:[1x2表] xtrace:[30x2表] ObjectiveTreace:[30x1 double] contrageStrace:[] UserDataTrace:{30x1 Cell} WateSealeValionTimetrace:[30x1 double] iterationTimetrace:[30x1 double] errortrace:[30X1双] FeasibilityTrace:[30X1逻辑] FeasibilityProbabilityTrace:[30X1双] IndexOfMinimumTrace:[30X1双] ObjectiveMinimumTrace:[30X1双] EstimatedObjectiveMinimumTrace:[30X1双]

関連するトピック