从bayesopt困惑最好了,估计可行点吗?
6视图(30天)
显示旧的评论
你好,
我一直试图使用bayesopt研究问题,得到不同的结果。我决定尝试一个简单的例子,试图更好地理解算法。这是代码:
%变量
x = optimizableVariable (“x”[0,1],“类型”,“真实”的);
y = optimizableVariable (“y”[0,1],“类型”,“真实”的);
optimisation_variables = (x, y);
% bayesopt运行
结果= bayesopt (@negSumSquared optimisation_variables,“MaxObjectiveEvaluations”,100,…
“IsObjectiveDeterministic”,真的,“AcquisitionFunctionName”,“expected-improvement-plus”);
%目标函数
函数结果= negSumSquared (X)
结果= - (X。x ^ 2 + X.y ^ 2);
结束
当我运行这个bayesopt生成表面,产生以下输出:
最佳观测可行点:
x y
____ ____
0.99962 - 0.99902
最佳估计可行点(根据模型):
x y
____ ____
0.0004718 - 0.99888
困惑我很多是根据模型估计的最佳点。当我运行下面的代码片段:
X = 0:0.01:1;
Y = X;
为i = 1:长度(X)
为j = 1:长度(Y)
Z (i, j) =(预测结果。ObjectiveFcnModel, [X (i), Y (j)]);
结束
结束
我可以确定最小(Z) = 2 X = 1, Y = 1时我所期望的。所以bayesopt把最好的估计是可行的点如果不是从目标函数模型,和为什么它这么相比,真正的解决方案和安装点?
谢谢你的帮助,
丹尼尔
0评论
接受的答案
epic
2021年9月23日
嗨,丹尼尔,
谢谢你的报告。这是一个错误在bayesopt如何计算置信区间上模型具有非常低的不确定性。
我们在将来的版本会解决这个问题。同时,您可以通过设置工作
“IsObjectiveDeterministic”,假的
如果不符合您的需求,更为激进的解决方案将使1条线改变文件的源代码
BayesianOptimization.m
在你安装。我可以提供细节如果你想走这条路。
谢谢,
——请