mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-05-11 21:12:38 +02:00
actually changing coregionalise to coregionalize
This commit is contained in:
parent
39d2748922
commit
1fea140df8
6 changed files with 16 additions and 21 deletions
|
|
@ -22,7 +22,7 @@ def coregionalisation_toy2(max_iters=100):
|
||||||
Y = np.vstack((Y1, Y2))
|
Y = np.vstack((Y1, Y2))
|
||||||
|
|
||||||
k1 = GPy.kern.rbf(1) + GPy.kern.bias(1)
|
k1 = GPy.kern.rbf(1) + GPy.kern.bias(1)
|
||||||
k2 = GPy.kern.coregionalise(2,1)
|
k2 = GPy.kern.coregionalize(2,1)
|
||||||
k = k1**k2 #k = k1.prod(k2,tensor=True)
|
k = k1**k2 #k = k1.prod(k2,tensor=True)
|
||||||
m = GPy.models.GPRegression(X, Y, kernel=k)
|
m = GPy.models.GPRegression(X, Y, kernel=k)
|
||||||
m.constrain_fixed('.*rbf_var', 1.)
|
m.constrain_fixed('.*rbf_var', 1.)
|
||||||
|
|
@ -82,7 +82,7 @@ def coregionalisation_sparse(max_iters=100):
|
||||||
k1 = GPy.kern.rbf(1)
|
k1 = GPy.kern.rbf(1)
|
||||||
|
|
||||||
m = GPy.models.SparseGPMultioutputRegression(X_list=[X1,X2],Y_list=[Y1,Y2],kernel_list=[k1],num_inducing=20)
|
m = GPy.models.SparseGPMultioutputRegression(X_list=[X1,X2],Y_list=[Y1,Y2],kernel_list=[k1],num_inducing=20)
|
||||||
#k2 = GPy.kern.coregionalise(2, 2)
|
#k2 = GPy.kern.coregionalize(2, 2)
|
||||||
#k = k1**k2 #.prod(k2, tensor=True) # + GPy.kern.white(2,0.001)
|
#k = k1**k2 #.prod(k2, tensor=True) # + GPy.kern.white(2,0.001)
|
||||||
#m = GPy.models.SparseGPRegression(X, Y, kernel=k, Z=Z)
|
#m = GPy.models.SparseGPRegression(X, Y, kernel=k, Z=Z)
|
||||||
m.constrain_fixed('.*rbf_var', 1.)
|
m.constrain_fixed('.*rbf_var', 1.)
|
||||||
|
|
@ -135,7 +135,7 @@ def epomeo_gpx(max_iters=100):
|
||||||
np.random.randint(0, 4, num_inducing)[:, None]))
|
np.random.randint(0, 4, num_inducing)[:, None]))
|
||||||
|
|
||||||
k1 = GPy.kern.rbf(1)
|
k1 = GPy.kern.rbf(1)
|
||||||
k2 = GPy.kern.coregionalise(output_dim=5, rank=5)
|
k2 = GPy.kern.coregionalize(output_dim=5, rank=5)
|
||||||
k = k1**k2
|
k = k1**k2
|
||||||
|
|
||||||
m = GPy.models.SparseGPRegression(t, Y, kernel=k, Z=Z, normalize_Y=True)
|
m = GPy.models.SparseGPRegression(t, Y, kernel=k, Z=Z, normalize_Y=True)
|
||||||
|
|
|
||||||
|
|
@ -346,7 +346,7 @@ def symmetric(k):
|
||||||
k_.parts = [symmetric.Symmetric(p) for p in k.parts]
|
k_.parts = [symmetric.Symmetric(p) for p in k.parts]
|
||||||
return k_
|
return k_
|
||||||
|
|
||||||
def coregionalise(num_outputs,W_columns=1, W=None, kappa=None):
|
def coregionalize(num_outputs,W_columns=1, W=None, kappa=None):
|
||||||
"""
|
"""
|
||||||
Coregionlization matrix B, of the form:
|
Coregionlization matrix B, of the form:
|
||||||
.. math::
|
.. math::
|
||||||
|
|
@ -358,7 +358,7 @@ def coregionalise(num_outputs,W_columns=1, W=None, kappa=None):
|
||||||
|
|
||||||
it is obtainded as the tensor product between a kernel k(x,y) and B.
|
it is obtainded as the tensor product between a kernel k(x,y) and B.
|
||||||
|
|
||||||
:param num_outputs: the number of outputs to corregionalise
|
:param num_outputs: the number of outputs to corregionalize
|
||||||
:type num_outputs: int
|
:type num_outputs: int
|
||||||
:param W_columns: number of columns of the W matrix (this parameter is ignored if parameter W is not None)
|
:param W_columns: number of columns of the W matrix (this parameter is ignored if parameter W is not None)
|
||||||
:type W_colunns: int
|
:type W_colunns: int
|
||||||
|
|
@ -369,7 +369,7 @@ def coregionalise(num_outputs,W_columns=1, W=None, kappa=None):
|
||||||
:rtype: kernel object
|
:rtype: kernel object
|
||||||
|
|
||||||
"""
|
"""
|
||||||
p = parts.coregionalise.Coregionalise(num_outputs,W_columns,W,kappa)
|
p = parts.coregionalize.Coregionalize(num_outputs,W_columns,W,kappa)
|
||||||
return kern(1,[p])
|
return kern(1,[p])
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -448,11 +448,11 @@ def build_lcm(input_dim, num_outputs, kernel_list = [], W_columns=1,W=None,kappa
|
||||||
k.input_dim = input_dim
|
k.input_dim = input_dim
|
||||||
warnings.warn("kernel's input dimension overwritten to fit input_dim parameter.")
|
warnings.warn("kernel's input dimension overwritten to fit input_dim parameter.")
|
||||||
|
|
||||||
k_coreg = coregionalise(num_outputs,W_columns,W,kappa)
|
k_coreg = coregionalize(num_outputs,W_columns,W,kappa)
|
||||||
kernel = kernel_list[0]**k_coreg.copy()
|
kernel = kernel_list[0]**k_coreg.copy()
|
||||||
|
|
||||||
for k in kernel_list[1:]:
|
for k in kernel_list[1:]:
|
||||||
k_coreg = coregionalise(num_outputs,W_columns,W,kappa)
|
k_coreg = coregionalize(num_outputs,W_columns,W,kappa)
|
||||||
kernel += k**k_coreg.copy()
|
kernel += k**k_coreg.copy()
|
||||||
|
|
||||||
return kernel
|
return kernel
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
import bias
|
import bias
|
||||||
import Brownian
|
import Brownian
|
||||||
import coregionalise
|
import coregionalize
|
||||||
import exponential
|
import exponential
|
||||||
import finite_dimensional
|
import finite_dimensional
|
||||||
import fixed
|
import fixed
|
||||||
import gibbs
|
import gibbs
|
||||||
import hetero
|
#import hetero #hetero.py is not commited: omitting for now. JH.
|
||||||
import hierarchical
|
import hierarchical
|
||||||
import independent_outputs
|
import independent_outputs
|
||||||
import linear
|
import linear
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ from GPy.util.linalg import mdot, pdinv
|
||||||
import pdb
|
import pdb
|
||||||
from scipy import weave
|
from scipy import weave
|
||||||
|
|
||||||
class Coregionalise(Kernpart):
|
class Coregionalize(Kernpart):
|
||||||
"""
|
"""
|
||||||
Kernel for intrinsic/linear coregionalization models
|
Kernel for intrinsic/linear coregionalization models
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,12 +4,7 @@
|
||||||
import unittest
|
import unittest
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import GPy
|
import GPy
|
||||||
<<<<<<< HEAD
|
|
||||||
|
|
||||||
verbose = False
|
verbose = False
|
||||||
=======
|
|
||||||
|
|
||||||
>>>>>>> 1bc93747178b0bab1b7177568388ebd4207647e0
|
|
||||||
|
|
||||||
class KernelTests(unittest.TestCase):
|
class KernelTests(unittest.TestCase):
|
||||||
def test_kerneltie(self):
|
def test_kerneltie(self):
|
||||||
|
|
@ -93,7 +88,7 @@ class KernelTests(unittest.TestCase):
|
||||||
Y = np.vstack((Y1,Y2))
|
Y = np.vstack((Y1,Y2))
|
||||||
|
|
||||||
k1 = GPy.kern.rbf(1) + GPy.kern.bias(1)
|
k1 = GPy.kern.rbf(1) + GPy.kern.bias(1)
|
||||||
k2 = GPy.kern.coregionalise(2,1)
|
k2 = GPy.kern.coregionalize(2,1)
|
||||||
kern = k1**k2
|
kern = k1**k2
|
||||||
self.assertTrue(GPy.kern.kern_test(kern, verbose=verbose))
|
self.assertTrue(GPy.kern.kern_test(kern, verbose=verbose))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,8 @@ def build_lcm(input_dim, num_outputs, CK = [], NC = [], W_columns=1,W=None,kappa
|
||||||
|
|
||||||
:input_dim: Input dimensionality
|
:input_dim: Input dimensionality
|
||||||
:num_outputs: Number of outputs
|
:num_outputs: Number of outputs
|
||||||
:param CK: List of coregionalized kernels (i.e., this will be multiplied by a coregionalise kernel).
|
:param CK: List of coregionalized kernels (i.e., this will be multiplied by a coregionalize kernel).
|
||||||
:param K: List of kernels that will be added up together with CK, but won't be multiplied by a coregionalise kernel
|
:param K: List of kernels that will be added up together with CK, but won't be multiplied by a coregionalize kernel
|
||||||
:param W_columns: number tuples of the corregionalization parameters 'coregion_W'
|
:param W_columns: number tuples of the corregionalization parameters 'coregion_W'
|
||||||
:type W_columns: integer
|
:type W_columns: integer
|
||||||
"""
|
"""
|
||||||
|
|
@ -25,9 +25,9 @@ def build_lcm(input_dim, num_outputs, CK = [], NC = [], W_columns=1,W=None,kappa
|
||||||
k.input_dim = input_dim + 1
|
k.input_dim = input_dim + 1
|
||||||
warnings.warn("kernel's input dimension overwritten to fit input_dim parameter.")
|
warnings.warn("kernel's input dimension overwritten to fit input_dim parameter.")
|
||||||
|
|
||||||
kernel = CK[0].prod(kern.coregionalise(num_outputs,W_columns,W,kappa),tensor=True)
|
kernel = CK[0].prod(kern.coregionalize(num_outputs,W_columns,W,kappa),tensor=True)
|
||||||
for k in CK[1:]:
|
for k in CK[1:]:
|
||||||
k_coreg = kern.coregionalise(num_outputs,W_columns,W,kappa)
|
k_coreg = kern.coregionalize(num_outputs,W_columns,W,kappa)
|
||||||
kernel += k.prod(k_coreg,tensor=True)
|
kernel += k.prod(k_coreg,tensor=True)
|
||||||
for k in NC:
|
for k in NC:
|
||||||
kernel += k
|
kernel += k
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue