def bgplvm_simulation( optimize=True, verbose=1, plot=True, plot_sim=False, max_iters=2e4, ): from GPy import kern from GPy.models import BayesianGPLVM D1, D2, D3, N, num_inducing, Q = 49, 30, 10, 12, 3, 10 _, _, Ylist = _simulate_sincos(D1, D2, D3, N, num_inducing, Q, plot_sim) Y = Ylist[0] k = kern.linear(Q, ARD=True) m = BayesianGPLVM(Y, Q, init="PCA", num_inducing=num_inducing, kernel=k) m.X_variance = m.X_variance * .7 m['noise'] = Y.var() / 100. if optimize: print "Optimizing model:" m.optimize('scg', messages=verbose, max_iters=max_iters, gtol=.05) if plot: m.plot_X_1d("BGPLVM Latent Space 1D") m.kern.plot_ARD('BGPLVM Simulation ARD Parameters') return m
def bgplvm_simulation(optimize=True, verbose=1, plot=True, plot_sim=False, max_iters=2e4, ): from GPy import kern from GPy.models import BayesianGPLVM D1, D2, D3, N, num_inducing, Q = 15, 5, 8, 30, 3, 10 _, _, Ylist = _simulate_sincos(D1, D2, D3, N, num_inducing, Q, plot_sim) Y = Ylist[0] k = kern.linear(Q, ARD=True) + kern.bias(Q, _np.exp(-2)) + kern.white(Q, _np.exp(-2)) # + kern.bias(Q) m = BayesianGPLVM(Y, Q, init="PCA", num_inducing=num_inducing, kernel=k) m['noise'] = Y.var() / 100. if optimize: print "Optimizing model:" m.optimize('scg', messages=verbose, max_iters=max_iters, gtol=.05) if plot: m.plot_X_1d("BGPLVM Latent Space 1D") m.kern.plot_ARD('BGPLVM Simulation ARD Parameters') return m