我有一个想优化的粗麻布功能。但是由于众多局部最优,搜索算法陷入了困境。下面是一个视觉图:
R代码生成此代码:
x = seq(0,100,0.1);
y = 60 - sqrt( 50^2 - (x-50)^2 );
plot(x, y, type = "l", col = "black", lwd = 2, ylim = c(5,65), lty = 2);
y_burpy = y;
for(i in seq(2,96,7)) {
idx = which(x %between% c(i,i+3));
y_burpy[idx] = y_burpy[idx] - 0.2*(15 - abs(-15:15));
}
lines(x, y_burpy, type = "l", col = "green", lwd = 2);
我想平滑green
线并恢复black
曲线。以上仅是示例。我要平滑的实际功能是多维的(准确地说是3),因此无法可视化。以下是我的实函数的3维图,其中固定了一个参数(rho
)。
该函数似乎具有良好的曲率,但是由于抖动,我无法获得将其最小化的稳定参数。我也知道函数的功能形式(以及它的派生wrt参数)。