主要内容

BayesianOptimization

ベ@ @ズ最適化の結果

説明

BayesianOptimizationオブジェクトには,ベ。これは,bayesopt,またはfitcdiscrのような名前と値のペアOptimizeHyperparametersを受け入れる近似関数の出力です。さらに,プロット関数または出力関数でアクセスできるbayesoptの各反復のデ,タもBayesianOptimizationオブジェクトに格納されます。

作成

BayesianOptimizationオブジェクトを作成するには,関数bayesoptを使用するか,名前と値の引数OptimizeHyperparametersを指定して次のいずれかの近似関数を使用します。

プロパティ

すべて展開する

問題定義のプロパティ

このプロパティは読み取り専用です。

bayesoptで使用した引数ObjectiveFcn。関数ハンドルとして指定されます。

  • bayesoptを直接呼び出した場合,ObjectiveFcnbayesoptの目的関数引数です。

  • 名前と値のペアの引数“OptimizeHyperparameters”が含まれる近似関数を呼び出す場合,ObjectiveFcnは,分類の場合は誤分類率を返す関数のハンドル,回帰の場合は5分割交差検証で測定した交差検証損失に1を加算した値の対数を返す関数のハンドルです。

デ,タ型:function_handle

このプロパティは読み取り専用です。

bayesoptで使用した引数VariableDescriptionsoptimizableVariableオブジェクトのベクトルとして指定されます。

  • bayesoptを直接呼び出した場合,VariableDescriptionsbayesoptの変数説明引数になります。

  • 名前と値のペアOptimizeHyperparametersを使用して近似関数を呼び出した場合,VariableDescriptionsはハパパラメタのベクトルになります。

このプロパティは読み取り専用です。

bayesoptで使用したオプション。構造体として指定されます。

  • bayesoptを直接呼び出した場合,选项bayesoptで使用したオプション(名前と値のペア)になります。bayesopt入力引数を参照してください。

  • 名前と値のペアOptimizeHyperparametersを使用して近似関数を呼び出した場合,选项は既定のbayesoptオプションを名前と値のペアHyperparameterOptimizationOptionsで修正したものになります。

选项は,以下のフィ,ルドが含まれている読み取り専用の構造体です。

オプション名 意味
AcquisitionFunctionName 獲得関数名。獲得関数のタ@ @プを参照してください。
IsObjectiveDeterministic 目的関数が確定的な場合は真正的,それ以外の場合は
ExplorationRatio AcquisitionFunctionName“expected-improvement-plus”または“expected-improvement-per-second-plus”の場合のみ使用。プラスを参照してください。
MaxObjectiveEvaluations 目的関数の評価制限。
MaxTime 制限時間。
XConstraintFcn 変数の確定的制約。確定的制約- XConstraintFcnを参照してください。
ConditionalVariableFcn 変数の条件付き制約。条件付き制約- ConditionalVariableFcnを参照してください。
NumCoupledConstraints 連結制約の個数。連結制約を参照してください。
CoupledConstraintTolerances 連結制約の許容誤差。連結制約を参照してください。
AreCoupledConstraintsDeterministic 各連結制約が確定的であるかどうかを指定する逻辑ベクトル。
详细的 コマンドラ@ @ンの表示レベル。
OutputFcn 各反復後に呼び出される関数。ベ@ @ズ最適化の出力関数を参照してください。
SaveVariableName 出力関数@assignInBaseの変数名。
SaveFileName 出力関数@saveToFileのファ@ @ル名。
PlotFcn 各反復後に呼び出されるプロット関数。ベ@ @ズ最適化のプロット関数を参照してください。
InitialX bayesoptで目的関数を評価した点。
InitialObjective InitialXにおける目的関数の値。
InitialConstraintViolations InitialXにおける連結制約関数の値。
InitialErrorValues InitialXにおける誤差値。
InitialObjectiveEvaluationTimes InitialXにおける目的関数の評価時間。
InitialIterationTimes 目的関数の評価および他の計算を含む,各反復の時間。

デ,タ型:结构体

解のプロパティ

このプロパティは読み取り専用です。

観測された目的関数の最小値。実数スカラとして指定されます。連結制約または評価誤差がある場合、この値は、最終的な制約および誤差モデルに準じて実行可能であるすべての観測点における最小値になります。

デ,タ型:

このプロパティは読み取り専用です。

目的関数最小値の観測点。1D列のテ,ブルとして指定されます。Dは変数の個数です。

デ,タ型:表格

このプロパティは読み取り専用です。

XAtMinEstimatedObjectiveにおける目的関数の推定値。実数スカラとして指定されます。

MinEstimatedObjectiveは,最終的な目的モデルの事後分布の平均値です。MinEstimatedObjectiveの値は,XAtMinEstimatedObjectiveをオブジェクト関数predictObjectiveに渡して推定されます。

