Example #1
0
# 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]
Example #2
0
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

Example #3
0
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
Example #4
0
# 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)
Example #5
0
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])