BayesianOptimization
贝叶斯优化结果
描述
创建
创建一个BayesianOptimization
对象,使用bayesopt
函数或下列之一将函数与OptimizeHyperparameters
名称-值参数。
属性
问题定义属性
ObjectiveFcn
- - - - - -ObjectiveFcn
参数bayesopt
函数处理
此属性是只读的。
ObjectiveFcn
参数bayesopt
,指定为函数句柄。
如果你打电话
bayesopt
直接ObjectiveFcn
是bayesopt
目标函数参数。如果调用包含
“OptimizeHyperparameters”
名值对参数,ObjectiveFcn
是一个函数句柄,用于返回分类的误分类率,或返回1加上回归的交叉验证损失的对数,由五倍交叉验证测量。
数据类型:function_handle
VariableDescriptions
- - - - - -VariableDescriptions
观点:bayesopt
使用
向量的optimizableVariable
对象
此属性是只读的。
VariableDescriptions
观点:bayesopt
用的,指定为的向量optimizableVariable
对象。
如果你打电话
bayesopt
直接VariableDescriptions
是bayesopt
变量描述参数。如果你调用一个拟合函数
OptimizeHyperparameters
名称-值对,VariableDescriptions
是超参数向量。
选项
- - - - - -选项bayesopt
使用
结构
此属性是只读的。
选项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 |
每次迭代后调用的Plot函数。看到贝叶斯优化图函数 |
InitialX |
点,bayesopt 评估目标函数。 |
InitialObjective |
目标函数值InitialX . |
InitialConstraintViolations |
耦合约束函数值为InitialX . |
InitialErrorValues |
错误值为InitialX . |
InitialObjectiveEvaluationTimes |
目标函数求值次数为InitialX . |
InitialIterationTimes |
每次迭代的时间,包括目标函数求值等计算。 |
数据类型:结构体
解决方案属性
MinObjective
- - - - - -目标函数的最小观测值
真正的标量
此属性是只读的。
目标函数的最小观测值,以实标量表示。当存在耦合约束或评估误差时,该值是根据最终约束和误差模型可行的所有观测点的最小值。
数据类型:双
XAtMinObjective
- - - - - -目标函数值最小的观测点
1
——- - - - - -D
表格
此属性是只读的。
具有最小目标函数值的观测点,用a表示1
——- - - - - -D
表,D
是变量的数量。
数据类型:表格
MinEstimatedObjective
- - - - - -目标函数估计值
真正的标量
此属性是只读的。
的估计目标函数值XAtMinEstimatedObjective
,指定为实标量。
MinEstimatedObjective
为最终目标模型的后验分布的平均值。该软件估计MinEstimatedObjective
值通过传递XAtMinEstimatedObjective
到对象函数predictObjective
.
数据类型:双
XAtMinEstimatedObjective
- - - - - -目标函数值上置信界最小的点
1
——- - - - - -D
表格
此属性是只读的。
访问点中目标函数值置信上限最小的点,表示为a1
——- - - - - -D
表,D
是变量的数量。该软件使用最终目标模型来寻找被访问点的置信上限。
XAtMinEstimatedObjective
是否与返回的最佳点相同bestPoint
函数使用默认条件(“min-visited-upper-confidence-interval”
).
数据类型:表格
NumObjectiveEvaluations
- - - - - -目标函数评价的数量
正整数
此属性是只读的。
目标函数求值的个数,指定为正整数。这包括形成后验模型的初始评估,以及优化迭代过程中的评估。
数据类型:双
TotalElapsedTime
- - - - - -优化运行的总时间(以秒为单位)
积极的标量
此属性是只读的。
优化运行的总时间(以秒为单位),指定为正标量。
数据类型:双
NextPoint
- - - - - -下一步是评估优化是否继续进行
1
——- - - - - -D
表格
此属性是只读的。
下一个计算优化是否继续的点,指定为1
——- - - - - -D
表,D
是变量的数量。
数据类型:表格
跟踪属性
XTrace
- - - - - -对目标函数进行评估的点
T
——- - - - - -D
表格
此属性是只读的。
对目标函数进行评估的点,指定为aT
——- - - - - -D
表,T
是多少个评价点和D
是变量的数量。
数据类型:表格
ObjectiveTrace
- - - - - -目标函数值
长度列向量T
此属性是只读的。
目标函数值,指定为长度的列向量T
,在那里T
是评价点的个数。ObjectiveTrace
包含目标函数求值的历史。
数据类型:双
ObjectiveEvaluationTimeTrace
- - - - - -目标函数求值次数
长度列向量T
此属性是只读的。
目标函数求值次数,指定为长度的列向量T
,在那里T
是评价点的个数。ObjectiveEvaluationTimeTrace
包括计算耦合约束的时间,因为目标函数计算这些约束。
数据类型:双
IterationTimeTrace
- - - - - -迭代次
长度列向量T
此属性是只读的。
迭代次数,指定为长度的列向量T
,在那里T
是评价点的个数。IterationTimeTrace
包括目标函数计算时间和其他开销。
数据类型:双
ConstraintsTrace
- - - - - -耦合约束值
T
——- - - - - -K
数组
此属性是只读的。
耦合约束值,指定为T
——- - - - - -K
数组,T
是多少个评价点和K
是耦合约束的数量。
数据类型:双
ErrorTrace
- - - - - -错误显示
长度列向量T
的-1
或1
条目
此属性是只读的。
错误指示,指定为长度的列向量T
的-1
或1
条目,T
是评价点的个数。每一个1
Entry表示目标函数出错或返回南
在相应的点上XTrace
.每一个-1
条目表示计算了目标函数值。
数据类型:双
FeasibilityTrace
- - - - - -可行性的迹象
长度的逻辑列向量T
FeasibilityProbabilityTrace
- - - - - -评价点可行的概率
长度列向量T
IndexOfMinimumTrace
- - - - - -哪个评价给出了最小可行目标
长度整数指标的列向量T
此属性是只读的。
哪个评估给出了最小可行目标,指定为长度整数指标的列向量T
,在那里T
是评价点的个数。可行性是根据每个迭代中存在的约束模型来确定的,包括错误约束模型。
数据类型:双
ObjectiveMinimumTrace
- - - - - -最小观测目标
长度列向量T
此属性是只读的。
最小观测目标,指定为长度的列向量T
,在那里T
是评价点的个数。
数据类型:双
EstimatedObjectiveMinimumTrace
- - - - - -估计目标
长度列向量T
此属性是只读的。
估计目标,指定为长度的列向量T
,在那里T
是评价点的个数。每个迭代中的估计目标是根据该迭代中的目标模型确定的。在每次迭代中,软件使用对象函数predictObjective
在访问点中,估计目标函数上置信界最小的点上的目标函数值。
数据类型:双
UserDataTrace
- - - - - -辅助数据来自目标函数
长度单元格数组T
此属性是只读的。
来自目标函数的辅助数据,指定为单元格数组的长度T
,在那里T
是评价点的个数。单元格数组中的每个条目都是用户数据
在目标函数的第三个输出中返回。
数据类型:细胞
对象的功能
bestPoint |
贝叶斯优化中的最佳点 |
情节 |
绘制贝叶斯优化结果图 |
predictConstraints |
预测一组点上的耦合约束违反 |
predictError |
预测一组点的误差值 |
predictObjective |
在一组点上预测目标函数 |
predictObjectiveEvaluationTime |
预测目标函数在一组点上的运行时间 |
重新开始 |
恢复贝叶斯优化 |
例子
创建一个BayesianOptimization
对象使用bayesopt
此示例显示如何创建BayesianOptimization
对象,使用bayesopt
最小化交叉验证损失。
优化KNN分类器的超参数电离层
数据,即找到最小交叉验证损失的KNN超参数。有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);fun = @(x)kfoldLoss(fitcknn(x,Y,“CVPartition”c“NumNeighbors”x.n,...“距离”char (x.dst),“NSMethod”,“详尽”));结果= bayesopt(fun,[num,dst],“详细”,0,...“AcquisitionFunctionName”,“expected-improvement-plus”)
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] numobjectiveevaluation: 30 TotalElapsedTime: 29.7824 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]
创建一个BayesianOptimization
使用适合函数的对象
实例中如何最小化交叉验证损失电离层
数据的贝叶斯优化SVM分类器。
加载数据。
负载电离层
类优化分类“汽车”
参数。
rng默认的%用于再现性Mdl = fitcsvm(X,Y,“OptimizeHyperparameters”,“汽车”)
|=====================================================================================================| | Iter | Eval客观客观| | | BestSoFar | BestSoFar | BoxConstraint | KernelScale | | |结果| |运行时| | (estim(观察) .) | | | |=====================================================================================================| | 最好1 | | 0.22222 | 9.7944 | 0.22222 | 0.22222 | 64.836 | 0.0015729 | | 2 |接受| 0.35897 | 0.073885 | 0.22222 | 0.23074 | 0.036335 | 5.5755| | 3 | Best | 0.13105 | 3.9262 | 0.13105 | 0.14145 | 0.0022147 | 0.0023957 | | 4 | Accept | 0.35897 | 0.089783 | 0.13105 | 0.13108 | 5.1259 | 98.62 | | 5 | Best | 0.12536 | 0.21521 | 0.12536 | 0.12538 | 0.0010294 | 0.037239 | | 6 | Accept | 0.12821 | 0.15008 | 0.12536 | 0.12502 | 0.0010316 | 0.014375 | | 7 | Accept | 0.1339 | 0.68533 | 0.12536 | 0.12424 | 0.025081 | 0.016111 | | 8 | Accept | 0.12536 | 0.14609 | 0.12536 | 0.12631 | 0.0010618 | 0.016299 | | 9 | Best | 0.11681 | 0.22373 | 0.11681 | 0.12174 | 0.001133 | 0.02714 | | 10 | Accept | 0.12251 | 0.29918 | 0.11681 | 0.12148 | 0.001008 | 0.026832 | | 11 | Accept | 0.12536 | 0.18019 | 0.11681 | 0.12261 | 0.0010061 | 0.028162 | | 12 | Accept | 0.14245 | 0.58455 | 0.11681 | 0.11764 | 733.87 | 5.6856 | | 13 | Accept | 0.1396 | 0.22235 | 0.11681 | 0.12257 | 0.004017 | 0.016529 | | 14 | Accept | 0.1339 | 8.3508 | 0.11681 | 0.12287 | 974.87 | 0.49411 | | 15 | Accept | 0.1396 | 0.17699 | 0.11681 | 0.12324 | 985.69 | 119.34 | | 16 | Accept | 0.35897 | 0.29536 | 0.11681 | 0.12301 | 0.0010027 | 8.6693 | | 17 | Accept | 0.35897 | 0.15066 | 0.11681 | 0.12197 | 984.97 | 967.71 | | 18 | Accept | 0.12536 | 0.40566 | 0.11681 | 0.12202 | 996.7 | 37.438 | | 19 | Accept | 0.13105 | 0.1635 | 0.11681 | 0.12219 | 0.034548 | 0.07008 | | 20 | Accept | 0.13105 | 0.75845 | 0.11681 | 0.12241 | 0.59807 | 0.073309 | |=====================================================================================================| | Iter | Eval | Objective | Objective | BestSoFar | BestSoFar | BoxConstraint| KernelScale | | | result | | runtime | (observed) | (estim.) | | | |=====================================================================================================| | 21 | Accept | 0.14245 | 0.1707 | 0.11681 | 0.1227 | 0.0011223 | 0.13671 | | 22 | Accept | 0.12251 | 0.17267 | 0.11681 | 0.12248 | 0.0011076 | 0.043248 | | 23 | Accept | 0.12251 | 0.12665 | 0.11681 | 0.12232 | 0.0010439 | 0.042774 | | 24 | Accept | 0.13105 | 0.83651 | 0.11681 | 0.12235 | 0.15094 | 0.035846 | | 25 | Accept | 0.12251 | 0.52615 | 0.11681 | 0.12234 | 997.65 | 56.317 | | 26 | Accept | 0.35897 | 0.20878 | 0.11681 | 0.12217 | 0.55688 | 823.33 | | 27 | Accept | 0.1339 | 0.34271 | 0.11681 | 0.12214 | 1.4203 | 0.34163 | | 28 | Accept | 0.1339 | 0.77884 | 0.11681 | 0.12215 | 8.2318 | 0.28112 | | 29 | Accept | 0.12251 | 0.2529 | 0.11681 | 0.12206 | 0.10082 | 0.18816 | | 30 | Accept | 0.13105 | 0.154 | 0.11681 | 0.1221 | 0.23533 | 0.16241 |
__________________________________________________________ 优化完成。最大目标达到30个。总函数评估:30总运行时间:55.4351秒总目标函数评估时间:30.4624最佳观测可行点:BoxConstraint KernelScale _____________ ___________ 0.001133 0.02714观测目标函数值= 0.11681估计目标函数值= 0.12305函数评估时间= 0.22373最佳估计可行点(根据模型):BoxConstraint KernelScale _____________ ___________ 0.0010061 0.028162估计的目标函数值= 0.1221估计的函数评估时间= 0.17879
Mdl = ClassificationSVM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: 'none' NumObservations: 351 HyperparameterOptimizationResults: [1x1 bayesioptimization] Alpha: [99x1 double] Bias: -4.2973 KernelParameters: [1x1 struct] BoxConstraints: [351x1 double] ConvergenceInfo: [1x1 struct] IsSu金宝apppportVector: [351x1 logical] Solver: 'SMO' Properties, Methods
在缺省的5倍交叉验证中,拟合损失约12%。
检查BayesianOptimization
对象中返回的HyperparameterOptimizationResults
返回模型的属性。
disp (Mdl.HyperparameterOptimizationResults)
BayesianOptimization with properties: ObjectiveFcn: @createObjFcn/inMemoryObjFcn variabledescription: [5x1 optimizableVariable] Options: [1x1 struct] MinObjective: 0.1168 XAtMinObjective: [1x2 table] MinEstimatedObjective: 0.1221 XAtMinEstimatedObjective: [1x2 table] numobjectiveevaluation: 30 TotalElapsedTime: 55.4351 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中引入
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。