Packages

object LowRankGaussianProcess

Factory methods for creating Low-rank gaussian processes, as well as generic algorithms to manipulate Gaussian processes.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LowRankGaussianProcess
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. case class Eigenpair[D, Value](eigenvalue: Double, eigenfunction: Field[D, Value]) extends Product with Serializable
  2. type KLBasis[D, Value] = Seq[Eigenpair[D, Value]]

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. 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

  5. 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. @

  6. 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.

  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  12. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. 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.

  19. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  20. def toString(): String
    Definition Classes
    AnyRef → Any
  21. 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.

  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Deprecated Value Members

  1. 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

  2. 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

Inherited from AnyRef

Inherited from Any

Ungrouped