抽象先验
smac.model.gaussian_process.priors.abstract_prior #
AbstractPrior #
AbstractPrior(seed: int = 0)
定义高斯过程超参数先验接口的抽象基类。
此类改编自 RoBO
Klein, A. and Falkner, S. and Mansur, N. and Hutter, F. RoBO: A Flexible and Robust Bayesian Optimization Framework in Python In: NIPS 2017 Bayesian Optimization Workshop
注意#
当计算标量输入的 lnprob 或梯度时,我们使用 math.* 而不是 np.*。
参数#
seed : int, 默认为 0
源代码位于 smac/model/gaussian_process/priors/abstract_prior.py
get_gradient #
计算先验关于 theta 的梯度。此方法内部调用 self._get_gradient
。
警告#
Theta 必须是原始比例。
参数#
theta : float 对数空间的超参数配置
返回#
gradient : float 先验在 theta 处的梯度。
源代码位于 smac/model/gaussian_process/priors/abstract_prior.py
get_log_probability #
返回 theta 的对数概率。此方法对 theta 取指数并调用 self._get_log_probability
。
警告#
Theta 必须是对数比例!
参数#
theta : float 对数空间的超参数配置。
返回#
float theta 的对数概率
源代码位于 smac/model/gaussian_process/priors/abstract_prior.py
sample_from_prior #
从先验中返回 n_samples
个样本。所有样本都在对数比例上。此方法调用 self._sample_from_prior
并对获得的值应用对数变换。
参数#
n_samples : int 将要抽取的样本数量。
返回#
samples : np.ndarray