def __init__(self, module, learner = None): StateDependentAgent.__init__(self, module, learner) # gaussian process self.gp = GaussianProcess(self.explorationlayer.module.paramdim, -2, 2, 1) self.gp.mean = -1.5 self.gp.hyper = (2.0, 2.0, 0.1)
def __init__(self, task, agent): EpisodicExperiment.__init__(self, task, agent) # create model and training set (action dimension + 1 for time) self.modelds = SequentialDataSet(self.task.indim + 1, 1) self.model = [ GaussianProcess(indim=self.modelds.getDimension('input'), start=(-10, -10, 0), stop=(10, 10, 300), step=(5, 5, 100)) for _ in range(self.task.outdim) ] # change hyper parameters for all gps for m in self.model: m.hyper = (20, 2.0, 0.01)
#!/usr/bin/env python """ A simple example on how to use the GaussianProcess class in pybrain, for one and two dimensions. """ __author__ = "Thomas Rueckstiess, [email protected]" from pybrain.auxiliary import GaussianProcess from pybrain.datasets import SupervisedDataSet from scipy import mgrid, sin, cos, array, ravel from pylab import show, figure ds = SupervisedDataSet(1, 1) gp = GaussianProcess(indim=1, start=-3, stop=3, step=0.05) figure() x = mgrid[-3:3:0.2] y = 0.1*x**2 + x + 1 z = sin(x) + 0.5*cos(y) ds.addSample(-2.5, -1) ds.addSample(-1.0, 3) gp.mean = 0 # new feature "autonoise" adds uncertainty to data depending on # it's distance to other points in the dataset. not tested much yet. # gp.autonoise = True gp.trainOnDataset(ds) gp.plotCurves(showSamples=True)