mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-05-04 01:02:39 +02:00
adding docstring for symmetric kern
This commit is contained in:
parent
b37dd01299
commit
e7c7ae8ff4
2 changed files with 17 additions and 5 deletions
|
|
@ -450,6 +450,18 @@ def prod(k1,k2,tensor=False):
|
|||
def symmetric(k):
|
||||
"""
|
||||
Construct a symmetric kernel from an existing kernel
|
||||
|
||||
The symmetric kernel works by adding two GP functions together, and computing the overall covariance.
|
||||
|
||||
Let f ~ GP(x | 0, k(x, x')). Now let g = f(x) + f(-x).
|
||||
|
||||
It's easy to see that g is a symmetric function: g(x) = g(-x).
|
||||
|
||||
by construction, g, is a gaussian Process with mean 0 and covariance
|
||||
|
||||
k(x, x') + k(-x, x') + k(x, -x') + k(-x, -x')
|
||||
|
||||
This constructor builds a covariance function of this form from the initial kernel
|
||||
"""
|
||||
k_ = k.copy()
|
||||
k_.parts = [symmetric.Symmetric(p) for p in k.parts]
|
||||
|
|
|
|||
|
|
@ -133,12 +133,12 @@ class Prod(Kernpart):
|
|||
self.k1.K(X[:,self.slice1],X2[:,self.slice1],self._K1)
|
||||
self.k2.K(X[:,self.slice2],X2[:,self.slice2],self._K2)
|
||||
|
||||
def __getstate__(self):
|
||||
return [self.k1, self.k2, self.slice1, self.slice2, self.name, self.input_dim, self.num_params]
|
||||
#def __getstate__(self):
|
||||
#return [self.k1, self.k2, self.slice1, self.slice2, self.name, self.input_dim, self.num_params]
|
||||
|
||||
def __setstate__(self, state):
|
||||
self.k1, self.k2, self.slice1, self.slice2, self.name, self.input_dim, self.num_params = state
|
||||
self._X, self._X2, self._params = np.empty(shape=(3,1))
|
||||
#def __setstate__(self, state):
|
||||
#self.k1, self.k2, self.slice1, self.slice2, self.name, self.input_dim, self.num_params = state
|
||||
#self._X, self._X2, self._params = np.empty(shape=(3,1))
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue