User Documentation
Centre for Vision, Speech & Signal Processing
DEVELOP IN NAMESPACE AMMA TREE ROOT AMMA SEARCH AMMA HOME
 

  PUBLIC
NormalRBFuncC::NormalRBFuncC(void)
NormalRBFuncC::NormalRBFuncC(UIntT)
NormalRBFuncC::NormalRBFuncC(istream &)
NormalRBFuncC::NormalRBFuncC(const SArray1dC &,const VectorC &)
NormalRBFuncC::NormalRBFuncC(const Array1dC &,const VectorC &)
NormalRBFuncC::NormalRBFuncC(const VectorC &,const MatrixC &)
NormalRBFuncC::Copy(void) const
NormalRBFuncC::Join(const NormalRBFuncC &)
NormalRBFuncC::Normalise(void)
NormalRBFuncC::Save(ostream &) const
NormalRBFuncC::Save(FilenameC &) const
NormalRBFuncC::NegLogLikelihood(const DListC &) const
NormalRBFuncC::ExpectationMaximization(const DListC &)
NormalRBFuncC::EM(const DListC &)
NormalRBFuncC::ProbPcaEM(const DListC &,UIntT)
NormalRBFuncC::Update(const DListC &,RealT,BooleanT)
NormalRBFuncC::Size(void) const
NormalRBFuncC::Dim(void) const
NormalRBFuncC::Weights(void) const
NormalRBFuncC::Weights(const VectorC &)
NormalRBFuncC::Parameters(void) const
NormalRBFuncC::Parameters(const SArray1dC &)
NormalRBFuncC::getInvCov(void) const
NormalRBFuncC::setInvCov(const SArray1dC &)
NormalRBFuncC::getDet(void) const
NormalRBFuncC::setDet(const SArray1dC &)
NormalRBFuncC::Array(void) const
NormalRBFuncC::Posterior(const VectorC &,UIntT)
NormalRBFuncC::PosteriorProb(const VectorC &)
NormalRBFuncC::Init(void) const
NormalRBFuncC::Init(BooleanT)
NormalRBFuncC::FullCovMatrix(void) const
NormalRBFuncC::FullCovMatrix(BooleanT)
NormalRBFuncC::L2norm(const NormalRBFuncC &) const
NormalRBFuncC::Group(void) const
NormalRBFuncC::Group(const SArray1dC &) const
NormalRBFuncC::GroupOR(const SArray1dC &) const
NormalRBFuncC::GroupEuclid(const SArray1dC &) const
NormalRBFuncC::GroupMahal(const SArray1dC &) const
NormalRBFuncC::GroupBattachar(const SArray1dC &) const
NormalRBFuncC::GroupLabel(const DListC &,const VectorC &) const
NormalRBFuncC::GroupLabel(const DListC &,const DListC &) const
NormalRBFuncC::PredictedProb(const WindowT &) const
NormalRBFuncC::PredictedProb(const WindowT &,IntT,IntT) const
NormalRBFuncC::InsertComponent(const VectorC &,const MatrixC &,const RealT)
NormalRBFuncC::operator<<(ostream &,const NormalRBFuncC &)
NormalRBFuncC::operator>>(istream &,NormalRBFuncC &)
NumFuncC::IsA(const DPEntityC &)
NumFuncC::Copy(void) const
NumFuncC::operator=(const NumFuncC &)
NumFuncC::Evaluate(const VectorC &) const
NumFuncC::Evaluate(const DListC &) const
NumFuncC::operator()(const VectorC &) const
NumFuncC::Jacobian(const VectorC &) const
NumFuncC::GetInfo(void) const
NumFuncC::GetName(void) const
NumFuncC::SizeX(void) const
NumFuncC::SizeY(void) const
NumFuncC::Save(ostream &) const
DPProcessC::Apply(const InT &)
DPProcessC::ApplyArray(const SArray1dC &,SArray1dC &)
DPProcessC::operator=(const DPProcessC &)
DPProcessC::Copy(void) const
DPProcessBaseC::InputType(void) const
DPProcessBaseC::OutputType(void) const
DPProcessBaseC::IsStateless(void) const
DPProcessBaseC::OpType(void) const
DPProcessBaseC::operator=(const DPProcessBaseC &)
DPEntityC::operator=(const DPEntityC &)
DPEntityC::Body(void)
DPEntityC::Body(void) const
DPEntityC::Save(ostream &) const
RCHandleAC::Abstract(void)
RCHandleAC::IsHandleType(const DT &) const
RCHandleAC::CheckHandleType(const DT &) const
RCHandleAC::Save(ostream &) const
RCHandleAC::Copy(void) const
RCHandleC::IsValid(void) const
RCHandleC::IsValidObject(void) const
RCHandleC::operator=(const RCHandleC &)
RCHandleC::operator==(const RCHandleC &) const
RCHandleC::operator!=(const RCHandleC &) const
RCHandleC::Hash(void) const
RCHandleC::IsConst(void) const
RCHandleC::IsNotConst(void) const
RCHandleC::SetConst(void) const
RCHandleC::Invalidate(void)
RCHandleC::Body(void)
RCHandleC::Body(void) const
NormalRBFuncC
 
