FairRoot/PandaRoot
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
PndMvaSomTrainer Class Reference

#include <PndMvaSOMTrainer.h>

Public Member Functions

 PndMvaSomTrainer (DataPoints const *const InputData, size_t mapWidth, size_t mapHeight, size_t numIter, MapNodeInitType initType=SOM_RAND_FROM_DATA, GridInitType gridInitType=RECTANGULAR)
 
virtual ~PndMvaSomTrainer ()
 
virtual void InitMap ()
 
virtual void TrainBatch ()
 
virtual void TrainOnline ()
 
virtual void Calibrate ()
 
std::vector< PndSomNode * > const & GetTheMap () const
 
DataPoints const & GetInputDataSet () const
 
size_t GetNumNodes () const
 
void SetSigmaZero (double val)
 
double GetSigmaZero () const
 
void SetLambda (double val)
 
double GetLambda () const
 
void SetNodeInitType (MapNodeInitType val=SOM_RAND_FROM_DATA)
 
MapNodeInitType GetNodeInitType () const
 
size_t GetMapHeight () const
 
void SetMapHeight (size_t val)
 
size_t GetMapWidth () const
 
void SetMapWidth (size_t val)
 
size_t GetNumIterations () const
 
void SetNumIterations (size_t val)
 

Protected Member Functions

void printMapGrid () const
 

Private Member Functions

 PndMvaSomTrainer (PndMvaSomTrainer const &oth)
 
PndMvaSomTraineroperator= (PndMvaSomTrainer const &oth)
 
void InitGridRectAngular ()
 
void InitGridHexagonal ()
 
void InitMapnodes_RandomFromData ()
 
void InitMapnodes_Random ()
 
size_t FindBestMatchingNode (std::vector< float > const &vector)
 

Private Attributes

double m_sigmaZero
 
double m_lambda
 
double m_neighbourhoodRadius
 
size_t m_MapWidth
 
size_t m_MapHeight
 
size_t m_NumModelVectors
 
size_t m_NumIterations
 
MapNodeInitType m_InitMode
 
GridInitType m_GridType
 
std::vector< PndSomNode * > m_TheMap
 
DataPoints const * m_DataSet
 

Detailed Description

Definition at line 45 of file PndMvaSOMTrainer.h.

Constructor & Destructor Documentation

PndMvaSomTrainer::PndMvaSomTrainer ( DataPoints const *const  InputData,
size_t  mapWidth,
size_t  mapHeight,
size_t  numIter,
MapNodeInitType  initType = SOM_RAND_FROM_DATA,
GridInitType  gridInitType = RECTANGULAR 
)
explicit

Constructor.

Parameters
InputDataInput Data points.
mapWidthThe width of the SOM.
mapHeightThe height of the SOM.
numIterNumber of learning iterations.
initTypeThe scheme to initialize weight of each node.
virtual PndMvaSomTrainer::~PndMvaSomTrainer ( )
virtual

Destructor.

PndMvaSomTrainer::PndMvaSomTrainer ( PndMvaSomTrainer const &  oth)
private

Member Function Documentation

virtual void PndMvaSomTrainer::Calibrate ( )
virtual

Calibrate the map (post labeling). The current implementation uses the winner takes all scheme. The label with the largest count determines the node label. Note that also a list of all labels is kept in de node itself.

size_t PndMvaSomTrainer::FindBestMatchingNode ( std::vector< float > const &  vector)
private
DataPoints const & PndMvaSomTrainer::GetInputDataSet ( ) const
inline

Get the input data set.

Returns
The list of input data points.

Definition at line 213 of file PndMvaSOMTrainer.h.

References m_DataSet.

214 {
215  return (*(this->m_DataSet));
216 };
DataPoints const * m_DataSet
double PndMvaSomTrainer::GetLambda ( ) const
inline

Definition at line 238 of file PndMvaSOMTrainer.h.

References m_lambda.

239 {
240  return this->m_lambda;
241 };
size_t PndMvaSomTrainer::GetMapHeight ( ) const
inline

Map size.

Definition at line 248 of file PndMvaSOMTrainer.h.

References m_MapHeight.

249 {
250  return this->m_MapHeight;
251 };
size_t PndMvaSomTrainer::GetMapWidth ( ) const
inline

Definition at line 258 of file PndMvaSOMTrainer.h.

References m_MapWidth.

259 {
260  return this->m_MapWidth;
261 };
MapNodeInitType PndMvaSomTrainer::GetNodeInitType ( ) const
inline

Definition at line 243 of file PndMvaSOMTrainer.h.

References m_InitMode.

244 {
245  return this->m_InitMode;
246 };
MapNodeInitType m_InitMode
size_t PndMvaSomTrainer::GetNumIterations ( ) const
inline

Number of iteration (epochs, learning steps).

Definition at line 273 of file PndMvaSOMTrainer.h.

References m_NumIterations.

274 {
275  return this->m_NumIterations;
276 };
size_t PndMvaSomTrainer::GetNumNodes ( ) const
inline
Returns
The total number of map nodes.

Definition at line 268 of file PndMvaSOMTrainer.h.

