SurpriseModelPM Class Reference

A single-Poisson/Gamma SurpriseModel with inertia. More...

#include <Surprise/SurpriseModel.H>

Inheritance diagram for SurpriseModelPM:
Inheritance graph
[legend]
Collaboration diagram for SurpriseModelPM:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 SurpriseModelPM (const double updatefac=0.5, const double sampleval=0.0, const double samplevar=1.0)
 Constructor. See base class for details.
virtual ~SurpriseModelPM ()
 Virtual destructor ensures proper destruction of derived classes.
virtual void reset ()
 Reset to initial state.
virtual void init (const double updatefac=0.5, const double sampleval=0.0, const double samplevar=1.0)
 Change intial state parameters.
virtual void load (const double sampleval, const double samplevar=1.0)
 Load given sample mean and variance.
virtual double surprise (const SurpriseModelPM &other)
 Compute surprise between us and another model.
virtual void preComputeHyperParams (const SurpriseModelPM &sample)
 pre compute alpha and beta terms before calling combine from
virtual void combineFrom (const Image< SurpriseModelPM > &models, const Image< float > &weights)
 Initialize us as a weighted combination of the given map of models.
virtual void combineFrom (const Image< SurpriseModelPM > &models, const Image< float > &weights, const Point2D< int > &pos, const int width, const int height, const int offset)
 Initialize us as a weighted combination of the given map of models.
virtual double getMean () const
 get our mean
virtual double getVar () const
 get our variance
virtual double getUpdateFac () const
 get our UpdateFac

Protected Attributes

int itsN
 our sample N
double itsSample
double itsAlpha0
 our current Gamma alpha
double itsAlpha1
 our current Gamma alpha
double itsAlpha2
 our current Gamma alpha
double itsBeta0
 our current Gamma beta
double itsBeta1
 our current Gamma beta
double itsBeta2
 our current Gamma beta
double itsInitBeta
 Initial Value of beta.
double itsExpectAlpha1
 The expected value of alpha1.
double itsExpectAlpha2
 The expected value of alpha2.
double itsXBar1
 The estimated value of alpha1.
double itsXBar2
 The estimated value of alpha2.
double itsLgamma1
 Computing lgamma is expensive, so we keep it.
double itsLgamma2
 Computing lgamma is expensive, so we keep it.

Detailed Description

A single-Poisson/Gamma SurpriseModel with inertia.

This is a very simple SurpriseModel consisting of a single Gamma prior over Poisson, which is updated in a sliding-average manner.

Definition at line 636 of file SurpriseModel.H.


Constructor & Destructor Documentation

SurpriseModelPM::SurpriseModelPM ( const double  updatefac = 0.5,
const double  sampleval = 0.0,
const double  samplevar = 1.0 
)

Constructor. See base class for details.

Definition at line 1179 of file SurpriseModel.C.

References itsAlpha0, itsAlpha1, itsAlpha2, itsBeta0, itsBeta1, itsBeta2, itsExpectAlpha1, itsExpectAlpha2, itsInitBeta, itsXBar1, and itsXBar2.

SurpriseModelPM::~SurpriseModelPM (  )  [virtual]

Virtual destructor ensures proper destruction of derived classes.

Definition at line 1201 of file SurpriseModel.C.


Member Function Documentation

void SurpriseModelPM::combineFrom ( const Image< SurpriseModelPM > &  models,
const Image< float > &  weights,
const Point2D< int > &  pos,
const int  width,
const int  height,
const int  offset 
) [inline, virtual]
void SurpriseModelPM::combineFrom ( const Image< SurpriseModelPM > &  models,
const Image< float > &  weights 
) [inline, virtual]

Initialize us as a weighted combination of the given map of models.

Definition at line 1277 of file SurpriseModel.C.

double SurpriseModelPM::getMean (  )  const [inline, virtual]

get our mean

Implements SurpriseModel.

Definition at line 1357 of file SurpriseModel.C.

References itsAlpha2, and itsBeta2.

double SurpriseModelPM::getUpdateFac (  )  const [inline, virtual]

get our UpdateFac

Implements SurpriseModel.

Definition at line 1365 of file SurpriseModel.C.

References SurpriseModel::itsUpdateFac.

double SurpriseModelPM::getVar (  )  const [inline, virtual]

get our variance

Implements SurpriseModel.

Definition at line 1361 of file SurpriseModel.C.

References itsAlpha2, and itsBeta2.

