主要内容

贝叶斯偏见

贝叶斯优化结果

描述

一个贝叶斯偏见对象包含贝叶斯优化的结果。它是输出的bayesopt或者一个拟合函数优化hyperParameters.名称-值对,例如fitcdiscr.另外,一个贝叶斯偏见对象包含每次迭代的数据bayesopt可以通过绘图功能或输出功能访问。

创建

创建一个贝叶斯偏见对象使用bayesopt函数或拟合函数优化hyperParameters.名称-值对。

属性

全部展开

问题定义属性

此属性是只读的。

ObjectiveFcn用语使用bayesopt,作为函数句柄返回。

  • 如果你叫bayesopt直接地,ObjectiveFcn是个bayesopt目标函数参数。

  • 如果你调用一个包含“OptimizeHyperparameters”名称-值对的论点,ObjectiveFcn是一个函数句柄,它返回分类时的误分类率,或返回1的对数加上回归时的交叉验证损失,由5倍交叉验证测量。

数据类型:function_handle

此属性是只读的。

variabledescriptions.观点:bayesopt使用,返回为的向量optimizableVariable对象。

  • 如果你叫bayesopt直接地,variabledescriptions.是个bayesopt变量描述参数。

  • 如果你打电话给契合功能优化hyperParameters.名称-值对,variabledescriptions.为超参数向量。

此属性是只读的。

选项bayesopt使用,作为结构返回。

  • 如果你叫bayesopt直接地,选项是使用的选项bayesopt,它们是名称-值对bayesopt输入参数

  • 如果你打电话给契合功能优化hyperParameters.名称-值对,选项是默认的bayesopt选项,由HyperParameterOptimizationOptions.名称-值对。

选项是一个只读结构,包含以下字段。

选项名称 意义
收集功能名称 采集函数名称。看到获取函数类型
IsObjectiveDeterministic 真的表示目标函数是确定性的,否则。
分析言 只有当使用收集功能名称“expected-improvement-plus”或者“expected-improvement-per-second-plus”.看到
maxobjectiveevaluations 目标函数评价极限。
MaxTime 时限。
xconstraintfcn. 变量的确定性约束。看到确定性约束 - Xconstraintfcn
ConditionalVariableFcn 条件可变约束。看到条件约束- ConditionalVariableFcn
NumCoupledConstraints 耦合约束的个数。看到耦合约束
耦合控制特定 耦合约束公差。看到耦合约束
AreCoupledConstraintsDeterministic 指定每个耦合约束是确定性的逻辑矢量。
verb 命令行显示级别。
OutputFcn 每次迭代后调用的函数。看到贝叶斯优化输出函数
SaveVariableName 的变量名@assignInBase输出函数。
SaveFileName 的文件名@saveToFile输出函数。
PlotFcn 每次迭代后调用的绘图函数。看到贝叶斯优化绘图函数
itialx. 点,bayesopt评估目标函数。
InitialObjective 目标函数值itialx.
初始混合术 耦合约束函数值在itialx.
InitialErrorValues 误差值at.itialx.
InitialObjectiveEvaluationTimes 目标函数的求值次数为itialx.
初始初期 每次迭代的时间,包括客观函数评估和其他计算。

数据类型:结构体

解决方案属性

此属性是只读的。

最小观察到的客观函数值,作为真正的标量返回。当有耦合约束或评估错误时,该值是根据最终约束和错误模型可行的所有观察点的最小值。

数据类型:

此属性是只读的。

目标函数值最小的观测点,返回为a1——- - - - - -D表,D为变量的个数。

数据类型:桌子

此属性是只读的。

目标函数的最低估计值,作为真正的标量返回。minestimatedobjective.使用最终的目标模型。

minestimatedobjective.是一样的标准值的结果best与默认的标准。

数据类型:

此属性是只读的。

目标函数值估计最小的点,返回为a1——- - - - - -D表,D为变量的个数。XAtMinEstimatedObjective使用最终的目标模型。

数据类型:桌子

此属性是只读的。

客观函数评估数量,作为正整数返回。这包括在优化迭代期间形成后模型的初始评估以及评估。

数据类型:

此属性是只读的。

以秒为单位的优化总耗时,返回为正标量。

数据类型:

此属性是只读的。

下一个要评估优化是否继续的点,返回为1——- - - - - -D表,D为变量的个数。

数据类型:桌子

追踪属性

此属性是只读的。

评估目标函数的积分,作为a返回T——- - - - - -D表,T是多少评价点和D为变量的个数。

数据类型:桌子

此属性是只读的。

目标函数值,作为长度的列向量返回T,在那里T为评价点数。ObjectiveTrace包含目标函数评估的历史。

数据类型:

此属性是只读的。

