Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

PLearn::NllSemisphericalGaussianVariable Class Reference

This class implements the negative log-likelihood cost of a Markov chain that uses semispherical gaussian transition probabilities. More...

#include <NllSemisphericalGaussianVariable.h>

Inheritance diagram for PLearn::NllSemisphericalGaussianVariable:

Inheritance graph
[legend]
Collaboration diagram for PLearn::NllSemisphericalGaussianVariable:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 NllSemisphericalGaussianVariable ()
 Default constructor for persistence.

 NllSemisphericalGaussianVariable (const VarArray &the_varray, bool that_use_noise, real theepsilon)
 PLEARN_DECLARE_OBJECT (NllSemisphericalGaussianVariable)
virtual void build ()
 Should call simply inherited::build(), then this class's build_().

virtual void recomputeSize (int &l, int &w) const
 Recomputes the length l and width w that this variable should have, according to its parent variables.

virtual void fprop ()
 compute output given input

virtual void bprop ()
virtual void symbolicBprop ()
 compute a piece of new Var graph that represents the symbolic derivative of this Var


Public Attributes

int n
bool use_subspace_distance
bool use_noise
real epsilon
int n_dim
int n_neighbors
Vec mu
Vec sm
Vec sn
Vec S
Vec noise
Vec mu_noisy
Mat F
Mat diff_y_x
Mat z
Mat B
Mat Ut
Mat V
Mat zn
Mat zm
Mat z_noisy
Mat zn_noisy
Mat zm_noisy
Vec p_neighbors
Vec p_target
Mat w

Protected Member Functions

void build_ ()

Private Types

typedef NaryVariable inherited

Detailed Description

This class implements the negative log-likelihood cost of a Markov chain that uses semispherical gaussian transition probabilities.

The parameters of the semispherical gaussians are a tangent plane, two variances, one mean and the distance of the point with its nearest neighbors. The two variances correspond to the shared variance of every manifold directions and of every noise directions. This variable is used to do gradient descent on the parameters, but not to estimate de likelihood of the Markov chain a some point, which is more complex to estimate.

Definition at line 56 of file NllSemisphericalGaussianVariable.h.


Member Typedef Documentation

typedef NaryVariable PLearn::NllSemisphericalGaussianVariable::inherited [private]
 

Reimplemented from PLearn::NaryVariable.

Definition at line 58 of file NllSemisphericalGaussianVariable.h.

Referenced by NllSemisphericalGaussianVariable().


Constructor & Destructor Documentation

PLearn::NllSemisphericalGaussianVariable::NllSemisphericalGaussianVariable  )  [inline]
 

Default constructor for persistence.

Definition at line 73 of file NllSemisphericalGaussianVariable.h.

PLearn::NllSemisphericalGaussianVariable::NllSemisphericalGaussianVariable const VarArray the_varray,
bool  that_use_noise,
real  theepsilon
 

Definition at line 66 of file NllSemisphericalGaussianVariable.cc.

References build_(), and inherited.


Member Function Documentation

void PLearn::NllSemisphericalGaussianVariable::bprop  )  [virtual]
 

Implements PLearn::Variable.

Definition at line 233 of file NllSemisphericalGaussianVariable.cc.

References PLearn::exp(), F, PLearn::TVec< T >::length(), PLearn::TMat< T >::length(), mu, mu_noisy, n, n_dim, n_neighbors, p_neighbors, p_target, PLearn::pownorm(), sm, sn, use_noise, w, PLearn::TMat< T >::width(), zm, zm_noisy, zn, and zn_noisy.

void PLearn::NllSemisphericalGaussianVariable::build  )  [virtual]
 

Should call simply inherited::build(), then this class's build_().

This method should be callable again at later times, after modifying some option fields to change the "architecture" of the object.

Reimplemented from PLearn::Variable.

Definition at line 75 of file NllSemisphericalGaussianVariable.cc.

References build_().

