Package samer.models

Class IIDPrior

  • All Implemented Interfaces:
    Model, Task


    public class IIDPrior
    extends AnonymousTask
    implements Model
    Non adaptive model of vector in which each component is independent of the others and all are identically distributed according to a given prior
    See Also:
    Serialized Form
    • Constructor Detail

      • IIDPrior

        public IIDPrior(int n)
      • IIDPrior

        public IIDPrior(int N,
                        Function f)
      • IIDPrior

        public IIDPrior(Vec in)
    • Method Detail

      • getSize

        public int getSize()
        Description copied from interface: Model
        return size of vector this model expects
        Specified by:
        getSize in interface Model
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • setInput

        public void setInput(Vec input)
        Description copied from interface: Model
        model should begin observing this vector
        Specified by:
        setInput in interface Model
      • setLogPrior

        public void setLogPrior(Function f)
      • getEnergyVector

        public VVector getEnergyVector()
      • getEnergySignal

        public VDouble getEnergySignal()
      • getEnergy

        public double getEnergy()
        Description copied from interface: Model
        return E = -log p(x)
        Specified by:
        getEnergy in interface Model
      • getGradient

        public double[] getGradient()
        Description copied from interface: Model
        return dE/dx
        Specified by:
        getGradient in interface Model
      • infer

        public void infer()
        Description copied from interface: Model
        should infer values latent variables
        Specified by:
        infer in interface Model
      • compute

        public void compute()
        Description copied from interface: Model
        contract is that getEnergy and getGradient must return correct values for current x after infer and compute has been called, but not necessarily before. This is to give model an opportunity to cache values of energy and gradient to avoid repeated computations.
        Specified by:
        compute in interface Model
      • functionx

        public Functionx functionx()
        Description copied from interface: Model
        This presents a more functional interface to the model so that it can be driven by an optimiser. See classes Functionx and MinimiserBase in package samer.maths.opt.
        Specified by:
        functionx in interface Model
      • run

        public void run()
        Specified by:
        run in interface Task