Computes normal parameters of a set of unlabbelled data using EM alg
 
include "amma/Num/NormalRBFunc.hh"
User Level:Default
Library:NumRBF
Example:doNormalRbf.cc
Section:Pattern Recognition.Radial Basis Functions
In Scope:std

Comments:
This function estimates a PDF as a Gausian mixture. It can be constructed from a set of data points. The parameters of the gaussians are then estimated using the Expectation Maximisation algorithm (Dempster et al (1977) J. Royal Statistical Society Series B, 39:1-38).

Parent Classes: Methods:
NormalRBFuncC()
empty constructor

NormalRBFuncC(UIntT mixes)
Construct RBF from unlabelled data using a specified number of mixes
mixesThe number of gaussians you require in your mixture

NormalRBFuncC(istream & in)
Construct from the input stream

NormalRBFuncC(const SArray1dC<VecMatC> & params,const VectorC & weights)
Construct from user given class parameters
paramsarray of distribution statistics. Each VecMatC contains the mean and covariance for the class corresponding to its index value in the array.
weightsvector containing weighting coefficient for each Gaussian mixture.

NormalRBFuncC(const Array1dC<VecMatC> & params,const VectorC & weights)
Construct from user given class parameters
paramsarray of distribution statistics. Each VecMatC contains the mean and covariance for the class corresponding to its index value in the array.
weightsvector containing weighting coefficient for each Gaussian mixture.

NormalRBFuncC(const VectorC & mean,const MatrixC & cov)
Construct a single component mixture model with mean and covariance
meanmean vector.
covcovariance matrix.

NormalRBFuncC Copy() const
Makes a deep copy and is virtual

Methods exclusive to RBF


void Join(const NormalRBFuncC & rbf)
Joins two models together. It will also normalise the weights

void Normalise()
Normalises the weights

void Save(ostream & out) const
Save the model to stream

void Save(FilenameC & out) const
Save the model to file

RealT NegLogLikelihood(const DListC<VectorC> & data) const
Calculate the likelihood of the data given the model
datathe data

BooleanT ExpectationMaximization(const DListC<VectorC> & data)
Performs the standard batch-mode EM algorithm on the data in the list
datatraining vectors

BooleanT EM(const DListC<VectorC> & data)
Performs the standard batch-mode EM algorithm on the data in the list (slower version of above)
datatraining vectors

BooleanT ProbPcaEM(const DListC<VectorC> & data,UIntT dimen)
Performs the Probabilistic PCA version of EM Algorithm
datatraining vectors

BooleanT Update(const DListC<VectorC> & data,RealT alpha = 0.1,BooleanT freqSen = FALSE)
Performs the on-line version of the EM algorithm on the data in the list. The model is updated after each point. Each point in the list is only presented once. This routine should be used when a temporal stream of data is available. The batch EM is computationally safer!
data training vectors
alpha learning rate
freqSenuse frequency sensitive version of alg. (only use if you know what it is and what it does).

UIntT Size() const
Number of Gaussian mixtures used to represent distribution

UIntT Dim() const
Number of Gaussian mixtures used to represent distribution

VectorC Weights() const
Access to the mixing coefficients

void Weights(const VectorC & w)
Set the mixing coefficients

SArray1dC<VecMatC> Parameters() const
Access to the means and covariances of the mixture

void Parameters(const SArray1dC<VecMatC> & p)
Set the covariance matrices and means of the mixture

SArray1dC<MatrixC> getInvCov() const
Access to the inverse of the covariances matrices

void setInvCov(const SArray1dC<MatrixC> & p)
Set the inverse of the covariance matrix

SArray1dC<RealT> getDet() const
Access to the determinants

void setDet(const SArray1dC<RealT> & p)
Set the determinants

Array1dC<VecMatC> Array() const
Array access to parameters

RealT Posterior(const VectorC & X,UIntT index)
Calculate normalised posterior prob for X and mixture index

VectorC PosteriorProb(const VectorC & X)
Calculate normalised posterior probs for all inputs

BooleanT Init() const
Check status of initialisation flag

void Init(BooleanT flag)
Set status of initiliasation flag

BooleanT FullCovMatrix() const
Toggle between full and diagonal covariance matrices

void FullCovMatrix(BooleanT flag)
Set covariances matrix to FULL or DIAG

RealT L2norm(const NormalRBFuncC & rbf) const
Set covariances matrix to FULL or DIAG

DListC<NormalRBFuncC> Group() const
Group the components using PEAKS method

DListC<NormalRBFuncC> Group(const SArray1dC<VecMatC> & compStats) const
Group the components using STATS method

DListC<NormalRBFuncC> GroupOR(const SArray1dC<VecMatC> & compStats) const
Group the components using both PEAKS then STATS

DListC<NormalRBFuncC> GroupEuclid(const SArray1dC<VectorC> & groupsMean) const
Group the components according to Euclidean distance of the components to the desired mean