目标函数求值次数,返回为列向量的长度T,在那里T为评价点数。ObjectiveEvaluationTimeTrace包括计算耦合约束的时间,因为目标函数计算这些约束。

数据类型:

此属性是只读的。

迭代次数,返回为长度的列向量T,在那里T为评价点数。IterationTimeTrace包括客观函数评估时间和其他开销。

数据类型:

此属性是只读的。

耦合约束值,返回为aT——- - - - - -K阵列,其中T是多少评价点和K是耦合约束的数量。

数据类型:

此属性是只读的。

错误指示,作为长度的列向量返回T-1或者1条目,在哪里T为评价点数。每个1条目表明目标函数错误或返回在相应的点上XTrace..每个-1Entry表示计算的目标函数值。

数据类型:

此属性是只读的。

可行性指示,返回为长度的逻辑列向量T,在那里T为评价点数。每个1进入表明,最终约束模型预测在对应点的可行性XTrace.

数据类型:逻辑

此属性是只读的。

评估点是可行的概率,作为长度的列向量返回T,在那里T为评价点数。概率来自最终约束模型,包括误差约束模型,在相应的点XTrace.

数据类型:

此属性是只读的。

哪个评价给出了最小可行目标,返回为长度整数指标的列向量T,在那里T为评价点数。根据每个迭代中存在的约束模型,包括误差约束模型,确定可行性。

数据类型:

此属性是只读的。

观察目标的最小值,返回为长度整数索引的列向量T,在那里T为评价点数。

数据类型:

此属性是只读的。

最小估计目标,返回为长度整数索引的列向量T,在那里T为评价点数。关于在该迭代存在的目标模型确定每次迭代的估计目标。

数据类型:

此属性是只读的。

辅助数据从目标函数,返回的单元格数组的长度T,在那里T为评价点数。单元格数组中的每个条目都是用户数据在目标函数的第三个输出中返回。

数据类型:细胞

对象的功能

best 贝叶斯优化的最佳点根据标准
情节 绘制贝叶斯优化结果
predictConstraints 预测在一组点上的耦合约束违反
redicterror. 在一组点预测误差值
predictObjective 在一组点上预测目标函数
predictObjectiveEvaluationTime 预测目标函数在一组点上的运行时间
的简历 恢复贝叶斯优化

例子

全部收缩

这个例子展示了如何创建一个贝叶斯偏见对象的使用bayesopt最大限度地减少交叉验证损失。

优化KNN分类器的超级参数电离层,即寻找最小化交叉验证损失的KNN超参数。有bayesopt最小化以下超参数:

  • 最近的邻居大小从1到30

  • 距离函数“chebychev”'euclidean', 和'minkowski'

为了再现性,设置随机种子,设置分区,并设置收集功能名称选项“expected-improvement-plus”.要抑制迭代显示,请设置“详细”0.通过分区c和拟合数据XY目标函数乐趣通过创建乐趣作为包含该数据的匿名函数。看到参数化功能

负载电离层RNG.默认num = optimizableVariable (“n”(1、30),“类型”“整数”);dst = optimizableVariable ('DST',{“chebychev”'euclidean''minkowski'},“类型”“分类”);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”

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

图中包含一个坐标轴。标题为“最小目标vs.函数计算数”的轴包含2个类型为line的对象。这些对象代表最小观测目标、最小估计目标。

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: 91.4349 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分类器的贝叶斯优化的数据。

加载数据。

负载电离层

优化分类使用“汽车”参数。

