このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
ベイズ最適化を使用した最適な機械学習のハイパーパラメーターの選択
bayesopt
の使用によるBayesianOptimization
オブジェクトの作成この例では,bayesopt
を使用して交差検証損失を最小化することによりBayesianOptimization
オブジェクトを作成する方法を示します。
电离层
データに対し,然而分類器のハイパーパラメーターを最適化,つまり,交差検証損失が最小になる资讯のハイパーパラメーターを求めます。bayesopt
で次のハイパーパラメーターに対する最小化を行います。
1 ~ 30の最近傍サイズ。
距離関数“chebychev”
、“欧几里得”
および闵可夫斯基的
再現性を得るため,乱数シードと分割を設定し,AcquisitionFunctionName
オプションを“expected-improvement-plus”
に設定します。反復表示を非表示にするには“详细”
を0
に設定します。このデータを組み込む無名関数として有趣的
を作成して,区分c
と近似データX
およびY
を目的関数有趣的
に渡します。関数のパラメーター化を参照してください。
负载电离层rng默认的num = optimizableVariable (“n”(1、30),“类型”,“整数”);dst = optimizableVariable (dst的, {“chebychev”,“欧几里得”,闵可夫斯基的},“类型”,“分类”);c = cvpartition (351“Kfold”5);有趣= @ (x) kfoldLoss (fitcknn (x, Y,“CVPartition”c“NumNeighbors”x.n,...“距离”char (x.dst),“NSMethod”,“详尽”));结果= bayesopt(有趣,(num, dst),“详细”0,...“AcquisitionFunctionName”,“expected-improvement-plus”)
results = BayesianOptimization with properties: ObjectiveFcn: [function_handle] VariableDescriptions: [1x2 optimizableVariable] Options: [1x1 struct] MinObjective: 0.1197 XAtMinObjective: [1x2 table] minestimatedobjobjective: 0.1213 xatminestimatedobjobjective: [1x2 table] numobjectiveevalues:30 TotalElapsedTime: 83.2599 NextPoint:[1 x2表]XTrace: [30 x2表]ObjectiveTrace: [30 x1双]ConstraintsTrace: [] UserDataTrace: {30 x1细胞}ObjectiveEvaluationTimeTrace: [30 x1双]IterationTimeTrace: [30 x1双]ErrorTrace: [30 x1双]FeasibilityTrace: [30 x1逻辑]FeasibilityProbabilityTrace: [30 x1双]IndexOfMinimumTrace: [30 x1双]ObjectiveMinimumTrace:[30x1 double] EstimatedObjectiveMinimumTrace: [30x1 double]
連結制約は,目的関数を評価することによってのみ評価できる制約です。このケースでは,目的関数はSVMモデルの交差検証損失です。連結制約は,「サポート ベクターの個数が 100 を超えない」です。モデルの詳細については、bayesoptを使用した交差検証済みSVM分類器の最適化を参照してください。
分類用のデータを作成します。
rng默认的grnpop = mvnrnd((1,0)、眼睛(2),10);redpop = mvnrnd([0, 1],眼(2),10);redpts = 0 (100 2);grnpts = redpts;为i = 1:10 0 grnpts(我:)= mvnrnd (grnpop(兰迪(10):)、眼睛(2)* 0.02);redpts(我)= mvnrnd (redpop(兰迪(10):)、眼睛(2)* 0.02);结束cdata = [grnpts; redpts];grp = 1 (200 1);grp (101:200) = 1;c = cvpartition (200“KFold”10);σ= optimizableVariable (“σ”(1 e-5, 1 e5),“转换”,“日志”);盒= optimizableVariable (“盒子”(1 e-5, 1 e5),“转换”,“日志”);
目的関数は,分割c
におけるSVMモデルの交差検証損失です。連結制約は,サポートベクターの個数から 100.5 を減算した値です。このようにすると、100 個のサポート ベクターでは負の制約値、101 個のサポート ベクターでは正の制約値になります。モデルには 200 個のデータ点があるので、連結制約の値の範囲は -99.5 (少なくとも 1 つのサポート ベクターが常にあります) から 99.5 になります。正の値は、制約が満たされないことを意味します。
函数[objective,constraint] = mysvmfun(x,cdata,grp,c)“KernelFunction”,“rbf”,...“BoxConstraint”x.box,...“KernelScale”, x.sigma);cvModel = crossval (SVMModel,“CVPartition”c);目标= kfoldLoss (cvModel);约束=总和(SVMModel.IsSupportVect万博1manbetxor) -100.5;
このデータを組み込む無名関数として有趣的
を作成して,区分c
と近似データcdata
およびgrp
を目的関数有趣的
に渡します。関数のパラメーター化を参照してください。
有趣= @ (x) mysvmfun (x, cdata, grp, c);
連結制約があることをオプティマイザーが認識できるようにするため,NumCoupledConstraints
を1
に設定します。制約モデルをプロットするようにオプションを設定します。
结果= bayesopt(有趣,σ,盒子,“IsObjectiveDeterministic”,真的,...“NumCoupledConstraints”,1,“PlotFcn”,...{@plotMinObjective, @plotConstraintModels},...“AcquisitionFunctionName”,“expected-improvement-plus”,“详细”, 0);
ほとんどの点でサポートベクターが実行不可能な数になります。
目的関数を並列評価することにより,ベイズ最適化を高速化します。
ベイズ最適化の目的関数と変数を準備します。
目的関数は電離層データの交差検証誤差率であり,バイナリ分類問題です。分類器としてfitcsvm
を使用し,最適化するパラメーターとしてBoxConstraint
とKernelScale
を使用します。
负载电离层盒= optimizableVariable (“盒子”(1的军医,1 e3),“转换”,“日志”);kern = optimizableVariable (“仁”(1的军医,1 e3),“转换”,“日志”);var =(盒子,kern);有趣= @ (var) kfoldLoss (fitcsvm (X, Y,“BoxConstraint”vars.box,“KernelScale”vars.kern,...“Kfold”5));
並列ベイズ最適化を使用して,交差検証誤差が最小になるパラメーターを求めます。
结果= bayesopt (var,有趣“UseParallel”,真正的);
复制目标函数给工人…完成向工人复制目标函数。
|===============================================================================================================| | Iter | |活跃Eval客观客观| | | BestSoFar | BestSoFar盒| | kern | | |工人结果| | |运行时|(观察)| (estim) | | ||===============================================================================================================| | 1 | 2 |接受| 0.2735 | 0.56171 | 0.13105 | 0.13108 | 0.0002608 | 0.2227 | | 2 | 2 |接受| 0.35897 | 0.4062 | 0.13105 | 0.13108 | 3.6999 | 344.01 | | 3 | 2 |接受| 0.13675 | 0.42727 | 0.13105 | 0.13108 | 0.33594 | 0.39276 | |4 | 2 |接受| 0.35897 | 0.4453 | 0.13105 | 0.13108 | 0.014127 | 449.58 | | 5 | 2 |最佳| 0.13105 | 0.45503 | 0.13105 | 0.13108 | 0.29713 | 1.0859 |
| 6 | 6 |接受| 0.35897 | 0.16605 | 0.13105 | 0.13108 | 8.1878 | 256.9 |
| 7 | 5 |最佳| 0.11396 | 0.51146 | 0.11396 | 0.11395 | 8.7331 | 0.7521 | | 8 | 5 b|接受| 0.14245 | 0.24943 | 0.11396 | 0.11395 | 0.0020774 | 0.022712 |
| 9 | 6 |最佳| 0.10826 | 4.0711 | 0.10826 | 0.10827 | 0.0015925 | 0.0050225 |
| 10 | 6 |接受| 0.25641 | 16.265 | 0.10826 | 0.10829 | 0.00057357 | 0.00025895 |
| 11 | 6 |接受| 0.1339 | 15.581 | 0.10826 | 0.10829 | 1.4553 | 0.011186 |
| 12 | 6 |接受| 0.16809 | 19.585 | 0.10826 | 0.10828 | 0.26919 | 0.00037649 |
| 13 | 6 |接受| 0.20513 | 18.637 | 0.10826 | 0.10828 | 369.59 | 0.099122 |
| 14 | 6 |接受| 0.12536 | 0.11382 | 0.10826 | 0.10829 | 5.7059 | 2.5642 |
| 15 | 6 |接受| 0.13675 | 2.63 | 0.10826 | 0.10828 | 984.19 | 2.2214 |
| 16 | 6 |接受| 0.12821 | 2.0743 | 0.10826 | 0.11144 | 0.0063411 | 0.0090242 |
| 17 | 6 |接受| 0.1339 | 0.1939 | 0.10826 | 0.11302 | 0.00010225 | 0.0076795 |
| 18 | 6 |接受| 0.12821 | 0.20933 | 0.10826 | 0.11376 | 7.7447 | 1.2868 |
| | 4 | 19日接受| 0.55556 | 17.564 | 0.10826 | 0.10828 | 0.0087593 | 0.00014486 | | 20 | 4 |接受| 0.1396 | 16.473 | 0.10826 | 0.10828 | 0.054844 | 0.004479 | |===============================================================================================================| | Iter | |活跃Eval客观客观| | | BestSoFar | BestSoFar |box | kern | | | workers | result | | runtime | (observed) | (estim.) | | | |===============================================================================================================| | 21 | 4 | Accept | 0.1339 | 0.17127 | 0.10826 | 0.10828 | 9.2668 | 1.2171 |
| 22 | 4 |接受| 0.12821 | 0.089065 | 0.10826 | 0.10828 | 12.265 | 8.5455 |
| 23 | 4 |接受| 0.12536 | 0.073586 | 0.10826 | 0.10828 | 1.3355 | 2.8392 |
| 24 | 4 |接受| 0.12821 | 0.08038 | 0.10826 | 0.10828 | 131.51 | 16.878 |
| 25 | 3 |接受| 0.11111 | 10.687 | 0.10826 | 0.10867 | 1.4795 | 0.041452 | | 26 | 3 |接受| 0.13675 | 0.18626 | 0.10826 | 0.10867 | 2.0513 | 0.70421 |
| 27 | 6 |接受| 0.12821 | 0.078559 | 0.10826 | 0.10868 | 980.04 | 44.19 |
| 28 | 5 |接受| 0.33048 | 0.089844 | 0.10826 | 0.10843 | 0.41821 | 10.208 | | 29 | 5 |接受| 0.16239 | 0.12688 | 0.10826 | 0.10843 | 172.39 | 141.43 |
| 30 | 5 |接受| 0.11966 | 0.14597 | 0.10826 | 0.10846 | 639.15 | 14.75 |
__________________________________________________________ 优化完成。maxobjective达到30个。总函数计算:30总运行时间:48.2085秒。总目标函数评价时间:128.3472最佳观测可行点:box kern _________ _________ 0.0015925 0.0050225观测目标函数值= 0.10826估计目标函数值= 0.10846函数评价时间= 4.0711最佳估计可行点(根据模型):box kern _________ _________ 0.0015925 0.0050225估计的目标函数值= 0.10846估计的函数评价时间= 2.8307
関数bestPoint
を使用して,ベイズモデル结果
内の最良の実行可能点を取得します。既定の基準min-visited-upper-confidence-interval
を使用します。この基準では,目的関数の値に対して信頼区間の上限を最小化する探索済みの点が最良の実行可能点になります。
zb = bestPoint(结果)
zb =1×2表框kern _________ _________ 0.0015925 0.0050225
テーブルzb
には,名前と値のペアの引数“BoxConstraint”
および“KernelScale”
に最適な推定値が格納されます。これらの値を使用して,最適化された新しい分類器に学習をさせます。
Mdl = fitcsvm (X, Y,“BoxConstraint”zbest.box,“KernelScale”, zbest.kern);
最適なパラメーターがMdl
に含まれていることを確認します。
Mdl.BoxConstraints (1)
ans = 0.0016
Mdl.KernelParameters.Scale
ans = 0.0050
有趣的
- - - - - -目的関数价值
が関数ハンドルであるparallel.pool.Constant
目的関数。関数ハンドルを指定するか、名前と値のペアUseParallel
が真正的
である場合は,价值
が関数ハンドルであるparallel.pool.Constant
(并行计算工具箱)を指定します。通常有趣的
は,学習を制御するための調整可能なハイパーパラメーターがある,機械学習モデルの損失の尺度(誤分類誤差など)を返します。有趣的
のシグネチャは次のとおりです。
目标=乐趣(x)%或(目标、约束)(x) =乐趣%或(目标、约束、用户数据)(x) =乐趣
有趣的
は1行D
列の変数値テーブルx
を受け入れ,目的関数値有趣的(x)
を表す実数スカラー客观的
を返します。
オプションとして,有趣的
は以下も返します。
约束
。連結制約違反が格納されている実数ベクトル。定義については,連結制約を参照してください。约束(j) > 0
の場合,制約j
に違反しています。约束(j) < 0
の場合,制約j
は満たされています。
用户数据
。任意のタイプ(スカラー,行,列構造体,オブジェクトなど)のエンティティ。用户数据
を使用するカスタムプロット関数の例については,カスタムプロット関数の作成を参照してください。
bayesopt
におけるparallel.pool.Constant
の使用の詳細については,ワーカーへの目的関数の配置を参照してください。
例:@objfun
データ型:function_handle
var
- - - - - -変数の説明optimizableVariable
オブジェクトのベクトル変数の説明。調整対象のハイパーパラメーターを定義するoptimizableVariable
オブジェクトのベクトルを指定します。
例:(X1, X2)
。ここでX1
とX2
はoptimizableVariable
オブジェクト
オプションの名称,值
引数のコンマ区切りペアを指定します。的名字
は引数名で,价值
は対応する値です。的名字
は引用符で囲まなければなりません。Name1, Value1,…,的家
のように,複数の名前と値のペアの引数を,任意の順番で指定できます。
结果= bayesopt(乐趣、var AcquisitionFunctionName, expected-improvement-plus)
“AcquisitionFunctionName”
- - - - - -次の評価点を選択するための関数“expected-improvement-per-second-plus”
(既定値) |“expected-improvement”
|“expected-improvement-plus”
|“expected-improvement-per-second”
|“lower-confidence-bound”
|“probability-of-improvement”
次の評価点を選択するための関数。リストされている選択肢のいずれかを指定します。
オブジェクト関数のランタイムによって最適化が異なるので,名前に每秒
が含まれている獲得関数は,再現性がある結果を生成しません。名前に+
が含まれている獲得関数は,領域を過剰利用している場合に動作を変更します。詳細は,獲得関数のタイプを参照してください。
例:“AcquisitionFunctionName”、“expected-improvement-per-second”
“IsObjectiveDeterministic”
- - - - - -確定的目的関数の指定假
(既定値) |真正的
確定的目的関数の指定。假
または真正的
を指定します。有趣的
が確率的である(つまり同じx
に対して異なる値を有趣的(x)
が返す可能性がある)場合は,IsObjectiveDeterministic
を假
に設定します。この場合,bayesopt
は最適化時にノイズレベルを推定します。
例:“IsObjectiveDeterministic”,真的
データ型:逻辑
“ExplorationRatio”
- - - - - -調査の傾向0.5
(既定値) |正の実数調査の傾向。正の実数を指定します。“expected-improvement-plus”
および“expected-improvement-per-second-plus”
の獲得関数に適用されます。プラスを参照してください。
例:“ExplorationRatio”,0.2
データ型:双
“GPActiveSetSize”
- - - - - -GPActiveSetSize
個以下の点へのガウス過程モデルのあてはめ300
(既定値) |正の整数GPActiveSetSize
個以下の点へのガウス過程モデルのあてはめ。正の整数を指定します。bayesopt
がGPActiveSetSize
個を超える点に到達した場合,GPモデルを使用する以後の反復ではGPActiveSetSize
個の点にモデルがあてはめられます。bayesopt
は,到達した点の中から無作為な点を一様に非復元抽出で選択します。使用する点の数が少なくなるとGPモデルのあてはめが高速になりますが,代償として精度が低下する可能性があります。
例:“GPActiveSetSize”,80年
データ型:双
“UseParallel”
- - - - - -並列計算假
(既定値) |真正的
並列計算。假
(並列計算を行わない)または真正的
(並列計算を行う)を指定します。bayesopt
は並列ワーカー上で,目的関数の並列評価を同時実行します。アルゴリズムの詳細については,並列ベイズ最適化を参照してください。
例:“UseParallel”,真的
データ型:逻辑
“ParallelMethod”
- - - - - -並列ワーカーの目的関数値への補定法“clipped-model-prediction”
(既定値) |模型预测的
|“max-observed”
|“min-observed”
並列ワーカーの目的関数値への補定法。“clipped-model-prediction”
、模型预测的
、“max-observed”
または“min-observed”
を指定します。新しい評価対象点を生成するため,bayesopt
はワーカーで評価されている点を含むすべての点にガウス過程をあてはめます。ガウス過程をあてはめるため,bayesopt
は現在ワーカー上にある点に目的関数の値を補完します。ParallelMethod
は,補定に使用する方法を指定します。
“clipped-model-prediction”
——次の数量の最大値を補定します。
点x
におけるガウス過程予測の平均
到達した実行可能点で観測された最小の目的関数
すべての実行可能点における最小のモデル予測
模型预测的
- - - - - -点x
におけるガウス過程予測の平均を補定します。
“max-observed”
——実行可能点で観測された目的関数の最大値を補定します。
“min-observed”
——実行可能点で観測された目的関数の最小値を補定します。
例:“ParallelMethod”、“max-observed”
“MinWorkerUtilization”
- - - - - -アクティブな並列ワーカーの個数の許容誤差地板(0.8 * Nworkers)
(既定値) |正の整数アクティブな並列ワーカーの個数の許容誤差。正の整数を指定します。bayesopt
は,評価対象の点を割り当てた後で,新しい割り当て対象の点を計算する前に,アクティブなワーカーの個数がMinWorkerUtilization
未満であるかどうかをチェックします。そうである場合,bayesopt
は範囲内の無作為な点をすべての使用可能なワーカーに割り当てます。それ以外の場合,bayesopt
は1つのワーカーについて最適な点を計算します。bayesopt
が無作為な点を作成する速度は点をあてはめる場合よりはるかに高速なので,この動作によりワーカーの使用率が向上しますが,点が適切ではなくなる可能性があるという代償があります。詳細については,並列ベイズ最適化を参照してください。
例:“MinWorkerUtilization”,3
データ型:双
“MaxObjectiveEvaluations”
- - - - - -目的関数の評価制限30.
(既定値) |正の整数目的関数の評価制限。正の整数を指定します。
例:“MaxObjectiveEvaluations”,60
データ型:双
“NumSeedPoints”
- - - - - -初期評価点の個数4
(既定値) |正の整数初期評価点の個数。正の整数を指定します。bayesopt
は,各変数の变换
の設定に従って(“没有”
の場合は均等に,“日志”
の場合は対数間隔で),変数の範囲内で評価点を無作為に選択します。
例:“NumSeedPoints”,10
データ型:双
“XConstraintFcn”
- - - - - -変数の確定的制約[]
(既定値) |関数ハンドル変数の確定的制約。関数ハンドルを指定します。
詳細は,確定的制約——XConstraintFcnを参照してください。
例:XConstraintFcn, @xconstraint
データ型:function_handle
“ConditionalVariableFcn”
- - - - - -変数の条件付き制約[]
(既定値) |関数ハンドル変数の条件付き制約。関数ハンドルを指定します。
詳細は,条件付き制約——ConditionalVariableFcnを参照してください。
例:ConditionalVariableFcn, @condfun
データ型:function_handle
“NumCoupledConstraints”
- - - - - -連結制約の個数0
(既定値) |正の整数連結制約の個数。正の整数を指定します。詳細は、連結制約を参照してください。
メモ
連結制約がある場合,NumCoupledConstraints
は必須です。
例:“NumCoupledConstraints”,3
データ型:双
“AreCoupledConstraintsDeterministic”
- - - - - -連結制約が確定的かどうかの指標真正的
(既定値) |逻辑ベクトル連結制約が確定的かどうかの指標。長さNumCoupledConstraints
の逻辑ベクトルを指定します。詳細は,連結制約を参照してください。
例:“AreCoupledConstraintsDeterministic”(真的,假,真的)
データ型:逻辑
“详细”
- - - - - -コマンドラインの表示レベル1
(既定値) |0
|2
コマンドラインの表示レベル。0
、1
または2
を指定します。
0
——コマンドラインの表示を行いません。
1
——各反復について,反復回数,結果レポート(次の段落を参照),目的関数のモデル,目的関数の評価時間,観測された目的関数の最良(最小)値,目的関数の最良(最小)推定値,および観測された制約値(存在する場合)を表示します。並列で最適化を行う場合,ジョブを次のワーカーに割り当てた後でカウントしたアクティブなワーカーの個数を示す列も表示に含まれます。
各反復の結果レポートは以下のいずれかになります。
接受
——目的関数が有限値を返し,すべての制約が満たされています。
最好的
——制約が満たされており,目的関数は実行可能点の最小値を返します。
错误
——有限の実数スカラーではない値を目的関数が返しました。
Infeas
——少なくとも1つの制約に違反しています。
2
- - - - - -1
と同じ情報に加えて,次の点を選択するための時間,モデルをあてはめた時間,“+”の獲得関数で過剰利用が判断されたかどうか,並列利用率が低いため無作為な点に並列ワーカーが割り当てられているかどうかなどの診断情報も表示します。
例:“详细”,2
データ型:双
“OutputFcn”
- - - - - -各反復後に呼び出される関数{}
(既定値) |関数ハンドル|関数ハンドルの细胞配列各反復後に呼び出される関数。関数ハンドルまたは関数ハンドルの cell 配列を指定します。出力関数では、ソルバーを停止させることができ、変数の作成やプロットなど任意の計算を実行できます。複数の出力関数を指定するには、関数ハンドルの cell 配列を使用します。
2つの組み込み出力関数があります。
@assignInBase
——各反復でBayesianOptimization
のインスタンスを構築し,ベースワークスペース内の変数に割り当てます。名前と値のペアSaveVariableName
を使用して変数名を選択します。
@saveToFile
——各反復でBayesianOptimization
のインスタンスを構築し,現在のフォルダー内のファイルに保存します。名前と値のペアSaveFileName
を使用してファイル名を選択します。
独自の出力関数を作成できます。詳細は,ベイズ最適化の出力関数を参照してください。
例:OutputFcn, {@saveToFile @myOutputFunction}
データ型:细胞
|function_handle
“SaveFileName”
- - - - - -出力関数@saveToFile
のファイル名“BayesoptResults.mat”
(既定値) |文字ベクトル|字符串スカラー出力関数@saveToFile
のファイル名。文字ベクトルまたは字符串スカラーを指定します。ファイル名には“. . /优化/ September2.mat”
などのパスを含めることができます。
例:“SaveFileName”、“September2.mat”
データ型:字符
|字符串
“SaveVariableName”
- - - - - -出力関数@assignInBase
の変数名“BayesoptResults”
(既定値) |文字ベクトル|字符串スカラー出力関数@assignInBase
の変数名。文字ベクトルまたは字符串スカラーを指定します。
例:“SaveVariableName”、“September2Results”
データ型:字符
|字符串
“PlotFcn”
- - - - - -各反復後に呼び出されるプロット関数{@plotObjectiveModel, @plotMinObjective}
(既定値) |“所有”
|関数ハンドル|関数ハンドルの细胞配列各反復後に呼び出されるプロット関数。“所有”
,関数ハンドル,または関数ハンドルの细胞配列を指定します。プロット関数では,ソルバーを停止させることができ,変数の作成など任意の計算をプロットに加えて実行できます。
プロット関数を使用しない場合は[]
を指定します。
“所有”
の場合,すべての組み込みプロット関数が呼び出されます。複数のプロット関数を指定するには,関数ハンドルの细胞配列を使用します。
組み込みプロット関数を次の表に示します。
モデルプロット- D≤2の場合に適用 | 説明 |
---|---|
@plotAcquisitionFunction |
獲得関数の表面をプロットします。 |
@plotConstraintModels |
各制約モデルの表面をプロットします。負の値は実行可能点を示します。 P(実行可能)表面もプロットします。 存在する場合は 绘制误差= 2*概率(误差)- 1。 |
@plotObjectiveEvaluationTimeModel |
目的関数の評価時間モデルの表面をプロットします。 |
@plotObjectiveModel |
|
トレースプロット——すべてのDに適用 | 説明 |
---|---|
@plotObjective |
観測された各関数値と関数評価の個数の関係をプロットします。 |
@plotObjectiveEvaluationTime |
観測された各関数評価の実行時間と関数評価の個数の関係をプロットします。 |
@plotMinObjective |
観測および推定された最小の関数値と関数評価の個数の関係をプロットします。 |
@plotElapsedTime |
最適化の合計経過時間,関数評価の合計時間,モデリングおよび点選択の合計時間という3つの曲線を関数評価の個数に対する関係としてプロットします。 |
独自のプロット関数を作成できます。詳細は,ベイズ最適化のプロット関数を参照してください。
メモ
連結制約がある場合,反復表示とプロット関数は次のような直観的ではない結果を与える可能性があります。
"最小目的"のプロットが増加する。
最適化において,以前に実行可能点が示された場合でも,問題が実行不可能であると宣言される場合がある。
このようになるのは,点が実行可能かどうかの判断が最適化の進行に応じて変化する可能性があるためです。bayesopt
は制約モデルに関して実行可能性を判断しますが,このモデルはbayesopt
が点を評価すると変化します。したがって,最小の点が後から実行不可能と判断された場合は”最小目的“プロットが増加し,反復表示には,後から実行不可能と判断される実行可能点が表示される可能性があります。
例:“PlotFcn”、“所有”
データ型:字符
|字符串
|细胞
|function_handle
“InitialX”
- - - - - -初期評価点NumSeedPoints
行D
列のランダムな初期点(既定値) |N
行D
列のテーブル初期評価点。N
行D
列のテーブルを指定します。N
は評価点の個数,D
は変数の個数です。
メモ
InitialX
のみを指定した場合,評価対象の初期点として解釈されます。目的関数はInitialX
で評価されます。
他の初期化パラメーターも指定した場合,InitialX
は事前関数評価データとして解釈されます。目的関数は評価されません。欠損値は南
に設定されます。
データ型:表格
“InitialObjective”
- - - - - -InitialX
に対応する目的関数の値[]
(既定値) |長さN
のベクトルInitialX
に対応する目的関数の値。長さN
のベクトルを指定します。N
は評価点の個数です。
例:“InitialObjective”,(17;3;-12.5)
データ型:双
“InitialConstraintViolations”
- - - - - -連結制約の制約違反[]
(既定値) |N
行K
列の行列連結制約の制約違反。N
行K
列の行列を指定します。N
は評価点の個数,K
は連結制約の個数です。詳細は,連結制約を参照してください。
データ型:双
“InitialErrorValues”
- - - - - -InitialX
のエラー[]
(既定値) |入力が-1
または1
である長さN
のベクトルInitialX
のエラー。入力が-1
または1
である長さN
のベクトルを指定します。N
は評価点の個数です。エラーなしの場合は-1
,エラーの場合は1
を指定します。
例:“InitialErrorValues”,[1,1,1,1,1)
データ型:双
“InitialUserData”
- - - - - -InitialX
に対応する初期データ[]
(既定値) |長さN
の细胞ベクトル“InitialObjectiveEvaluationTimes”
- - - - - -InitialX
における目的関数の評価時間[]
(既定値) |長さN
のベクトルInitialX
における目的関数の評価時間。長さN
のベクトルを指定します。N
は評価点の個数です。時間の単位は秒です。
データ型:双
“InitialIterationTimes”
- - - - - -最初のN
回の反復の時間{}
(既定値) |長さN
のベクトル最初のN
回の反復の時間。長さN
のベクトルを指定します。N
は評価点の個数です。時間の単位は秒です。
データ型:双
结果
——ベイズ最適化の結果BayesianOptimization
オブジェクトベイズ最適化の結果。BayesianOptimization
オブジェクトとして返されます。
並列実行するには,“UseParallel”
オプションを真正的
に設定します。
この関数を呼び出すときに,名前と値のペアの引数“UseParallel”,真的
を設定します。
並列計算の全般的な情報については,自動並列サポートを使用したMATLAB関数の実行(并行计算工具箱)を参照してください。
次のMATLABコマンドに対応するリンクがクリックされました。
コマンドをMATLABコマンドウィンドウに入力して実行してください。WebブラウザーはMATLABコマンドをサポートしていません。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。