DListC<NormalRBFuncC> GroupMahal(const SArray1dC<VecMatC> & groupsParams) const
Group the components according to Mahalanobis distance of the components to the global model components

DListC<NormalRBFuncC> GroupBattachar(const SArray1dC<VecMatC> & groupsParams) const
Group the components according to Battacharya distance of the components to the global model components

NumLabelC GroupLabel(const DListC<NormalRBFuncC> & group,const VectorC & X) const
Labeling of the vector X using groups of NormalRBFunc

DListC<NumLabelC> GroupLabel(const DListC<NormalRBFuncC> & group,const DListC<VectorC> & L) const
Labeling of the vector X using groups of NormalRBFunc

RealT PredictedProb(const WindowT & win) const
Calculate the predicted probability in a given window Uses vegas if FULL covariances matrices used

RealT PredictedProb(const WindowT & win,IntT ncall,IntT itmx) const
Calculate the predicted probability in a given window Uses vegas if FULL covariances matrices used

void InsertComponent(const VectorC & mn,const MatrixC & cov,const RealT wt)
Calculate the predicted probability in a given window Uses vegas if FULL covariances matrices used

ostream & operator<<(ostream & s,const NormalRBFuncC & out)
output stream operator

istream & operator>>(istream & s,NormalRBFuncC & in)
input stream operator

#include "amma/Num/NumFunc.hh"
BooleanT IsA(const DPEntityC & pb)
Check if an object is a NumFuncC.

NumFuncC Copy() const
Makes a deep copy

NumFuncC & operator=(const NumFuncC & oth)
Assignment operator

VectorC Evaluate(const VectorC & X) const
Evaluates function Y=f(X)

DListC<VectorC> Evaluate(const DListC<VectorC> & listX) const
Evaluates function Y=f(X) for a list of X

VectorC operator()(const VectorC & X) const
Evaluates function Y=f(X)

MatrixC Jacobian(const VectorC & X) const
Evaluates Jacobian df(X)/dX
Note that this is not const=0 since the base class will calculate a numerical estimate of the Jacobian using differences if the member function is not overloaded in derived classes to provide an analytical solution.

const StringC GetInfo() const
Gets string describing object

const StringC GetName() const
Gets type name of the object

UIntT SizeX() const
Input vector dimension

UIntT SizeY() const
Output vector dimension

BooleanT Save(ostream & out) const
Writes object to stream, cna be loaded using constructor

#include "amma/DP/Process.hh"
VectorC Apply(const VectorC & dat)
Apply operation.
NB. This may become constant in the future, but the situation isn't clear at the moment.

IntT ApplyArray(const SArray1dC<VectorC> & in,SArray1dC<VectorC> & out)
Streaming version.

const DPProcessC<VectorC,VectorC> operator=(const DPProcessC<VectorC,VectorC> & in)
Assignment operator

const DPProcessC<VectorC,VectorC> Copy() const
Make a copy of this process. Some type defs.

const type_info & InputType() const
Get input type.

const type_info & OutputType() const
Get input type.

BooleanT IsStateless() const
Is operation stateless ?

DPProcessBaseBodyC::ProcTypeT OpType() const
Operation type lossy/lossless.

const DPProcessBaseC & operator=(const DPProcessBaseC & oth)
Assignment operator.

#include "amma/DP/Entity.hh"
const DPEntityC & operator=(const DPEntityC & dat)
Assignment.

DPEntityBodyC & Body()
Access body.

const DPEntityBodyC & Body() const
Access body.

BooleanT Save(ostream & out) const

#include "amma/RCHandleA.hh"
RCAbstractC Abstract()
Create an abstract handle to this object.

BooleanT IsHandleType(const DT &) const
Is handle of given type ?

void CheckHandleType(const DT & dummy) const
Check handle type. Throw an expception if not.

BooleanT Save(ostream & out) const
Save to ostream.

RCHandleAC<DPEntityBodyC> Copy() const
Creat a deep copy of this object.
protected:

#include "amma/RCHandle.hh"
BooleanT IsValid() const
Check its a valid handle.

BooleanT IsValidObject() const
Check its a valid handle, and that the object is pointed to is also valid.

RCHandleC<DPEntityBodyC> & operator=(const RCHandleC<DPEntityBodyC> & oth)
Assignment.

BooleanT operator==(const RCHandleC<DPEntityBodyC> & oth) const
Comparison operator.

BooleanT operator!=(const RCHandleC<DPEntityBodyC> & oth) const
Comparison operator.

UIntT Hash() const
Hash function.x

BooleanT IsConst() const
Is object constant ?

BooleanT IsNotConst() const
Is object not constant ?

void SetConst(void) const
Lock the object.
This is const as a convience though it actual modified the object, often object you wish to ensure are constant already have const set. protected:

void Invalidate()
Turn this into an invalid handle.

DPEntityBodyC & Body()
Direct access to body.

const DPEntityBodyC & Body() const
Constant access to body.


Programmer:Kieron Messer, Documentation by CxxDoc: Tue Mar 20 10:48:08 2001