def __init__(self, X, kernF, kernY, Y, K=2, alpha=1., prior_Z='symmetric', name='MOHGP'): N, self.D = Y.shape self.Y = Y self.X = X assert X.shape[0] == self.D, "input data don't match observations" CollapsedMixture.__init__(self, N, K, prior_Z, alpha, name) self.kernF = kernF self.kernY = kernY self.link_parameters(self.kernF, self.kernY) #initialize kernels self.Sf = self.kernF.K(self.X) self.Sy = self.kernY.K(self.X) self.Sy_inv, self.Sy_chol, self.Sy_chol_inv, self.Sy_logdet = pdinv( self.Sy + np.eye(self.D) * 1e-6) #Computations that can be done outside the optimisation loop self.YYT = self.Y[:, :, np.newaxis] * self.Y[:, np.newaxis, :] self.YTY = np.dot(self.Y.T, self.Y) self.do_computations()
def __init__(self, X, Y, K=2, kernels=None, variance=1., alpha=1., prior_Z='symmetric', name='OMGP'): N, self.D = Y.shape self.Y = Y self.YYT = tdot(self.Y) self.X = X if kernels == None: self.kern = [] for i in range(K): self.kern.append(GPy.kern.RBF(input_dim=1)) else: self.kern = kernels CollapsedMixture.__init__(self, N, K, prior_Z, alpha, name) self.link_parameter( GPy.core.parameterization.param.Param( 'variance', variance, GPy.core.parameterization.transformations.Logexp())) self.link_parameters(*self.kern)
def __init__(self, X, Y, K=2, kernels=None, variance=1., alpha=1., prior_Z='symmetric', name='OMGP'): N, self.D = Y.shape self.Y = Y self.X = X if kernels == None: self.kern = [] for i in range(K): self.kern.append(GPy.kern.RBF(input_dim=1)) else: self.kern = kernels CollapsedMixture.__init__(self, N, K, prior_Z, alpha, name) self.link_parameter(GPy.core.parameterization.param.Param('variance', variance, GPy.core.parameterization.transformations.Logexp())) self.link_parameters(*self.kern)
def __init__(self, X, kernF, kernY, Y, K=2, alpha=1., prior_Z='symmetric', name='MOHGP'): N,self.D = Y.shape self.Y = Y self.X = X assert X.shape[0]==self.D, "input data don't match observations" CollapsedMixture.__init__(self, N, K, prior_Z, alpha, name) self.kernF = kernF self.kernY = kernY self.link_parameters(self.kernF, self.kernY) #initialize kernels self.Sf = self.kernF.K(self.X) self.Sy = self.kernY.K(self.X) self.Sy_inv, self.Sy_chol, self.Sy_chol_inv, self.Sy_logdet = pdinv(self.Sy+np.eye(self.D)*1e-6) #Computations that can be done outside the optimisation loop self.YYT = self.Y[:,:,np.newaxis]*self.Y[:,np.newaxis,:] self.YTY = np.dot(self.Y.T,self.Y) self.do_computations()