Y = data["DataTrn"]
N, D = Y.shape
selected = np.random.permutation(N)//[:200]
labels = data["DataTrnLbls"][selected]
Y = Y[selected]
N, D = Y.shape
Y -= Y.mean(axis=0)
//Y /= Y.std(axis=0)
Q = 10
k = GPy.kern.rbf_ARD(Q) + GPy.kern.white(Q)
m = GPy.models.Bayesian_GPLVM(Y, Q, kernel = k, M = 12)
m.constrain_positive("(rbf|bias|S|white|noise)")
// m.constrain_bounded("white", 1e-6, 100.0)
// m.constrain_bounded("noise", 1e-4, 1000.0)
After Change
Y = data["DataTrn"]
N, D = Y.shape
selected = np.random.permutation(N)[:350]labels = data["DataTrnLbls"][selected]
Y = Y[selected]
N, D = Y.shape
Y -= Y.mean(axis=0)
// Y /= Y.std(axis=0)
Q = 5
k = GPy.kern.linear(Q, ARD = False) + GPy.kern.white(Q)
m = GPy.models.Bayesian_GPLVM(Y, Q, kernel = k, M = 20)
m.constrain_positive("(rbf|bias|S|linear|white|noise)")
// m.unconstrain("noise")