Пример #1
0
 public GP(IMatrixkernel kernel, double length, double noise)
 {
     this._kernel = kernel;
     this._length = length;
     this._noise  = noise;
     this._Kte    = kernel.Main(DistanceMatrix.Instance.Matrix, length);
 }
Пример #2
0
        public GPDynamic(IMatrixkernel kernel, double length, double noise)
        {
            this.kernel = kernel;
            this.length = length;
            this.noise  = noise;
            //this.results = results;

            //Mte = Kte.RowCount;
            //z = RandomHelper.randnArray(Mte);
            //p = RandomHelper.randnArray(Mte);
        }
Пример #3
0
        public static (Vector <double>, Svd <double>) Evaluate(double[] testPointsX, double[] trainingPointsX, double[] trainingPointsY, IMatrixkernel kernel, double length, Svd <double> svd1, Matrix <double> Kte)
        {
            var          gpOut = new GPOut();
            Svd <double> svd;

            var             dmTeTr = MathHelper.ComputeDistanceMatrix(testPointsX, trainingPointsX.ToArray());
            var             tmp    = kernel.Main(dmTeTr, length) * svd1.U;
            Vector <double> v      = Vector <double> .Build.DenseOfEnumerable(trainingPointsY);

            var mu  = tmp * (svd1.S.PointwiseMultiply(svd1.U.Transpose() * v));
            var cov = tmp * Matrix <double> .Build.DenseOfDiagonalVector(svd1.S.PointwiseSqrt());

            cov = cov * cov.Transpose();
            cov = Kte - cov;
            svd = cov.Svd();
            for (int i = 0; i < svd.S.Count; i++)
            {
                svd.S[i] = svd.S[i] < Double.Epsilon ? 0 : svd.S[i];
            }

            return(mu, svd);
        }
Пример #4
0
        //public void Reset()
        //{
        //    TrainingPointsX.Clear();
        //    TrainingPointsY.Clear();

        //}

        public GP2(IMatrixkernel kernel, double length, double noise)
        {
            this.kernel = kernel;
            this.length = length;
            this.noise  = noise;
        }