References m_MapHeight, and m_MapWidth.

269 {
270  return (this->m_MapWidth * this->m_MapHeight);
271 };
double PndMvaSomTrainer::GetSigmaZero ( ) const
inline

Definition at line 233 of file PndMvaSOMTrainer.h.

References m_sigmaZero.

234 {
235  return this->m_sigmaZero;
236 };
std::vector< PndSomNode * > const & PndMvaSomTrainer::GetTheMap ( ) const
inline
Returns
The actual SOM.

Definition at line 208 of file PndMvaSOMTrainer.h.

References m_TheMap.

209 {
210  return this->m_TheMap;
211 };
std::vector< PndSomNode * > m_TheMap
void PndMvaSomTrainer::InitGridHexagonal ( )
private
void PndMvaSomTrainer::InitGridRectAngular ( )
private
virtual void PndMvaSomTrainer::InitMap ( )
virtual

Initialize the map according to the given scheme.

void PndMvaSomTrainer::InitMapnodes_Random ( )
private
void PndMvaSomTrainer::InitMapnodes_RandomFromData ( )
private
PndMvaSomTrainer& PndMvaSomTrainer::operator= ( PndMvaSomTrainer const &  oth)
private
void PndMvaSomTrainer::printMapGrid ( ) const
protected
void PndMvaSomTrainer::SetLambda ( double  val)
inline

Set initial value for lambda.

Definition at line 223 of file PndMvaSOMTrainer.h.

References m_lambda, and val.

224 {
225  this->m_lambda = val;
226 };
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
void PndMvaSomTrainer::SetMapHeight ( size_t  val)
inline

Definition at line 253 of file PndMvaSOMTrainer.h.

References m_MapHeight, and val.

254 {
255  this->m_MapHeight = val;
256 };
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
void PndMvaSomTrainer::SetMapWidth ( size_t  val)
inline

Definition at line 263 of file PndMvaSOMTrainer.h.

References m_MapWidth, and val.

264 {
265  this->m_MapWidth = val;
266 };
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
void PndMvaSomTrainer::SetNodeInitType ( MapNodeInitType  val = SOM_RAND_FROM_DATA)
inline

Set initialization method.

Definition at line 228 of file PndMvaSOMTrainer.h.

References m_InitMode, and val.

229 {
230  this->m_InitMode = val;
231 };
MapNodeInitType m_InitMode
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
void PndMvaSomTrainer::SetNumIterations ( size_t  val)
inline

Definition at line 278 of file PndMvaSOMTrainer.h.

References m_NumIterations, and val.

279 {
280  this->m_NumIterations = val;
281 };
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
void PndMvaSomTrainer::SetSigmaZero ( double  val)
inline

Set initial value for sigma.

Definition at line 218 of file PndMvaSOMTrainer.h.

References m_sigmaZero, and val.

219 {
220  this->m_sigmaZero = val;
221 };
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
virtual void PndMvaSomTrainer::TrainBatch ( )
virtual

Train map using batch schema. All available data vectors are presented at once.

virtual void PndMvaSomTrainer::TrainOnline ( )
virtual

Train the map using Online scheme. Data vectors are presented one at a time.

Member Data Documentation

DataPoints const* PndMvaSomTrainer::m_DataSet
private

Definition at line 204 of file PndMvaSOMTrainer.h.

Referenced by GetInputDataSet().

GridInitType PndMvaSomTrainer::m_GridType
private

Definition at line 202 of file PndMvaSOMTrainer.h.

MapNodeInitType PndMvaSomTrainer::m_InitMode
private

Definition at line 201 of file PndMvaSOMTrainer.h.

Referenced by GetNodeInitType(), and SetNodeInitType().

double PndMvaSomTrainer::m_lambda
private

Definition at line 193 of file PndMvaSOMTrainer.h.

Referenced by GetLambda(), and SetLambda().

size_t PndMvaSomTrainer::m_MapHeight
private

Definition at line 197 of file PndMvaSOMTrainer.h.

Referenced by GetMapHeight(), GetNumNodes(), and SetMapHeight().

size_t PndMvaSomTrainer::m_MapWidth
private

Definition at line 196 of file PndMvaSOMTrainer.h.

Referenced by GetMapWidth(), GetNumNodes(), and SetMapWidth().

double PndMvaSomTrainer::m_neighbourhoodRadius
private

Definition at line 194 of file PndMvaSOMTrainer.h.

size_t PndMvaSomTrainer::m_NumIterations
private

Definition at line 199 of file PndMvaSOMTrainer.h.

Referenced by GetNumIterations(), and SetNumIterations().

size_t PndMvaSomTrainer::m_NumModelVectors
private

Definition at line 198 of file PndMvaSOMTrainer.h.

double PndMvaSomTrainer::m_sigmaZero
private

Definition at line 192 of file PndMvaSOMTrainer.h.

Referenced by GetSigmaZero(), and SetSigmaZero().

std::vector<PndSomNode*> PndMvaSomTrainer::m_TheMap
private

Definition at line 203 of file PndMvaSOMTrainer.h.

Referenced by GetTheMap().


The documentation for this class was generated from the following file: