# Load training set train = np.matrix(scipy.io.loadmat("/home/victor/Documents/MTL-GP/_data/sarcos_inv.mat")["sarcos_inv"]) # Inputs (7 joint positions, 7 joint velocities, 7 joint accelerations) Xtrain = train[:100, :21].T # Outputs (7 joint torques) Ytrain = normalize(train[:100, 21:23])[0] # Load test set test = np.matrix(scipy.io.loadmat("/home/victor/Documents/MTL-GP/_data/sarcos_inv_test.mat")["sarcos_inv_test"]) Xtest = test[:100, :21].T Ytest = normalize(test[:100, 21:23])[0] # my_GP = GaussianProcess(SMKernel(Xtrain.shape[0], 3), Xtrain) # my_GP = GaussianProcess(DotKernel(), Xtrain) my_GP = GaussianProcess(SEKernel(), Xtrain) my_GP.add_task(Ytrain[:,0]) my_GP.add_task(Ytrain[:,1]) # Ytrain = my_GP.gpr_normalize() x_star = Xtest[:, 0:100] # my_GP.gpr_make_prediction(my_GP.cov_function.INITIAL_GUESS, [0, 1], x_star) print my_GP.gpr_optimize([0,1], x_star) # print my_GP.mean.T # print Ytest.T print np.mean(abs((my_GP.mean[:,0] - Ytest[:,0]))) print np.mean(abs((my_GP.mean[:,1] - Ytest[:,1]))) print my_GP.mlog_ML ''' for i in range(10): x_star = Xtest[:, i]
import math import numpy as np from gp import GaussianProcess, DotKernel from gp import SMKernel N_ROWS = 5 N_COLS = 100 X = np.matrix([(0.1*(1+i))**(1+j) for j in range(N_ROWS) for i in range(N_COLS)]).reshape((N_ROWS,N_COLS)) y1 = np.matrix([(0.1*(1+i)) for i in range(N_COLS)]).T y2 = np.matrix([np.sin(0.1*(1+i)) for i in range(N_COLS)]).T my_GP = GaussianProcess(SMKernel(N_ROWS, 1), X) my_GP = GaussianProcess(DotKernel(), X) my_GP.add_task(y1) my_GP.add_task(y2) x_star = np.matrix([3**(1+j) for j in range(N_ROWS)]).T my_GP.gpr_make_prediction(my_GP.cov_function.INITIAL_GUESS, 0, x_star) print my_GP.gpr_optimize(0, x_star) print my_GP.mean, my_GP.variance print my_GP.mlog_ML my_GP.gpr_make_prediction(my_GP.cov_function.INITIAL_GUESS, 0, x_star) print my_GP.mean, my_GP.variance
import math import numpy as np from gp import GaussianProcess, DotKernel from gp import SMKernel N_ROWS = 5 N_COLS = 50 X = np.matrix([1+(0.1*i)*j for j in range(N_ROWS) for i in range(1,N_COLS+1)]).reshape((N_ROWS,N_COLS)) y1 = np.matrix([(0.2*i) + np.random.normal(0,0.001,1)[0] for i in range(1,N_COLS+1)]).T my_GP = GaussianProcess(SMKernel(N_ROWS, 1), X) #my_GP = GaussianProcess(DotKernel(), X) my_GP.add_task(y1) x_star = np.matrix([1+1.5*j for j in range(N_ROWS)]).T my_GP.gpr_make_prediction(my_GP.cov_function.INITIAL_GUESS, 0, x_star) print my_GP.gpr_optimize(0, x_star) print my_GP.mean, my_GP.variance print my_GP.mlog_ML
# Inputs (7 joint positions, 7 joint velocities, 7 joint accelerations) Xtrain = train[:100, :21].T # Outputs (7 joint torques) Ytrain = normalize(train[:100, 21:23])[0] # Load test set test = np.matrix( scipy.io.loadmat("/home/victor/Documents/MTL-GP/_data/sarcos_inv_test.mat") ["sarcos_inv_test"]) Xtest = test[:100, :21].T Ytest = normalize(test[:100, 21:23])[0] # my_GP = GaussianProcess(SMKernel(Xtrain.shape[0], 3), Xtrain) # my_GP = GaussianProcess(DotKernel(), Xtrain) my_GP = GaussianProcess(SEKernel(), Xtrain) my_GP.add_task(Ytrain[:, 0]) my_GP.add_task(Ytrain[:, 1]) # Ytrain = my_GP.gpr_normalize() x_star = Xtest[:, 0:100] # my_GP.gpr_make_prediction(my_GP.cov_function.INITIAL_GUESS, [0, 1], x_star) print my_GP.gpr_optimize([0, 1], x_star) # print my_GP.mean.T # print Ytest.T print np.mean(abs((my_GP.mean[:, 0] - Ytest[:, 0]))) print np.mean(abs((my_GP.mean[:, 1] - Ytest[:, 1]))) print my_GP.mlog_ML ''' for i in range(10): x_star = Xtest[:, i] my_GP.gpr_make_prediction(my_GP.cov_function.INITIAL_GUESS, 0, x_star)
means, sigma, N = [-6,0,2], 0.8, 30 X = np.matrix( np.concatenate( [dnorm(i, sigma, N) for i in means] ) ) # my_GP = GaussianProcess(DotKernel(), X, LogisticFunction()) my_GP = GaussianProcess(SEKernel(), X, LogisticFunction()) # my_GP = GaussianProcess(SMKernel(X.shape[0], 3), X, LogisticFunction()) y = np.matrix( [-1]*N + [1]*N + [-1]*N ).T my_GP.add_task(y) y2 = [] for i in range(3*N): if X[0,i] > 0: y2.append(1) else: y2.append(-1) y2 = np.matrix(y2).T my_GP.add_task(y2) # print [-1+0.1*i for i in range(30)] # x_star = np.matrix([-1+0.1*i for i in range(50)]) x_star = np.matrix(dnorm(0,sigma,N)) # f_mode, log_ML = my_GP.gpc_find_mode([0, 1], my_GP.cov_function.INITIAL_GUESS) # print my_GP.gpc_optimize([0])