Esempio n. 1
0
        public (NDarray, NDarray, NDarray) Transform(NDarray X)
        {
            var k     = GaussProcessRegressor.RBF(this.xTrain, this.xTrain, this.Option.l, this.Option.sigma) + this.Option.noise * this.Option.noise * np.eye(this.xTrain.len);
            var k_s   = GaussProcessRegressor.RBF(this.xTrain, X, this.Option.l, this.Option.sigma);
            var k_ss  = GaussProcessRegressor.RBF(X, X, this.Option.l, this.Option.sigma) + 1e-8 * np.eye(X.len);
            var k_inv = np.linalg.inv(k);

            var mean_s = k_s.T.dot(k_inv).dot(this.yTrain);
            var cov_s  = k_ss - k_s.T.dot(k_inv).dot(k_s);
            var res    = np.random.multivariate_normal(mean_s.ravel(), cov_s);

            return(res, mean_s, cov_s);
        }
        public GaussProcessSweeper(Option option)
        {
            this._option     = option;
            this._generated  = new HashSet <IDictionary <string, string> >();
            this._runHistory = new List <IRunResult>();
            var randomSweeperOption = new UniformRandomSweeper.Option()
            {
                Retry = option.Retry,
            };

            this._randomSweeper = new UniformRandomSweeper(randomSweeperOption);

            var gpOption = new GaussProcessRegressor.Options()
            {
                l     = option.L,
                sigma = option.Sigma,
                noise = option.Noise,
            };

            this._regressor = new GaussProcessRegressor(gpOption);
        }