デ,タ型:

このプロパティは読み取り専用です。

探索点内において目的関数値の信頼限界の上限が最小になる点。1D列のテ,ブルとして指定されます。Dは変数の個数です。探索点の信頼限界の上限は,最終的な目的モデルを使用して求められます。

XAtMinEstimatedObjectiveは,関数bestPointによって既定の基準(“min-visited-upper-confidence-interval”)で返される最良の点と同じです。

デ,タ型:表格

このプロパティは読み取り専用です。

目的関数の評価回数。正の整数として指定されます。これには、事後モデルを形成するための初期評価と最適化反復時の評価が含まれます。

デ,タ型:

このプロパティは読み取り専用です。

秒単位の最適化の合計経過時間。正のスカラとして指定されます。

デ,タ型:

このプロパティは読み取り専用です。

最適化継続時の次の評価点。1D列のテ,ブルとして指定されます。Dは変数の個数です。

デ,タ型:表格

トレ,スのプロパティ

このプロパティは読み取り専用です。

目的関数が評価された点。TD列のテ,ブルとして指定されます。Tは評価点の個数,Dは変数の個数です。

デ,タ型:表格

このプロパティは読み取り専用です。

目的関数の値。長さTの列ベクトルとして指定されます。Tは評価点の個数です。ObjectiveTraceには目的関数評価の履歴が格納されます。

デ,タ型:

このプロパティは読み取り専用です。

目的関数の評価時間。長さTの列ベクトルとして指定されます。Tは評価点の個数です。目的関数は連結制約を計算するので,ObjectiveEvaluationTimeTraceには連結制約を評価する時間が含まれます。

デ,タ型:

このプロパティは読み取り専用です。

反復時間。長さTの列ベクトルとして指定されます。Tは評価点の個数です。IterationTimeTraceには目的関数の評価時間とその他のオ,バ,ヘッドの両方が含まれます。

デ,タ型:

このプロパティは読み取り専用です。

連結制約の値。TK列の配列として指定されます。Tは評価点の個数,Kは連結制約の個数です。

デ,タ型:

このプロパティは読み取り専用です。

誤差指標。入力が-1または1である長さTの列ベクトルとして指定されます。Tは評価点の個数です。1の入力はそれぞれ,XTrace内の対応する点で目的関数がエラ,になったかを返したことを示します。-1の入力はそれぞれ,目的関数の値が計算されたことを示します。

デ,タ型:

このプロパティは読み取り専用です。

実行可能性の指標。長さTの論理列ベクトルとして指定されます。Tは評価点の個数です。1の入力はそれぞれ,XTrace内の対応する点において最終的な制約モデルが実行可能性を予測することを示します。

デ,タ型:逻辑

このプロパティは読み取り専用です。

評価点が実行可能である確率。長さTの列ベクトルとして指定されます。Tは評価点の個数です。この確率は,XTrace内の対応する点における,誤差制約モデルを含む最終的な制約モデルに由来します。

デ,タ型:

このプロパティは読み取り専用です。

最小実行可能目的関数を与える評価。整数@ @ンデックスが格納されている長さTの列ベクトルとして指定されます。Tは評価点の個数です。実行可能性は,誤差制約モデルを含む,各反復で存在した制約モデルに関して決定されます。

デ,タ型:

このプロパティは読み取り専用です。

観測された目的関数の最小値。長さTの列ベクトルとして指定されます。Tは評価点の個数です。

デ,タ型:

このプロパティは読み取り専用です。

推定された目的関数の値。長さTの列ベクトルとして指定されます。Tは評価点の個数です。各反復で推定される目的関数の値は,その反復における目的モデルを基準に決定されます。各反復で,オブジェクト関数predictObjectiveを使用して,探索点内において目的関数値の信頼限界の上限が最小になる点における目的関数の値が推定されます。

デ,タ型:

このプロパティは読み取り専用です。

目的関数の補助デ,タ。長さTのcell配列として指定されます。Tは評価点の個数です。细胞配列の各エントリは、目的関数の 3 番目の出力で返される用户数据です。

デ,タ型:细胞

オブジェクト関数

bestPoint 基準に従った,ベ
情节 ベ@ @ズ最適化の結果のプロット
predictConstraints 一連の点における連結制約違反の予測
predictError 一連の点における誤差値の予測
predictObjective 一連の点における目的関数の予測
predictObjectiveEvaluationTime 一連の点における目的関数の実行回数の予測
重新开始 ベ@ @ズ最適化を再開

すべて折りたたむ

この例では,bayesoptを使用して交差検証損失を最小化することによりBayesianOptimizationオブジェクトを作成する方法を示します。

