BayesianOptimization
贝叶斯优化结果
描述
创建
创建一个BayesianOptimization
对象。bayesopt
函数或下列函数之一与OptimizeHyperparameters
名称-值参数。
属性
问题定义属性
ObjectiveFcn
- - - - - -ObjectiveFcn
所使用的参数bayesopt
函数处理
此属性是只读的。
ObjectiveFcn
所使用的参数bayesopt
,指定为函数句柄。
如果你叫
bayesopt
直接ObjectiveFcn
是bayesopt
目标函数参数。的fit函数
“OptimizeHyperparameters”
名称-值对的论点,ObjectiveFcn
是一个函数句柄,它返回分类时的误分类率,或返回1的对数加上回归时的交叉验证损失(通过五次交叉验证度量)。
数据类型:function_handle
VariableDescriptions
- - - - - -VariableDescriptions
观点:bayesopt
使用
向量的optimizableVariable
对象
此属性是只读的。
VariableDescriptions
观点:bayesopt
用的,指定为的向量optimizableVariable
对象。
如果你叫
bayesopt
直接VariableDescriptions
是bayesopt
变量描述参数。如果你用函数调用fit函数
OptimizeHyperparameters
名称-值对,VariableDescriptions
是超参数的向量。
选项
- - - - - -选项bayesopt
使用
结构
此属性是只读的。
选项bayesopt
使用,指定为结构
如果你叫
bayesopt
直接选项
选项使用在bayesopt
,它们是名值对参见bayesopt
输入参数.如果你用函数调用fit函数
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
表格
此属性是只读的。
具有最小目标函数值的观测点,表示为1
——- - - - - -D
表,D
是变量的个数。
数据类型:表格
MinEstimatedObjective
- - - - - -估计目标函数值
真正的标量
此属性是只读的。
估计的目标函数值XAtMinEstimatedObjective
,指定为实标量。
MinEstimatedObjective
为最终目标模型后验分布的均值。该软件估计MinEstimatedObjective
价值通过XAtMinEstimatedObjective
到对象函数predictObjective
.
数据类型:双
XAtMinEstimatedObjective
- - - - - -目标函数值置信上限最小的点
1
——- - - - - -D
表格
此属性是只读的。
在访问点中,目标函数值置信上限最小的点,用a表示1
——- - - - - -D
表,D
是变量的个数。该软件利用最终目标模型求出访问点的置信上界。
XAtMinEstimatedObjective
是否与返回的最佳点相同bestPoint
使用默认条件(“min-visited-upper-confidence-interval”
).
数据类型:表格
NumObjectiveEvaluations
- - - - - -目标函数评价数
正整数
此属性是只读的。
目标函数求值的次数,指定为正整数。这包括形成后验模型的初始评估,以及优化迭代期间的评估。
数据类型:双
TotalElapsedTime
- - - - - -优化的总运行时间(以秒为单位)
积极的标量
此属性是只读的。
优化的总运行时间(以秒为单位),指定为正标量。
数据类型:双
NextPoint
- - - - - -下一点是评估优化是否继续
1
——- - - - - -D
表格
此属性是只读的。
下一个评估优化是否继续的点,指定为1
——- - - - - -D
表,D
是变量的个数。
数据类型:表格
跟踪属性
XTrace
- - - - - -对目标函数进行评估的点
T
——- - - - - -D
表格
此属性是只读的。
对目标函数进行评估的点,指定为T
——- - - - - -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
条目
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);有趣= @ (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] variabledescription: [1x2 optimizableVariable] Options: [1x1 struct] MinObjective: 0.1197 XAtMinObjective: [1x2 table] minestimatedobjobjective: 0.1213 xatminestimatedobjobjective: [1x2 table] numobjectiveevaluationevaluts30 TotalElapsedTime: 35.9996 NextPoint: [1x2 table] XTrace: [30x2 table] ObjectiveTrace: [30x1 double] ConstraintsTrace: [] UserDataTrace: {30x1 cell} ObjectiveEvaluationTimeTrace:[30x1 double] IterationTimeTrace: [30x1 double] ErrorTrace: [30x1 double]可行性追踪:[30x1 logical]可行性概率追踪:[30x1 double] IndexOfMinimumTrace: [30x1 double] objectivminimumtrace: [30x1 double] estimatedobjectivminimumtrace: [30x1 double]
创建一个BayesianOptimization
对象使用Fit函数
这个例子展示了如何最小化交叉验证的损失电离层
数据的贝叶斯优化SVM分类器。
加载数据。
负载电离层
方法优化分类“汽车”
参数。
rng默认的%的再现性Mdl = fitcsvm (X, Y,“OptimizeHyperparameters”,“汽车”)
|=====================================================================================================| | Iter | Eval客观客观| | | BestSoFar | BestSoFar | BoxConstraint | KernelScale | | |结果| |运行时| | (estim(观察) .) | | | |=====================================================================================================| | 最好1 | | 0.22222 | 10.656 | 0.22222 | 0.22222 | 64.836 | 0.0015729 | | 2 |接受| 0.35897 | 0.11083 | 0.22222 | 0.23074 | 0.036335 | 5.5755最好| | 3 | | 0.13105 | 4.2092 | 0.13105 | 0.14145 | 0.0022147 | 0.0023957 | | 4 |接受| 0.35897 | 0.16269 | 0.13105 | 0.13108 | 5.1259 | 98.62 | | 5 |的| 0.12821 | 0.29221 | 0.12821 | 0.12823 | 0.0010294 | 0.03159 | | 6 |接受| 0.12821 | 0.17544 | 0.12821 | 0.12682 | 0.0010607 | 0.012967 | | | 7日接受| 0.1339 | 1.0424 | 0.12821 | 0.12548 | 0.020096 | 0.014191 | | 8最好| | 0.12536 | 0.22216 | 0.12536 | 0.1265 | 0.0010012 | 0.014054 | | | 9日接受| 0.12536 | 0.38955 | 0.12536 |最好10 0.12575 | 0.0010018 | 0.019314 | | | | 0.12251 | 0.40516 | 0.12251 | 0.12486 | 0.0010611 | 0.01853 | | | 11日接受| 0.14245 | 0.39029 | 0.12251 | 0.12368 | 0.0011014 | 0.00773 | | | 12日接受| 0.15385 | 10.118 | 0.12251 | 0.12375 | 979.53 | 0.11762 | | | 13日接受| 0.14245 | 0.54742 | 0.12251 | 0.12384 | 0.0010117 | 0.15318 | | | 14日接受| 0.12821 | 0.27639 | 0.12251 | 0.12388 | 0.022074 | 0.070395 | | |接受15 | 0.1339 | 8.2951 | 0.12251 | 0.12388 | 0.00101 | 0.0010937 | | 16 |接受| 0.13105 | 0.93374 | 0.12251 | 0.12389 | 0.10385 | 0.042002 | | | 17日接受| 0.12251 | 0.14206 | 0.12251 | 0.12348 | 0.0010552 | 0.018969 | | | 18日接受| 0.12536 | 0.11093 | 0.12251 | 0.12391 | 0.0010088 | 0.019316 | | | 19日接受| 0.35897 | 0.30367 | 0.12251 | 0.12391 | 0.098754 | 23.156 | | |接受20 | 0.35897 | 0.14523 | 0.12251 | 0.12392 | 7.9637 | 712.73 | |=====================================================================================================| | Iter | Eval |目的客观| | BestSoFar | BestSoFar | BoxConstraint | KernelScale | | |结果| |运行时| | (estim(观察) .) | | | |=====================================================================================================| | 21日|接受| 0.1453 | 0.14604 | 0.12251 | 0.12386 | 0.045895 | 1.2044 | | | 22日接受| 0.12821 | 0.18017 | 0.12251 | 0.12386 | 0.0776 | 0.57356 | | | 23日接受| 0.20513 | 0.12925 | 0.12251 | 0.12368 | 0.0033578 | 0.73435 | | | 24日接受| 0.12536 | 0.14011 |0.12251 | 0.12364 | 1.5422 | 0.88903 | | | 25日接受| 0.12821 | 0.20119 | 0.12251 | 0.12366 | 1.1445 | 0.41251 | | | 26日接受| 0.12536 | 0.24591 | 0.12251 | 0.12363 | 0.27465 | 0.80507 | | | 27日接受| 0.13105 | 0.51799 | 0.12251 | 0.12366 | 30.203 | 0.83308 | | | 28日接受| 0.12536 | 0.23615 | 0.12251 | 0.12369 | 0.080054 | 0.20338 | | | 29日接受| 0.1339 | 0.539 | 0.12251 | 0.12394 | 0.0046287 | 0.024706 | | | 30日接受| 0.1396 | 0.2168 | 0.12251 | 0.12396 | 0.35132 | 0.12849 |
__________________________________________________________ 优化完成。最大目标:达到30。总函数评估:30总运行时间:68.495秒总目标函数评估时间:41.4809最佳观测可行点:BoxConstraint KernelScale _____________ ___________ 0.0010611 0.01853观测目标函数值= 0.12251估计目标函数值= 0.12396函数评估时间= 0.40516最佳估计可行点(根据模型):BoxConstraint KernelScale _____________ ___________ 0.0010611 0.01853估计的目标函数值= 0.12396估计的函数评估时间= 0.23913
Mdl = ClassificationSVM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: 'none' NumObservations: 351 HyperparameterOptimizationResults: [1x1 BayesianOptimization] Alpha: [92x1 double] Bias: -5.6332 KernelParameters: [1x1 struct] BoxConstraints: [351x1 double] ConvergenceInfo: [1x1 struct] IsSupportVector: [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.1225 XAtMinObjective: [1x2 table] minestimatedobjobjective: 0.1240 xatminestimatedobjobjective: [1x2 table] numobjectiveevaluveevaluvevaluts30 TotalElapsedTime: 68.4950 NextPoint: [1x2 table] XTrace: [30x2 table] ObjectiveTrace: [30x1 double] ConstraintsTrace: [] UserDataTrace: {30x1 cell} ObjectiveEvaluationTimeTrace:[30x1 double] IterationTimeTrace: [30x1 double] ErrorTrace: [30x1 double]可行性追踪:[30x1 logical]可行性概率追踪:[30x1 double] IndexOfMinimumTrace: [30x1 double] objectivminimumtrace: [30x1 double] estimatedobjectivminimumtrace: [30x1 double]
版本历史
介绍了R2016b
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。