基础核函数
smac.model.gaussian_process.kernels.base_kernels #
AbstractKernel #
AbstractKernel(
*,
operate_on: ndarray | None = None,
has_conditions: bool = False,
prior: AbstractPrior | None = None,
**kwargs: Any
)
这是一个用于覆盖核函数功能的 mixin。由于它覆盖了核函数的功能,因此需要在继承层次结构中排在首位。正因为如此,不可能从核函数类中继承这个 Mixin,因为这将阻止其被实例化。因此,mypy 将无法识别与超类相关的任何内容,并且在访问超类中声明的成员(如 self.has_conditions
、self._call
、super().get_params
等)时,需要添加一些 type:ignore 语句。
参数#
operate_on : np.ndarray, 默认为 None 在哪个 numpy 数组上进行操作。 has_conditions : bool, 默认为 False 核函数是否有条件。 prior : AbstractPrior, 默认为 None 核函数正在使用哪个先验。
属性#
operate_on : np.ndarray, 默认为 None 在哪个 numpy 数组上进行操作。 has_conditions : bool, 默认为 False 核函数是否有条件。可能由高斯过程改变。 prior : AbstractPrior, 默认为 None 核函数正在使用哪个先验。主要由 sklearn 使用。
源代码位于 smac/model/gaussian_process/kernels/base_kernels.py
__call__ #
__call__(
X: ndarray,
Y: ndarray | None = None,
eval_gradient: bool = False,
active: ndarray | None = None,
) -> ndarray | tuple[ndarray, ndarray]
调用核函数。内部调用 self._call
,该方法必须由子类指定。
源代码位于 smac/model/gaussian_process/kernels/base_kernels.py
get_params #
获取此核函数的参数。
参数#
deep : bool, 默认为 True 如果为 True,将返回此估计器及其包含的子对象(也是估计器)的参数。
返回值#
params : dict[str, Any] 参数名映射到其值。
源代码位于 smac/model/gaussian_process/kernels/base_kernels.py
ConstantKernel #
ConstantKernel(
constant_value: float = 1.0,
constant_value_bounds: tuple[float, float] = (
1e-05,
100000.0,
),
operate_on: ndarray | None = None,
has_conditions: bool = False,
prior: AbstractPrior | None = None,
)
基类: AbstractKernel
, ConstantKernel
源代码位于 smac/model/gaussian_process/kernels/base_kernels.py
__call__ #
__call__(
X: ndarray,
Y: ndarray | None = None,
eval_gradient: bool = False,
active: ndarray | None = None,
) -> ndarray | tuple[ndarray, ndarray]
返回核函数 k(X, Y) 以及可选的其梯度。
参数#
X : np.ndarray, 形状 (n_samples_X, n_features) 返回的核函数 k(X, Y) 的左参数。
np.ndarray, 形状 (n_samples_Y, n_features), (可选, 默认为 None)
返回的核函数 k(X, Y) 的右参数。如果为 None,则计算 k(X, X)。
bool (可选, 默认为 False)
确定是否计算相对于核函数超参数的梯度。仅在 Y 为 None 时支持。
np.ndarray (n_samples_X, n_features) (可选)
布尔数组,指定哪些超参数是活动的。
返回值#
K : np.ndarray, 形状 (n_samples_X, n_samples_Y) 核函数 k(X, Y)。
np.ndarray (可选), 形状 (n_samples_X, n_samples_X, n_dims)
核函数 k(X, X) 相对于核函数超参数的梯度。仅当 eval_gradient 为 True 时返回。
源代码位于 smac/model/gaussian_process/kernels/base_kernels.py
get_params #
获取此核函数的参数。
参数#
deep : bool, 默认为 True 如果为 True,将返回此估计器及其包含的子对象(也是估计器)的参数。
返回值#
params : dict[str, Any] 参数名映射到其值。
源代码位于 smac/model/gaussian_process/kernels/base_kernels.py
ProductKernel #
ProductKernel(
k1: Kernel,
k2: Kernel,
operate_on: ndarray | None = None,
has_conditions: bool = False,
)
基类: AbstractKernel
, Product
乘积核实现。
源代码位于 smac/model/gaussian_process/kernels/base_kernels.py
__call__ #
__call__(
X: ndarray,
Y: ndarray | None = None,
eval_gradient: bool = False,
active: ndarray | None = None,
) -> ndarray | tuple[ndarray, ndarray]
返回核函数 k(X, Y) 以及可选的其梯度。
参数#
X : np.ndarray, 形状 (n_samples_X, n_features) 返回的核函数 k(X, Y) 的左参数。
np.ndarray, 形状 (n_samples_Y, n_features), (可选, 默认为 None)
返回的核函数 k(X, Y) 的右参数。如果为 None,则计算 k(X, X)。
bool (可选, 默认为 False)
确定是否计算相对于核函数超参数的梯度。
np.ndarray (n_samples_X, n_features) (可选)
布尔数组,指定哪些超参数是活动的。
返回值#
K : np.ndarray, 形状 (n_samples_X, n_samples_Y) 核函数 k(X, Y)。
np.ndarray (可选), 形状 (n_samples_X, n_samples_X, n_dims)
核函数 k(X, X) 相对于核函数超参数的梯度。仅当 eval_gradient 为 True 时返回。
源代码位于 smac/model/gaussian_process/kernels/base_kernels.py
get_params #
获取此核函数的参数。
参数#
deep : bool, 默认为 True 如果为 True,将返回此估计器及其包含的子对象(也是估计器)的参数。
返回值#
params : dict[str, Any] 参数名映射到其值。
源代码位于 smac/model/gaussian_process/kernels/base_kernels.py
SumKernel #
SumKernel(
k1: Kernel,
k2: Kernel,
operate_on: ndarray | None = None,
has_conditions: bool = False,
)
基类: AbstractKernel
, Sum
求和核实现。
源代码位于 smac/model/gaussian_process/kernels/base_kernels.py
__call__ #
__call__(
X: ndarray,
Y: ndarray | None = None,
eval_gradient: bool = False,
active: ndarray | None = None,
) -> ndarray | tuple[ndarray, ndarray]
返回核函数 k(X, Y) 以及可选的其梯度。
参数#
X : np.ndarray, 形状 (n_samples_X, n_features) 返回的核函数 k(X, Y) 的左参数。
np.ndarray, 形状 (n_samples_Y, n_features), (可选, 默认为 None)
返回的核函数 k(X, Y) 的右参数。如果为 None,则计算 k(X, X)。
bool (可选, 默认为 False)
确定是否计算相对于核函数超参数的梯度。
np.ndarray (n_samples_X, n_features) (可选)
布尔数组,指定哪些超参数是活动的。
返回值#
K : np.ndarray, 形状 (n_samples_X, n_samples_Y) 核函数 k(X, Y)。
np.ndarray (可选), 形状 (n_samples_X, n_samples_X, n_dims)
核函数 k(X, X) 相对于核函数超参数的梯度。仅当 eval_gradient 为 True 时返回。
源代码位于 smac/model/gaussian_process/kernels/base_kernels.py
get_params #
获取此核函数的参数。
参数#
deep : bool, 默认为 True 如果为 True,将返回此估计器及其包含的子对象(也是估计器)的参数。
返回值#
params : dict[str, Any] 参数名映射到其值。