Search Results for

    Show / Hide Table of Contents

    Class SparseGP

    A Gaussian Process distribution over functions, represented by a GP prior times a set of regression likelihoods on basis points.

    Inheritance
    Object
    SparseGP
    Implements
    IGaussianProcess
    IDistribution<IFunction>
    IDistribution
    ICloneable
    Diffable
    SettableToUniform
    HasPoint<IFunction>
    CanGetLogProb<IFunction>
    SettableTo<SparseGP>
    SettableToProduct<SparseGP>
    SettableToProduct<SparseGP, SparseGP>
    SettableToRatio<SparseGP>
    SettableToRatio<SparseGP, SparseGP>
    SettableToPower<SparseGP>
    SettableToWeightedSum<SparseGP>
    CanGetLogAverageOf<SparseGP>
    CanGetLogAverageOfPower<SparseGP>
    CanGetAverageLog<SparseGP>
    CanGetMean<IFunction>
    Sampleable<IFunction>
    Inherited Members
    Object.Equals(Object, Object)
    Object.GetType()
    Object.MemberwiseClone()
    Object.ReferenceEquals(Object, Object)
    Namespace: Microsoft.ML.Probabilistic.Distributions
    Assembly: Microsoft.ML.Probabilistic.dll
    Syntax
    [Serializable]
    [Quality(QualityBand.Preview)]
    [DataContract]
    public class SparseGP : IGaussianProcess, IDistribution<IFunction>, IDistribution, ICloneable, Diffable, SettableToUniform, HasPoint<IFunction>, CanGetLogProb<IFunction>, SettableTo<SparseGP>, SettableToProduct<SparseGP>, SettableToProduct<SparseGP, SparseGP>, SettableToRatio<SparseGP>, SettableToRatio<SparseGP, SparseGP>, SettableToPower<SparseGP>, SettableToWeightedSum<SparseGP>, CanGetLogAverageOf<SparseGP>, CanGetLogAverageOfPower<SparseGP>, CanGetAverageLog<SparseGP>, CanGetMean<IFunction>, Sampleable<IFunction>
    Remarks

    This distribution family comes from the paper "Sparse-posterior Gaussian Processes for general likelihoods" by Qi et al (2010), http://event.cwi.nl/uai2010/papers/UAI2010_0283.pdf

    The state of the distribution is represented by (FixedParameters, IncludePrior, InducingDist, pointFunc). The GP prior and basis point locations are stored in FixedParameters. The regression likelihoods are stored as a single VectorGaussian called InducingDist. IncludePrior=false does not include the prior in the distribution (i.e. the distribution is degenerate). If pointFunc != null, the distribution is a point mass. If InducingDist is uniform and IncludePrior is false, the distribution is uniform. The GP prior is assumed to be non-uniform.

    Constructors

    SparseGP()

    Parameterless constructor needed for serialization

    Declaration
    protected SparseGP()

    SparseGP(SparseGP)

    Copy constructor

    Declaration
    public SparseGP(SparseGP that)
    Parameters
    Type Name Description
    SparseGP that

    SparseGP(SparseGPFixed)

    Constructs sparse GP, given basis etc

    Declaration
    public SparseGP(SparseGPFixed spgf)
    Parameters
    Type Name Description
    SparseGPFixed spgf

    The fixed parameters

    SparseGP(SparseGPFixed, Boolean)

    Declaration
    public SparseGP(SparseGPFixed spgf, bool includePrior)
    Parameters
    Type Name Description
    SparseGPFixed spgf

    Fixed parameters

    Boolean includePrior

    Whether this instance includes the prior

    SparseGP(SparseGPFixed, Boolean, VectorGaussian, IFunction)

    Constructor from full specification

    Declaration
    [Construction(new string[]{"FixedParameters", "IncludePrior", "InducingDist", "Point"})]
    public SparseGP(SparseGPFixed spgf, bool includePrior, VectorGaussian InducingDist, IFunction pointFunc)
    Parameters
    Type Name Description
    SparseGPFixed spgf

    Fixed parameters

    Boolean includePrior

    Whether this instance includes the prior

    VectorGaussian InducingDist

    Inducing distribution

    IFunction pointFunc

    If not null, set this as a point distribution

    Fields

    alpha

    Field for Alpha property

    Declaration
    [DataMember]
    protected Vector alpha
    Field Value
    Type Description
    Vector

    beta

    Field for Beta property

    Declaration
    [DataMember]
    protected PositiveDefiniteMatrix beta
    Field Value
    Type Description
    PositiveDefiniteMatrix

    fixedParameters

    Field for FixedParameters property

    Declaration
    [DataMember]
    protected SparseGPFixed fixedParameters
    Field Value
    Type Description
    SparseGPFixed

    IncludePrior

    Whether this sparse GP includes the prior

    Declaration
    [DataMember]
    public bool IncludePrior
    Field Value
    Type Description
    Boolean

    InducingDist

    The regression likelihoods that modify the prior.

    Declaration
    [DataMember]
    public VectorGaussian InducingDist
    Field Value
    Type Description
    VectorGaussian
    Remarks

    If this field is changed, ClearCachedValues() must be called before accessing any other property.

    meanB

    Field for Mean_B property

    Declaration
    protected Vector meanB
    Field Value
    Type Description
    Vector

    pointFunc

    Use for setting point distribution

    Declaration
    [DataMember]
    protected IFunction pointFunc
    Field Value
    Type Description
    IFunction

    varBB

    Field for Var_B_B property

    Declaration
    protected PositiveDefiniteMatrix varBB
    Field Value
    Type Description
    PositiveDefiniteMatrix

    Properties

    Alpha

    Alpha - along with beta, this encodes the posterior means and covariances of the Sparse GP

    Declaration
    [IgnoreDataMember]
    public Vector Alpha { get; }
    Property Value
    Type Description
    Vector

    Beta

    Beta - along with alpha, this encodes the posterior means and covariances of the Sparse GP

    Declaration
    [IgnoreDataMember]
    public PositiveDefiniteMatrix Beta { get; }
    Property Value
    Type Description
    PositiveDefiniteMatrix

    FixedParameters

    Sets and gets the fixed sparse parameters - parameters which are not changed by inference

    Declaration
    public SparseGPFixed FixedParameters { get; set; }
    Property Value
    Type Description
    SparseGPFixed

    IsPointMass

    Asks the distribution whether it is a point mass

    Declaration
    [IgnoreDataMember]
    public bool IsPointMass { get; }
    Property Value
    Type Description
    Boolean

    Mean_B

    m(B). This is a calculated Vector maintained by the class

    Declaration
    [IgnoreDataMember]
    public Vector Mean_B { get; }
    Property Value
    Type Description
    Vector

    Point

    Sets or Gets a point. If not a point function, the get returns the mean function of the sparse GP

    Declaration
    [IgnoreDataMember]
    public IFunction Point { get; set; }
    Property Value
    Type Description
    IFunction

    Var_B_B

    var(B, B). This is a calculated matrix maintained by the class

    Declaration
    [IgnoreDataMember]
    public PositiveDefiniteMatrix Var_B_B { get; }
    Property Value
    Type Description
    PositiveDefiniteMatrix

    Methods

    ClearCachedValues()

    Function to signal recalculation of calculated parameters. This is called automatically if the fixed parameter class is swapped out, or if the kernel is changed, or if parameters are changed. It should also be called by any external program modifies the kernel or other fixed parameters in place

    Declaration
    public void ClearCachedValues()

    Clone()

    Clone. Note that the fixed parameters and the rank1 list are just referenced

    Declaration
    public object Clone()
    Returns
    Type Description
    Object

    The cloned object

    Covariance(Vector, Vector)

    Predictive covariance at a given pair of points

    Declaration
    public double Covariance(Vector x, Vector y)
    Parameters
    Type Name Description
    Vector x
    Vector y
    Returns
    Type Description
    Double

    Covariance(IList<Vector>)

    Predictive coariance at a given list of points

    Declaration
    public PositiveDefiniteMatrix Covariance(IList<Vector> XList)
    Parameters
    Type Name Description
    IList<Vector> XList

    List of inputs

    Returns
    Type Description
    PositiveDefiniteMatrix

    Predictive covariance

    Equals(Object)

    Declaration
    public override bool Equals(object obj)
    Parameters
    Type Name Description
    Object obj
    Returns
    Type Description
    Boolean
    Overrides
    Object.Equals(Object)

    EvaluateMean(Vector)

    Evaluates the mean function of the GP

    Declaration
    public double EvaluateMean(Vector X)
    Parameters
    Type Name Description
    Vector X

    Input variable

    Returns
    Type Description
    Double

    Evaulated function value

    GetAverageLog(SparseGP)

    The expected logarithm of that distribution under this distribution

    Declaration
    public double GetAverageLog(SparseGP that)
    Parameters
    Type Name Description
    SparseGP that
    Returns
    Type Description
    Double
    Remarks

    Not yet implemented

    GetHashCode()

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    Int32
    Overrides
    Object.GetHashCode()

    GetLogAverageOf(SparseGP)

    Gets the log of the integral of the product of this SparseGP and that SparseGP

    Declaration
    public double GetLogAverageOf(SparseGP that)
    Parameters
    Type Name Description
    SparseGP that
    Returns
    Type Description
    Double

    GetLogAverageOfPower(SparseGP, Double)

    Get the integral of this distribution times another distribution raised to a power.

    Declaration
    public double GetLogAverageOfPower(SparseGP that, double power)
    Parameters
    Type Name Description
    SparseGP that
    Double power
    Returns
    Type Description
    Double

    GetLogProb(IFunction)

    Gets the log density for a given value

    Declaration
    public double GetLogProb(IFunction value)
    Parameters
    Type Name Description
    IFunction value
    Returns
    Type Description
    Double

    GetMean()

    Gets the mean function for the Sparse GP

    Declaration
    public IFunction GetMean()
    Returns
    Type Description
    IFunction

    The mean function

    IsUniform()

    Asks the distribution whether it is uniform

    Declaration
    public bool IsUniform()
    Returns
    Type Description
    Boolean

    True or false

    Joint(IList<Vector>)

    Predictive distribution at a given list of points

    Declaration
    public VectorGaussian Joint(IList<Vector> XList)
    Parameters
    Type Name Description
    IList<Vector> XList

    List of inputs

    Returns
    Type Description
    VectorGaussian

    Predictive distribution

    Marginal(Vector)

    Predictive distribution at a given point

    Declaration
    public Gaussian Marginal(Vector X)
    Parameters
    Type Name Description
    Vector X

    Input

    Returns
    Type Description
    Gaussian

    Predictive distribution

    MaxDiff(Object)

    Max difference between two sparse GPs - used for convergence testing

    Declaration
    public double MaxDiff(object thatd)
    Parameters
    Type Name Description
    Object thatd

    That sparse GP which will be compared to this sparse GP

    Returns
    Type Description
    Double

    Mean(Vector)

    Mean at a given point

    Declaration
    public double Mean(Vector X)
    Parameters
    Type Name Description
    Vector X
    Returns
    Type Description
    Double

    Mean(IList<Vector>)

    Mean at a given list of points

    Declaration
    public Vector Mean(IList<Vector> XList)
    Parameters
    Type Name Description
    IList<Vector> XList

    List of inputs

    Returns
    Type Description
    Vector

    Predictive mean vector

    PointMass(SparseGPFixed, IFunction)

    Creates a sparse GP point mass - i.e. all the mass is at a given function

    Declaration
    public static SparseGP PointMass(SparseGPFixed sgpf, IFunction value)
    Parameters
    Type Name Description
    SparseGPFixed sgpf
    IFunction value
    Returns
    Type Description
    SparseGP

    Sample()

    Samples from the Sparse Gaussian distribution This is only implemented for a 1-dimensional input space, and returns a simple linear spline function

    Declaration
    public IFunction Sample()
    Returns
    Type Description
    IFunction

    Sample function

    Sample(IFunction)

    Samples from the Sparse Gaussian distribution This is only implemented for a 1-dimensional input space, and returns a simple linear spline function. result is ignored

    This argument is ignored
    Declaration
    public IFunction Sample(IFunction result)
    Parameters
    Type Name Description
    IFunction result
    Returns
    Type Description
    IFunction

    Sample function

    SetTo(SparseGP)

    Sets one sparse GP to another. Everything is copied except the FixedParameters and the lsit of rank 1 potentials which are referenced.

    Declaration
    public void SetTo(SparseGP that)
    Parameters
    Type Name Description
    SparseGP that

    The sparse GP to copy

    SetToPower(SparseGP, Double)

    Sets this sparse GP the the power of another sparse GP

    Declaration
    public void SetToPower(SparseGP dist, double exponent)
    Parameters
    Type Name Description
    SparseGP dist
    Double exponent

    SetToProduct(SparseGP, SparseGP)

    Sets this instance to the product of two sparse GPs.

    Declaration
    public void SetToProduct(SparseGP a, SparseGP b)
    Parameters
    Type Name Description
    SparseGP a

    Sparse GP

    SparseGP b

    Sparse GP

    SetToRatio(SparseGP, SparseGP, Boolean)

    Sets this instance to the ratio of two sparse GPs.

    Declaration
    public void SetToRatio(SparseGP numerator, SparseGP denominator, bool forceProper = false)
    Parameters
    Type Name Description
    SparseGP numerator

    Sparse GP

    SparseGP denominator

    Sparse GP

    Boolean forceProper

    SetToSum(Double, SparseGP, Double, SparseGP)

    Sets this SparseGP distribution to the weighted sum of two other such distributions

    Declaration
    public void SetToSum(double weight1, SparseGP value1, double weight2, SparseGP value2)
    Parameters
    Type Name Description
    Double weight1
    SparseGP value1
    Double weight2
    SparseGP value2
    Remarks

    Not yet implemented

    SetToUniform()

    Sets to uniform

    Declaration
    public void SetToUniform()

    ToString()

    ToString override

    Declaration
    public override string ToString()
    Returns
    Type Description
    String

    String representation of instance

    Overrides
    Object.ToString()

    Uniform(SparseGPFixed)

    Creates a uniform sparse GP

    Declaration
    public static SparseGP Uniform(SparseGPFixed sgpf)
    Parameters
    Type Name Description
    SparseGPFixed sgpf
    Returns
    Type Description
    SparseGP

    Variance(Vector)

    Predictive Variance at a given point

    Declaration
    public double Variance(Vector X)
    Parameters
    Type Name Description
    Vector X

    Input

    Returns
    Type Description
    Double

    Predictive variance

    Operators

    Division(SparseGP, SparseGP)

    Creates a new SparseGP which the ratio of two other SparseGPs

    Declaration
    public static SparseGP operator /(SparseGP numerator, SparseGP denominator)
    Parameters
    Type Name Description
    SparseGP numerator

    numerator SparseGP

    SparseGP denominator

    denominator SparseGP

    Returns
    Type Description
    SparseGP

    Result

    Multiply(SparseGP, SparseGP)

    Creates a new SparseGP which the product of two other SparseGPs

    Declaration
    public static SparseGP operator *(SparseGP a, SparseGP b)
    Parameters
    Type Name Description
    SparseGP a

    First SparseGP

    SparseGP b

    Second SparseGP

    Returns
    Type Description
    SparseGP

    Result

    Implements

    IGaussianProcess
    IDistribution<T>
    IDistribution
    System.ICloneable
    Diffable
    SettableToUniform
    HasPoint<T>
    CanGetLogProb<T>
    SettableTo<T>
    SettableToProduct<T>
    SettableToProduct<T, U>
    SettableToRatio<T>
    SettableToRatio<T, U>
    SettableToPower<T>
    SettableToWeightedSum<T>
    CanGetLogAverageOf<T>
    CanGetLogAverageOfPower<T>
    CanGetAverageLog<T>
    CanGetMean<MeanType>
    Sampleable<T>
    In This Article
    Back to top Copyright © .NET Foundation. All rights reserved.