Documentation ¶
Index ¶
- func CovMatrix(X []*core.RealSample, cov_func CovFunc) *core.Matrix
- func CovVector(X []*core.RealSample, y *core.RealSample, cov_func CovFunc) *core.Vector
- type CovFunc
- type CovSEARD
- type GaussianProcess
- func (algo *GaussianProcess) ApproximateInversion(A *core.Matrix, u *core.Vector, theta float64, dim int64) *core.Vector
- func (algo *GaussianProcess) ExtractTargetValuesAsVector(samples []*core.RealSample) *core.Vector
- func (algo *GaussianProcess) Init(params map[string]string)
- func (self *GaussianProcess) LoadModel(path string)
- func (algo *GaussianProcess) Predict(sample *core.RealSample) float64
- func (algo *GaussianProcess) PredictStd(sample *core.RealSample) float64
- func (self *GaussianProcess) SaveModel(path string)
- func (algo *GaussianProcess) Train(dataset *core.RealDataSet)
- type GaussianProcessParameters
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CovVector ¶
func CovVector(X []*core.RealSample, y *core.RealSample, cov_func CovFunc) *core.Vector
Types ¶
type CovSEARD ¶
Squared error covariance function ARD = auto relevance detection, and here indicates there is a scaling/radius factor per dimension
type GaussianProcess ¶
type GaussianProcess struct { Params GaussianProcessParameters CovarianceFunc CovFunc CovMatrix *core.Matrix TargetValues *core.Vector InvCovTarget *core.Vector // inv(CovMatrix)*TargetValues DataSet *core.RealDataSet TrainingDataCount int64 }
func (*GaussianProcess) ApproximateInversion ¶
func (algo *GaussianProcess) ApproximateInversion(A *core.Matrix, u *core.Vector, theta float64, dim int64) *core.Vector
Given matrix m and vector v, compute inv(m)*v. Based on Gibbs and MacKay 1997, and Mark N. Gibbs's PhD dissertation
Details: A - positive seminidefinite matrix u - a vector theta - positive number C = A + I*theta Returns inv(C)*u - So you need the diagonal noise term for covariance matrix in a sense. However, this algorithm is numerically stable, the noise term can be very small and the inversion can still be calculated...
func (*GaussianProcess) ExtractTargetValuesAsVector ¶
func (algo *GaussianProcess) ExtractTargetValuesAsVector(samples []*core.RealSample) *core.Vector
func (*GaussianProcess) Init ¶
func (algo *GaussianProcess) Init(params map[string]string)
func (*GaussianProcess) LoadModel ¶
func (self *GaussianProcess) LoadModel(path string)
func (*GaussianProcess) Predict ¶
func (algo *GaussianProcess) Predict(sample *core.RealSample) float64
func (*GaussianProcess) PredictStd ¶
func (algo *GaussianProcess) PredictStd(sample *core.RealSample) float64
func (*GaussianProcess) SaveModel ¶
func (self *GaussianProcess) SaveModel(path string)
func (*GaussianProcess) Train ¶
func (algo *GaussianProcess) Train(dataset *core.RealDataSet)
Click to show internal directories.
Click to hide internal directories.