GPy RBF 内核实现
GPy RBF Kernel Implementation
在 rbf.py 中,k(r) 在数学上定义为:
k(r) = \sigma^2 \exp \bigg(- \frac{1}{2} r^2 \bigg)
但是 rbf.py 中的 K_of_r 方法会跳过 sigma^2,而是使用 sigma (self.variance)。我在这里遗漏了什么或者它是 K_of_r 方法实现中的错误。
def K_of_r(self, r):
return self.variance * np.exp(-0.5 * r**2)
我认为实现应该是:
def K_of_r(self, r):
return (self.variance ** 2) * np.exp(-0.5 * r**2)
https://github.com/SheffieldML/GPy/blob/devel/GPy/kern/src/rbf.py#L34
sigma 是标准差。方差等于标准差的平方。因此 sigma^2 = variance.
在 rbf.py 中,k(r) 在数学上定义为:
k(r) = \sigma^2 \exp \bigg(- \frac{1}{2} r^2 \bigg)
但是 rbf.py 中的 K_of_r 方法会跳过 sigma^2,而是使用 sigma (self.variance)。我在这里遗漏了什么或者它是 K_of_r 方法实现中的错误。
def K_of_r(self, r):
return self.variance * np.exp(-0.5 * r**2)
我认为实现应该是:
def K_of_r(self, r):
return (self.variance ** 2) * np.exp(-0.5 * r**2)
https://github.com/SheffieldML/GPy/blob/devel/GPy/kern/src/rbf.py#L34
sigma 是标准差。方差等于标准差的平方。因此 sigma^2 = variance.