void SurpriseModelPM::init ( const double  updatefac = 0.5,
const double  sampleval = 0.0,
const double  samplevar = 1.0 
) [inline, virtual]

Change intial state parameters.

Reimplemented from SurpriseModel.

Definition at line 1209 of file SurpriseModel.C.

References load().

void SurpriseModelPM::load ( const double  sampleval,
const double  samplevar = 1.0 
) [inline, virtual]

Load given sample mean and variance.

Implements SurpriseModel.

Definition at line 1218 of file SurpriseModel.C.

Referenced by init(), and reset().

void SurpriseModelPM::preComputeHyperParams ( const SurpriseModelPM sample  )  [inline, virtual]

pre compute alpha and beta terms before calling combine from

Definition at line 1237 of file SurpriseModel.C.

References itsAlpha0, itsAlpha1, itsAlpha2, itsBeta1, itsBeta2, itsExpectAlpha1, itsExpectAlpha2, itsLgamma1, itsLgamma2, SurpriseModel::itsUpdateFac, itsXBar1, and itsXBar2.

void SurpriseModelPM::reset ( void   )  [inline, virtual]

Reset to initial state.

Implements SurpriseModel.

Definition at line 1205 of file SurpriseModel.C.

References SurpriseModel::itsInitialVal, SurpriseModel::itsInitialVar, and load().

double SurpriseModelPM::surprise ( const SurpriseModelPM other  )  [inline, virtual]

Compute surprise between us and another model.

Definition at line 1225 of file SurpriseModel.C.

References itsAlpha1, itsAlpha2, itsBeta1, and itsBeta2.


Member Data Documentation

double SurpriseModelPM::itsAlpha0 [protected]

our current Gamma alpha

Definition at line 685 of file SurpriseModel.H.

Referenced by preComputeHyperParams(), and SurpriseModelPM().

double SurpriseModelPM::itsAlpha1 [protected]

our current Gamma alpha

Definition at line 686 of file SurpriseModel.H.

Referenced by combineFrom(), preComputeHyperParams(), surprise(), and SurpriseModelPM().

double SurpriseModelPM::itsAlpha2 [protected]

our current Gamma alpha

Definition at line 687 of file SurpriseModel.H.

Referenced by combineFrom(), getMean(), getVar(), preComputeHyperParams(), surprise(), and SurpriseModelPM().

double SurpriseModelPM::itsBeta0 [protected]

our current Gamma beta

Definition at line 688 of file SurpriseModel.H.

Referenced by SurpriseModelPM().

double SurpriseModelPM::itsBeta1 [protected]

our current Gamma beta

Definition at line 689 of file SurpriseModel.H.

Referenced by combineFrom(), preComputeHyperParams(), surprise(), and SurpriseModelPM().

double SurpriseModelPM::itsBeta2 [protected]

our current Gamma beta

Definition at line 690 of file SurpriseModel.H.

Referenced by combineFrom(), getMean(), getVar(), preComputeHyperParams(), surprise(), and SurpriseModelPM().

The expected value of alpha1.

Definition at line 692 of file SurpriseModel.H.

Referenced by combineFrom(), preComputeHyperParams(), and SurpriseModelPM().

The expected value of alpha2.

Definition at line 693 of file SurpriseModel.H.

Referenced by combineFrom(), preComputeHyperParams(), and SurpriseModelPM().

double SurpriseModelPM::itsInitBeta [protected]

Initial Value of beta.

Definition at line 691 of file SurpriseModel.H.

Referenced by combineFrom(), and SurpriseModelPM().

double SurpriseModelPM::itsLgamma1 [protected]

Computing lgamma is expensive, so we keep it.

Definition at line 696 of file SurpriseModel.H.

Referenced by preComputeHyperParams().

double SurpriseModelPM::itsLgamma2 [protected]

Computing lgamma is expensive, so we keep it.

Definition at line 697 of file SurpriseModel.H.

Referenced by preComputeHyperParams().

int SurpriseModelPM::itsN [protected]

our sample N

Definition at line 682 of file SurpriseModel.H.

double SurpriseModelPM::itsXBar1 [protected]

The estimated value of alpha1.

Definition at line 694 of file SurpriseModel.H.

Referenced by preComputeHyperParams(), and SurpriseModelPM().

double SurpriseModelPM::itsXBar2 [protected]

The estimated value of alpha2.

Definition at line 695 of file SurpriseModel.H.

Referenced by preComputeHyperParams(), and SurpriseModelPM().


The documentation for this class was generated from the following files:
Generated on Sun May 8 08:26:05 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3