void PLearn::NllSemisphericalGaussianVariable::build_  )  [protected]
 

This method should be redefined in subclasses and do the actual building of the object according to previously set option fields. Constructors can just set option fields, and then call build_. This method is NOT virtual, and will typically be called only from three places: a constructor, the public virtual build() method, and possibly the public virtual read method (which calls its parent's read). build_() can assume that it's parent's build_ has already been called.

Reimplemented from PLearn::Variable.

Definition at line 82 of file NllSemisphericalGaussianVariable.cc.

References B, diff_y_x, F, PLearn::Variable::length(), PLearn::TVec< Var >::length(), mu, mu_noisy, n, n_dim, n_neighbors, noise, p_neighbors, p_target, PLERROR, PLearn::TMat< T >::resize(), sm, sn, Ut, V, w, PLearn::Variable::width(), z, z_noisy, zm, zm_noisy, zn, and zn_noisy.

Referenced by build(), and NllSemisphericalGaussianVariable().

void PLearn::NllSemisphericalGaussianVariable::fprop  )  [virtual]
 

compute output given input

Implements PLearn::Variable.

Definition at line 151 of file NllSemisphericalGaussianVariable.cc.

References B, PLearn::TMat< T >::clear(), diff_y_x, epsilon, F, F, k, PLearn::lapackSVD(), PLearn::TVec< T >::length(), PLearn::TMat< T >::length(), PLearn::log(), Log2Pi, mu, mu_noisy, n, n_dim, n_neighbors, noise, PLearn::pownorm(), PLearn::product(), PLearn::TMat< T >::resize(), S, sm, sn, PLearn::substract(), PLearn::transposeProduct(), Ut, V, w, PLearn::TMat< T >::width(), z, z_noisy, zm, zm_noisy, zn, and zn_noisy.

PLearn::NllSemisphericalGaussianVariable::PLEARN_DECLARE_OBJECT NllSemisphericalGaussianVariable   ) 
 

void PLearn::NllSemisphericalGaussianVariable::recomputeSize int l,
int w
const [virtual]
 

Recomputes the length l and width w that this variable should have, according to its parent variables.

This is used for ex. by sizeprop() The default version stupidly returns the current dimensions, so make sure to overload it in subclasses if this is not appropriate.

Reimplemented from PLearn::Variable.

Definition at line 145 of file NllSemisphericalGaussianVariable.cc.

References PLearn::TVec< Var >::length().

void PLearn::NllSemisphericalGaussianVariable::symbolicBprop  )  [virtual]
 

compute a piece of new Var graph that represents the symbolic derivative of this Var

Reimplemented from PLearn::Variable.

Definition at line 271 of file NllSemisphericalGaussianVariable.cc.

References PLERROR.


Member Data Documentation

Mat PLearn::NllSemisphericalGaussianVariable::B
 

Definition at line 68 of file NllSemisphericalGaussianVariable.h.

Referenced by build_(), and fprop().

Mat PLearn::NllSemisphericalGaussianVariable::diff_y_x
 

Definition at line 68 of file NllSemisphericalGaussianVariable.h.

Referenced by build_(), and fprop().

real PLearn::NllSemisphericalGaussianVariable::epsilon
 

Definition at line 64 of file NllSemisphericalGaussianVariable.h.

Referenced by fprop().

Mat PLearn::NllSemisphericalGaussianVariable::F
 

Definition at line 68 of file NllSemisphericalGaussianVariable.h.

Referenced by bprop(), build_(), and fprop().

Vec PLearn::NllSemisphericalGaussianVariable::mu
 

Definition at line 67 of file NllSemisphericalGaussianVariable.h.

Referenced by bprop(), build_(), and fprop().

Vec PLearn::NllSemisphericalGaussianVariable::mu_noisy
 

Definition at line 67 of file NllSemisphericalGaussianVariable.h.

Referenced by bprop(), build_(), and fprop().

