文档帮助中心文档
恢复贝叶斯优化
newresults =简历(结果、名称、值)
例子
newresults=简历(结果,名称,值)恢复产生的优化结果附加选项由一个或多个指定名称,值对参数。
newresults=简历(结果,名称,值)
newresults
结果
名称,值
全部折叠
这个例子展示了如何恢复贝叶斯优化。优化是针对一个被称为Rosenbrock函数的确定性函数,它是非线性优化的一个著名的测试案例。函数的全局最小值为0在点[1].
0
[1]
创建两个实变量-5和5.
-5
5
x1 = optimizableVariable (x1的, 5, 5]);x2 = optimizableVariable (“x2”, 5, 5]);var = (x1, x2);
创建目标函数。
函数F = rosenbroks (x)(1 - x)^2 + (1 - x)^2;
有趣= @rosenbrocks;
为了再现性,设置随机种子,设置采集功能为“expected-improvement-plus”在优化。
“expected-improvement-plus”
rng默认的结果= bayesopt (var,有趣“详细”0,...“AcquisitionFunctionName”,“expected-improvement-plus”);
查看找到的最佳点和建模的最佳目标。
结果。XAtMinObjective结果。MinEstimatedObjective
Ans = 1x2 table x1 x2 ______ ______ 1.2421 1.5299
最佳点在某种程度上接近于最佳点,但函数模型是不准确的。继续优化30多个点(总共60个点),这一次告诉优化器目标函数是确定的。
newresults =简历(结果,“IsObjectiveDeterministic”,真的,“MaxObjectiveEvaluations”, 30);newresults。XAtMinObjective newresults。MinEstimatedObjective
Ans = 1x2 table x1 x2 ______ ______ 1.0533 1.1085
这次的目标函数模型更接近真实函数。最佳点更接近于真正的最佳点。
BayesianOptimization
贝叶斯优化结果,指定为BayesianOptimization对象。
指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家.
的名字
价值
Name1, Value1,…,的家
简历(结果,“MaxObjectiveEvaluations”,60)
您可以使用任何名称-值对bayesopt除了那些以最初的.看到bayesopt输入参数.
bayesopt
最初的
请注意
的MaxObjectiveEvaluations和MaxTime名称-值对的意思额外的时间或计算,上面的数字存储结果.例如,默认值是30.除原始规格外。
MaxObjectiveEvaluations
MaxTime
30.
此外,还可以使用以下名称-值对。
“VariableDescriptions”
OptimizableVariable
修改变量,指定为OptimizableVariable对象。
在优化中,只能更改变量的以下属性。
范围实变量或整变量。例如,
范围
xvar = optimizableVariable (“x”, -10, 10);%修改范围:xvar。范围= [1,5];
类型之间的“整数”和“真实”的.例如,
类型
“整数”
“真实”的
xvar。类型=“整数”;
变换之间的实变量或整变量“日志”和“没有”.例如,
变换
“日志”
“没有”
xvar。变换=“日志”;
优化结果,返回为BayesianOptimization对象。
BayesianOptimization|bayesopt
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系