RNG.默认%的再现性mdl = fitcsvm(x,y,“OptimizeHyperparameters”“汽车”
|=====================================================================================================| | Iter | Eval客观客观| | | BestSoFar | BestSoFar | BoxConstraint | KernelScale | | |结果| | |运行时(观察)| (estim) | | ||=====================================================================================================| | 最好1 | | 0.21937 | 23.337 | 0.21937 | 0.21937 | 64.836 | 0.0015729 | | 2 |接受| 0.35897 | 0.30186 | 0.21937 | 0.22807 | 0.036335 | 5.5755 | | 3 |最好| 0.13105 | 13.254 | 0.13105 | 0.14149 | 0.0022147 | 0.0023957 | | 4 | | 0.35897接受|0。31133 | 0.13105 | 0.13108 | 5.1259 | 98.62 | | 5 | Best | 0.12821 | 0.23976 | 0.12821 | 0.12823 | 0.0010294 | 0.03159 | | 6 | Accept | 0.1396 | 0.56146 | 0.12821 | 0.13068 | 0.0011115 | 0.0086377 | | 7 | Accept | 0.13105 | 2.0337 | 0.12821 | 0.13004 | 0.022744 | 0.019059 | | 8 | Accept | 0.1339 | 0.3798 | 0.12821 | 0.13101 | 0.0010632 | 0.03521 | | 9 | Accept | 0.1339 | 45.932 | 0.12821 | 0.13093 | 4.3141 | 0.032466 | | 10 | Best | 0.12536 | 0.64057 | 0.12536 | 0.12563 | 0.001052 | 0.022689 | | 11 | Best | 0.12251 | 0.5482 | 0.12251 | 0.12414 | 0.0010061 | 0.023339 | | 12 | Accept | 0.12251 | 1.2241 | 0.12251 | 0.12352 | 0.0011285 | 0.020533 | | 13 | Accept | 0.1396 | 0.8759 | 0.12251 | 0.12359 | 0.0010288 | 0.22378 | | 14 | Accept | 0.12251 | 0.64389 | 0.12251 | 0.12374 | 0.0074141 | 0.11729 | | 15 | Accept | 0.12536 | 0.96902 | 0.12251 | 0.12379 | 0.097268 | 0.16841 | | 16 | Accept | 0.13105 | 1.0576 | 0.12251 | 0.12368 | 0.10661 | 0.1072 | | 17 | Accept | 0.1396 | 0.22017 | 0.12251 | 0.12582 | 0.0010783 | 0.12884 | | 18 | Accept | 0.12536 | 0.18624 | 0.12251 | 0.12545 | 0.0011004 | 0.020963 | | 19 | Accept | 0.12251 | 0.25348 | 0.12251 | 0.12354 | 0.001037 | 0.020043 | | 20 | Accept | 0.12251 | 0.18241 | 0.12251 | 0.12356 | 0.014246 | 0.18936 | |=====================================================================================================| | Iter | Eval | Objective | Objective | BestSoFar | BestSoFar | BoxConstraint| KernelScale | | | result | | runtime | (observed) | (estim.) | | | |=====================================================================================================| | 21 | Accept | 0.12536 | 0.35297 | 0.12251 | 0.1237 | 0.016633 | 0.14997 | | 22 | Accept | 0.12251 | 0.20078 | 0.12251 | 0.12365 | 0.034052 | 0.30274 | | 23 | Accept | 0.12821 | 0.2307 | 0.12251 | 0.1239 | 0.029199 | 0.23923 | | 24 | Accept | 0.1339 | 0.18804 | 0.12251 | 0.12402 | 0.10543 | 0.34155 | | 25 | Accept | 0.12251 | 0.15935 | 0.12251 | 0.1232 | 0.02079 | 0.19576 | | 26 | Accept | 0.12821 | 0.26573 | 0.12251 | 0.12405 | 0.019174 | 0.19892 | | 27 | Accept | 0.1396 | 0.15935 | 0.12251 | 0.12364 | 0.037809 | 1.2333 | | 28 | Accept | 0.1396 | 0.15872 | 0.12251 | 0.12368 | 0.010133 | 0.67582 | | 29 | Accept | 0.12536 | 0.19032 | 0.12251 | 0.12372 | 0.35714 | 0.9077 | | 30 | Accept | 0.12251 | 0.22739 | 0.12251 | 0.12375 | 1.7269 | 0.95511 |

图中包含一个坐标轴。标题为“最小目标vs.函数计算数”的轴包含2个类型为line的对象。这些对象代表最小观测目标、最小估计目标。

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

__________________________________________________________ 优化完成。maxobjective达到30个。总函数计算:30总运行时间:217.4842秒总目标函数计算时间:95.2856最佳观测可行点:BoxConstraint KernelScale _____________ ___________ 0.0010061 0.023339观测目标函数值= 0.12251估计目标函数值= 0.12425函数评价时间= 0.5482最佳估计可行点(根据模型):BoxConstraint KernelScale _____________ ___________ 0.0011004 0.020963估计的目标函数值= 0.12375估计的函数评价时间= 0.43825
Mdl = ClassificationSVM ResponseName:‘Y’CategoricalPredictors:[]类名:{b ' g '} ScoreTransform:“没有一个”NumObservations: 351 HyperparameterOptimizationResults: [1 x1 BayesianOptimization]α:[94 x1双]偏见:-5.4507 KernelParameters: [1 x1 struct] BoxConstraints: x1双[351]ConvergenceInfo: [1 x1 struct] IsSupportVector:金宝app[351x1 logical] Solver: 'SMO'属性,方法

适用于默认5倍交叉验证达到约12%的损失。

检查贝叶斯偏见对象中返回的HyperparameterOptimizationResults属性返回的模型。

DISP(MDL.HYPERPOLAMERPTEROPTIMIZIZATIONRESULTS)
[1x1 struct] MinObjective: 0.1225 XAtMinObjective: [1x2 table] minestimatedobjobjective: 0.1237 xatminestimatedobjobjective: [1x2 table] numobjectiveevalues:30 TotalElapsedTime: 217.4842 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]
介绍了R2016b