object LowRankGaussianProcess
Factory methods for creating Low-rank gaussian processes, as well as generic algorithms to manipulate Gaussian processes.
- Alphabetic
- By Inheritance
- LowRankGaussianProcess
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def approximateGPCholesky[D, DDomain[D] <: DiscreteDomain[D], Value](domain: DDomain[D], gp: GaussianProcess[D, Value], relativeTolerance: Double, interpolator: FieldInterpolator[D, DDomain, Value])(implicit arg0: NDSpace[D], vectorizer: Vectorizer[Value]): LowRankGaussianProcess[D, Value]
Perform a low-rank approximation of the Gaussian process using a pivoted Cholesky approximation.
Perform a low-rank approximation of the Gaussian process using a pivoted Cholesky approximation. This approximation will automatically compute the required number of basis functions, to achieve a given approximation quality.
Note: The number of basis functions that are generated for a fixed approximation quality depends very much on the smoothness of the process. The more smooth the modelled functions are, the less basis functions are required. For models which are highly non-smooth, this method may generate a lot of basis functions.
- domain
The domain on which the approximation is performed. This can, for example be the points of a mesh, an image domain (regular grid) or any other suitable domain. Note that the number of points in this domain influences the approximation accuracy. As the complexity of this method grows at most linearly with the number of points, efficient approximations can be computed for domains which contain millions of points.
- gp
The gaussian process to be approximated
- relativeTolerance
The relative tolerance defines the stopping criterion for the approximation. When we choose this parameter as 0.01, the method will stop computing new basis functions, when the variance represented by the approximated Gaussian Process is 99% of the total variance of the original process. A value of 0 will generate new basis functions until all the variance is approximated. Note that this will only terminate when the Gaussian process has finite rank.
- interpolator
An interpolator used to interpolate values that lie between the points of the domain
- returns
A low rank approximation of the Gaussian process
- def approximateGPNystrom[D, Value](gp: GaussianProcess[D, Value], sampler: Sampler[D])(implicit arg0: NDSpace[D], vectorizer: Vectorizer[Value]): LowRankGaussianProcess[D, Value]
Perform a low-rank approximation of the Gaussian process using the Nystrom method.
Perform a low-rank approximation of the Gaussian process using the Nystrom method. The sample points used for the nystrom method are sampled using the given sample.
- gp
The gaussian process to approximate
- sampler
determines which points will be used as samples for the nystrom approximation. @
- def approximateGPNystrom[D, Value](gp: GaussianProcess[D, Value], sampler: Sampler[D], numBasisFunctions: Int)(implicit arg0: NDSpace[D], vectorizer: Vectorizer[Value]): LowRankGaussianProcess[D, Value]
Perform a low-rank approximation of the Gaussian process using the Nystrom method.
Perform a low-rank approximation of the Gaussian process using the Nystrom method. The sample points used for the nystrom method are sampled using the given sample.
- gp
The gaussian process to approximate
- sampler
determines which points will be used as samples for the nystrom approximation.
- numBasisFunctions
The number of basis functions to approximate.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def regression[D, Value](gp: LowRankGaussianProcess[D, Value], trainingData: IndexedSeq[(Point[D], Value, MultivariateNormalDistribution)])(implicit arg0: NDSpace[D], vectorizer: Vectorizer[Value]): LowRankGaussianProcess[D, Value]
* Performs a Gaussian process regression, where we assume that each training point (vector) is subject to zero-mean noise with given variance.
* Performs a Gaussian process regression, where we assume that each training point (vector) is subject to zero-mean noise with given variance.
- gp
The gaussian process
- trainingData
Point/value pairs where that the sample should approximate, together with an error model (the uncertainty) at each point.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def transform[D](gp: LowRankGaussianProcess[D, EuclideanVector[D]], rigidTransform: RigidTransformation[D])(implicit arg0: NDSpace[D], vectorizer: Vectorizer[EuclideanVector[D]]): LowRankGaussianProcess[D, EuclideanVector[D]]
perform a rigid transformation of the gaussian process, i.e.
perform a rigid transformation of the gaussian process, i.e. it is later defined on the transformed domain and its vectors are transformed along the domain.
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
Deprecated Value Members
- def approximateGP[D, Value](gp: GaussianProcess[D, Value], sampler: Sampler[D])(implicit arg0: NDSpace[D], vectorizer: Vectorizer[Value], rand: Random): LowRankGaussianProcess[D, Value]
- Annotations
- @deprecated
- Deprecated
(Since version 0.17) the method has been renamed to approximateGPNystrom
- def approximateGP[D, Value](gp: GaussianProcess[D, Value], sampler: Sampler[D], numBasisFunctions: Int)(implicit arg0: NDSpace[D], vectorizer: Vectorizer[Value], rand: Random): LowRankGaussianProcess[D, Value]
- Annotations
- @deprecated
- Deprecated
(Since version 0.17) the method has been renamed to approximateGPNystrom