add ss_mrd model

This commit is contained in:
Zhenwen Dai 2014-06-27 10:03:25 +01:00
parent 8a4a4e56a9
commit 35eb0a015f
7 changed files with 45 additions and 3 deletions

View file

@ -17,3 +17,4 @@ from ss_gplvm import SSGPLVM
from gp_coregionalized_regression import GPCoregionalizedRegression
from sparse_gp_coregionalized_regression import SparseGPCoregionalizedRegression
from gp_heteroscedastic_regression import GPHeteroscedasticRegression
from ss_mrd import SSMRD

View file

@ -24,7 +24,7 @@ class SSGPLVM(SparseGP):
"""
def __init__(self, Y, input_dim, X=None, X_variance=None, init='PCA', num_inducing=10,
Z=None, kernel=None, inference_method=None, likelihood=None, name='Spike-and-Slab GPLVM', group_spike=False, mpi_comm=None, **kwargs):
Z=None, kernel=None, inference_method=None, likelihood=None, name='Spike_and_Slab GPLVM', group_spike=False, mpi_comm=None, **kwargs):
self.mpi_comm = mpi_comm
self.__IN_OPTIMIZATION__ = False

22
GPy/models/ss_mrd.py Normal file
View file

@ -0,0 +1,22 @@
"""
The Maniforld Relevance Determination model with the spike-and-slab prior
"""
from ..core import Model
from .ss_gplvm import SSGPLVM
class SSMRD(Model):
def __init__(self, Ylist, input_dim, X=None, X_variance=None,
initx = 'PCA', initz = 'permute',
num_inducing=10, Z=None, kernel=None,
inference_method=None, likelihoods=None, name='ss_mrd', Ynames=None):
super(SSMRD, self).__init__(name)
self.updates = False
self.models = [SSGPLVM(y, input_dim, X=X, X_variance=X_variance, num_inducing=num_inducing,Z=Z,init=initx,
kernel=kernel if kernel else None,inference_method=inference_method,likelihood=likelihoods,
name='model_'+str(i)) for i,y in enumerate(Ylist)]
self.add_parameters(*(self.models))
self.updates = True