def _add_noise(self, x):
# Add noise for more efficient fitting of GP
if self.noise_var is not None:
noise_var = np.asanyarray(self.noise_var)
if noise_var.ndim == 0:
noise_var = np.tile(noise_var, self.model.input_dim)
for i in range(self.model.input_dim):
std = np.sqrt(noise_var[i])
if std == 0:
continue
xi = x[:, i]
a = (self.model.bounds[i][0] - xi) / std
b = (self.model.bounds[i][1] - xi) / std
x[:, i] = ss.truncnorm.rvs(
a, b, loc=xi, scale=std, size=len(x), random_state=self.random_state)
return x
评论列表
文章目录