电离层データに対し,然而分類器のハイパーパラメーターを最適化,つまり,交差検証損失が最小になる资讯のハイパーパラメーターを求めます。bayesoptで次のハパパラメタに対する最小化を行います。

  • 1 ~ 30の最近傍サescズ。

  • 距離関数“chebychev”“欧几里得”および闵可夫斯基的

再現性を得るため,乱数シ,ドと分割を設定し,AcquisitionFunctionNameオプションを“expected-improvement-plus”に設定します。反復表示を非表示にするには“详细”0に設定します。このデ,タを組み込む無名関数として有趣的を作成して,区分cと近似デ,タXおよびYを目的関数有趣的に渡します。関数のパラメ,タ,化を参照してください。

负载电离层rng默认的num = optimizableVariable(“n”(1、30),“类型”“整数”);dst = optimizableVariable(dst的, {“chebychev”“欧几里得”闵可夫斯基的},“类型”“分类”);C = cvpartition(351,“Kfold”5);fun = @(x)kfoldLoss(fitcknn(x,Y,“CVPartition”c“NumNeighbors”x.n,...“距离”char (x.dst),“NSMethod”“详尽”));结果= bayesopt(fun,[num,dst],“详细”0,...“AcquisitionFunctionName”“expected-improvement-plus”

图中包含一个轴对象。标题为目标函数模型的轴对象包含线、面、等高线类型的5个对象。这些对象代表观测点,模型均值,下一个点,模型最小可行。

图中包含一个轴对象。标题为Min objective vs. Number of function的axis对象包含2个类型为line的对象。这些对象代表最小观测目标,估计最小目标。

results = BayesianOptimization with properties: ObjectiveFcn: [function_handle] variabledescription: [1x2 optimizableVariable] Options: [1x1 struct] MinObjective: 0.1197 XAtMinObjective: [1x2 table] MinEstimatedObjective: 0.1213 XAtMinEstimatedObjective: [1x2 table] numobjectiveevaluveevaluation: 30 TotalElapsedTime: 50.7622 NextPoint: [1x2 table] XTrace: [30x2 table] ObjectiveTrace: [30x1 double] ConstraintsTrace: [] UserDataTrace: {30x1 cell} ObjectiveEvaluationTimeTrace:[30x1 double] IterationTimeTrace: [30x1 double] ErrorTrace: [30x1 double]可行性trace: [30x1 logical]可行性probabilitytrace: [30x1 double] IndexOfMinimumTrace: [30x1 double] objectivminimumtrace: [30x1 double] estimatedobjectivminimumtrace: [30x1 double]

この例では,支持向量机分類器のベescズ最適化を使用して电离层デ,タの交差検証損失を最小化する方法を示します。

デ,タを読み込みます。

负载电离层

“汽车”パラメ,タ,を使用して分類を最適化します。

rng默认的%用于再现性Mdl = fitcsvm(X,Y,“OptimizeHyperparameters”“汽车”
|=====================================================================================================| | Iter | Eval客观客观| | | BestSoFar | BestSoFar | BoxConstraint | KernelScale | | |结果| |运行时| | (estim(观察) .) | | | |=====================================================================================================| | 最好1 | | 0.20513 | 18.245 | 0.20513 | 0.20513 | 64.836 | 0.0015729 | | 2 |接受| 0.35897 | 0.18958 | 0.20513 | 0.21471 | 0.036335 | 5.5755最好| | 3 | | 0.13105 | 6.2731 | 0.13105 | 0.14133 | 0.0022147 | 0.0023957 | | 4 |接受| 0.35897 | 0.33082 | 0.13105 | 0.13109 | 5.1259 | 98.62 | | 5 |的| 0.12536 | 0.40178 | 0.12536 | 0.12538 | 0.0010035 | 0.022328 | | 6 |接受| 0.13105 | 0.26876 | 0.12536 | 0.12624 | 0.0010683 | 0.010111 | | | 7日接受| 0.1339 | 0.43142 | 0.12536 | 0.12546 | 0.0010422 | 0.0092339 | | |接受8 | 0.12821 | 5.6298 | 0.12536 | 0.12544 | 0.073628 | 0.014339 | | | 9日接受| 0.13675 | 0.55972 | 0.12536| 0.12553 | 0.035987 | 0.046296 | | 10 | Accept | 0.13675 | 12.959 | 0.12536 | 0.12562 | 0.001151 | 0.0010009 | | 11 | Accept | 0.13105 | 0.41699 | 0.12536 | 0.12811 | 0.0044333 | 0.022395 | | 12 | Accept | 0.12536 | 0.34166 | 0.12536 | 0.12533 | 0.001004 | 0.027453 | | 13 | Accept | 0.12536 | 0.37955 | 0.12536 | 0.125 | 0.0010544 | 0.049896 | | 14 | Accept | 0.15385 | 17.08 | 0.12536 | 0.12501 | 959.03 | 0.10538 | | 15 | Accept | 0.1339 | 0.23794 | 0.12536 | 0.12784 | 0.0010051 | 0.035194 | | 16 | Best | 0.12251 | 0.23722 | 0.12251 | 0.1268 | 0.0010126 | 0.023131 | | 17 | Accept | 0.1396 | 0.19424 | 0.12251 | 0.12597 | 0.018032 | 0.54074 | | 18 | Accept | 0.1339 | 0.23041 | 0.12251 | 0.12622 | 0.004112 | 0.20821 | | 19 | Accept | 0.17094 | 0.29339 | 0.12251 | 0.12622 | 0.001033 | 0.35011 | | 20 | Accept | 0.12536 | 0.43526 | 0.12251 | 0.1266 | 0.22624 | 0.2874 | |=====================================================================================================| | Iter | Eval | Objective | Objective | BestSoFar | BestSoFar | BoxConstraint| KernelScale | | | result | | runtime | (observed) | (estim.) | | | |=====================================================================================================| | 21 | Accept | 0.12821 | 0.48706 | 0.12251 | 0.12643 | 0.039407 | 0.22791 | | 22 | Accept | 0.12251 | 0.29639 | 0.12251 | 0.12627 | 0.23615 | 0.41645 | | 23 | Accept | 0.12536 | 0.25093 | 0.12251 | 0.12287 | 0.87866 | 0.49296 | | 24 | Best | 0.11681 | 0.20622 | 0.11681 | 0.12095 | 0.2277 | 0.39665 | | 25 | Accept | 0.11966 | 0.23424 | 0.11681 | 0.12051 | 0.22872 | 0.39248 | | 26 | Accept | 0.12821 | 0.28114 | 0.11681 | 0.12202 | 0.19152 | 0.40794 | | 27 | Accept | 0.12821 | 0.6465 | 0.11681 | 0.1224 | 0.8114 | 0.35523 | | 28 | Accept | 0.13105 | 0.16554 | 0.11681 | 0.12264 | 6.7083 | 5.67 | | 29 | Accept | 0.14245 | 0.53824 | 0.11681 | 0.12249 | 741.3 | 5.5065 | | 30 | Accept | 0.12536 | 0.28253 | 0.11681 | 0.12223 | 24.782 | 2.325 |

图中包含一个轴对象。标题为Min objective vs. Number of function的axis对象包含2个类型为line的对象。这些对象代表最小观测目标,估计最小目标。

图中包含一个轴对象。标题为目标函数模型的轴对象包含线、面、等高线类型的5个对象。这些对象代表观测点,模型均值,下一个点,模型最小可行。

__________________________________________________________ 优化完成。最大目标达到30个。总函数评估:30总运行时间:110.7223秒总目标函数评估时间:68.5248最佳观测可行点:BoxConstraint KernelScale _____________ ___________ 0.2277 0.39665观测目标函数值= 0.11681估计目标函数值= 0.1222函数评估时间= 0.20622最佳估计可行点(根据模型):BoxConstraint KernelScale _____________ ___________ 0.22872 0.39248估计目标函数值= 0.12223估计函数评估时间= 0.28795
Mdl = ClassificationSVM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: 'none' NumObservations: 351 HyperparameterOptimizationResults: [1x1 bayesioptimization] Alpha: [100x1 double] Bias: -4.5586 KernelParameters: [1x1 struct] BoxConstraints: [351x1 double] ConvergenceInfo: [1x1 struct] IsSu金宝apppportVector: [351x1 logical] Solver: 'SMO' Properties, Methods

この当てはめでは,既定の5分割交差検証にいて損失が約12%になりました。

返されたモデルのHyperparameterOptimizationResultsプロパティで返されたBayesianOptimizationオブジェクトを確認します。

disp (Mdl.HyperparameterOptimizationResults)
BayesianOptimization with properties: ObjectiveFcn: @createObjFcn/inMemoryObjFcn variabledescription: [5x1 optimizableVariable] Options: [1x1 struct] MinObjective: 0.1168 XAtMinObjective: [1x2 table] MinEstimatedObjective: 0.1222 XAtMinEstimatedObjective: [1x2 table] numobjectiveevaluation: 30 TotalElapsedTime: 110.7223 NextPoint: [1x2 table] XTrace: [30x2 table] ObjectiveTrace: [30x1 double] ConstraintsTrace: [] UserDataTrace: {30x1 cell} ObjectiveEvaluationTimeTrace:[30x1 double] IterationTimeTrace: [30x1 double] ErrorTrace: [30x1 double]可行性trace: [30x1 logical]可行性probabilitytrace: [30x1 double] IndexOfMinimumTrace: [30x1 double] objectivminimumtrace: [30x1 double] estimatedobjectivminimumtrace: [30x1 double]

バ,ジョン履歴

R2016bで導入