int PLearn::NllSemisphericalGaussianVariable::n
 

Definition at line 61 of file NllSemisphericalGaussianVariable.h.

Referenced by bprop(), build_(), and fprop().

int PLearn::NllSemisphericalGaussianVariable::n_dim
 

Definition at line 65 of file NllSemisphericalGaussianVariable.h.

Referenced by bprop(), build_(), and fprop().

int PLearn::NllSemisphericalGaussianVariable::n_neighbors
 

Definition at line 66 of file NllSemisphericalGaussianVariable.h.

Referenced by bprop(), build_(), and fprop().

Vec PLearn::NllSemisphericalGaussianVariable::noise
 

Definition at line 67 of file NllSemisphericalGaussianVariable.h.

Referenced by build_(), and fprop().

Vec PLearn::NllSemisphericalGaussianVariable::p_neighbors
 

Definition at line 69 of file NllSemisphericalGaussianVariable.h.

Referenced by bprop(), and build_().

Vec PLearn::NllSemisphericalGaussianVariable::p_target
 

Definition at line 69 of file NllSemisphericalGaussianVariable.h.

Referenced by bprop(), and build_().

Vec PLearn::NllSemisphericalGaussianVariable::S
 

Definition at line 67 of file NllSemisphericalGaussianVariable.h.

Referenced by fprop().

Vec PLearn::NllSemisphericalGaussianVariable::sm
 

Definition at line 67 of file NllSemisphericalGaussianVariable.h.

Referenced by bprop(), build_(), and fprop().

Vec PLearn::NllSemisphericalGaussianVariable::sn
 

Definition at line 67 of file NllSemisphericalGaussianVariable.h.

Referenced by bprop(), build_(), and fprop().

bool PLearn::NllSemisphericalGaussianVariable::use_noise
 

Definition at line 63 of file NllSemisphericalGaussianVariable.h.

Referenced by bprop().

bool PLearn::NllSemisphericalGaussianVariable::use_subspace_distance
 

Definition at line 62 of file NllSemisphericalGaussianVariable.h.

Mat PLearn::NllSemisphericalGaussianVariable::Ut
 

Definition at line 68 of file NllSemisphericalGaussianVariable.h.

Referenced by build_(), and fprop().

Mat PLearn::NllSemisphericalGaussianVariable::V
 

Definition at line 68 of file NllSemisphericalGaussianVariable.h.

Referenced by build_(), and fprop().

Mat PLearn::NllSemisphericalGaussianVariable::w
 

Definition at line 70 of file NllSemisphericalGaussianVariable.h.

Referenced by bprop(), build_(), and fprop().

Mat PLearn::NllSemisphericalGaussianVariable::z
 

Definition at line 68 of file NllSemisphericalGaussianVariable.h.

Referenced by build_(), and fprop().

Mat PLearn::NllSemisphericalGaussianVariable::z_noisy
 

Definition at line 68 of file NllSemisphericalGaussianVariable.h.

Referenced by build_(), and fprop().

Mat PLearn::NllSemisphericalGaussianVariable::zm
 

Definition at line 68 of file NllSemisphericalGaussianVariable.h.

Referenced by bprop(), build_(), and fprop().

Mat PLearn::NllSemisphericalGaussianVariable::zm_noisy
 

Definition at line 68 of file NllSemisphericalGaussianVariable.h.

Referenced by bprop(), build_(), and fprop().

Mat PLearn::NllSemisphericalGaussianVariable::zn
 

Definition at line 68 of file NllSemisphericalGaussianVariable.h.

Referenced by bprop(), build_(), and fprop().

Mat PLearn::NllSemisphericalGaussianVariable::zn_noisy
 

Definition at line 68 of file NllSemisphericalGaussianVariable.h.

Referenced by bprop(), build_(), and fprop().


The documentation for this class was generated from the following files:
Generated on Tue Aug 17 16:25:21 2004 for PLearn by doxygen 1.3.7