Main Page   Class Hierarchy   Compound List   File List   Compound Members  

VowelManager Class Reference

#include <VowelManager.h>

Collaboration diagram for VowelManager:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 VowelManager (void)
 ~VowelManager (void)
void learnEpochOnline (void)
void learnEpochBatch (void)
vector< double > getErrorMedian (VowelSet *set)
unsigned int getEpochCounter (void)
void resetEpochCounter (void)

Public Attributes

VowelSettrain
VowelSettest
VowelClassifierclassifier
AudioPreprocessingprep_template

Private Member Functions

bool checkExpertCorrect (unsigned int expert, vector< double > &exp_output, VowelSampleType correct)
unsigned int getMostActiveIndex (vector< double > &res)

Private Attributes

unsigned int epoch_count

Detailed Description

Vowel management, set handling and learning algorithms.

Handles the learning, classification and management of vowels throughout the program.

Note that this class is the main interaction point for the GUI. The GUI sets and visualizes parameters to the sets ('train' and 'test'), does handle the learning parameters of 'classifier' and uses the methods to draw the errorterm graphs for each network and the entire system. Also, the class is quite open to external manipulation, and this is done intentionally. As the GUI has to know the structure of this class anyway to visualize the concepts of the system, it could also just manipulate it directly.


Constructor & Destructor Documentation

VowelManager::VowelManager void   
 

Default constructor.

VowelManager::~VowelManager void   
 

Default destructor.


Member Function Documentation

bool VowelManager::checkExpertCorrect unsigned int    expert,
vector< double > &    exp_output,
VowelSampleType    correct
[private]
 

Check one single expert result for correctness.

Parameters:
expert The index for the expert that should be verified.
exp_output The expert output.
correct The known-correct type of the sample that produced the expert results.
Returns:
True when the expert was correct, false if it was not.

unsigned int VowelManager::getEpochCounter void   
 

Getter function for the learning epoch counter.

Returns:
The number of epochs already learned in this system.

vector< double > VowelManager::getErrorMedian VowelSet   set
 

Get the median error for all samples within the set.

All the vowels in the given set are tested using the classifier, testing a single epoch. All error terms are calculated against the number of vowels in the set. The individual errorterms for each network are seperatly calculated. Thus, four errorterms are returned by the method.

Parameters:
set The set of vowels to be tested by the system.
Returns:
A vector of four errorterms, where the first represents the overall error of the system and the second to fourth represent the errors for each individual network, coined "net0", "net1" and "net2". The names of the networks can be obtained by classifier->getExpertName (number).

unsigned int VowelManager::getMostActiveIndex vector< double > &    res [private]
 

Utility function, finding the maximum out of a double vector.

Parameters:
res Vector of double values.
Returns:
Index whose element within the vector is maximal.

void VowelManager::learnEpochBatch void   
 

Learn one epoch using the batch method.

The same description as to the learnEpochOnline method applies, except that the batch method is used and all the summed mistakes for each classification is reduced at the end.

void VowelManager::learnEpochOnline void   
 

Learn one epoch using the online method.

All parameters to the learning process have to be set already within the classifier. For the learning process, the train set is used. One epoch is learned, that means every sample of the training set is learned exactly once. The online method is used, so after each classification the mistake is reduced for that sample.

void VowelManager::resetEpochCounter void   
 

Reset the epoch counter.


Member Data Documentation

VowelClassifier* VowelManager::classifier
 

The classifier used to classify both the training and test sets.

Additionally, the train set is used to teach the classifiers internal expert systems.

The GUI can also use the classifier to check a single vowel, using classifier->classifyVowel ().

unsigned int VowelManager::epoch_count [private]
 

Counter for the epochs learned. For each call to learnEpoch* it is incremented. The epoch counter is resetted only on creation of a new manager, or when the resetEpochCounter method is called.

AudioPreprocessing* VowelManager::prep_template
 

The audio preprocessor used to build the vowel sets.

Vowel sets can be build either from existing VowelSample object or from audio files directly. The GUI does give the filenames to each set, but the preprocessor used to convert the AUFile objects to VowelSample objects is this one. The parameters to the preprocessor are set by the GUI, and this is the template copied for each preprocessing done. This object is never used to preprocess any file, but used as runtime template.

VowelSet* VowelManager::test
 

The test set of vowels.

See the note for the training set.

VowelSet* VowelManager::train
 

The training set of vowels.

Both the training and test sets can and should be used from external classes (the GUI). But the use should be done exclusivly over the methods the VowelSet class provides.


The documentation for this class was generated from the following files:
Generated on Mon Feb 24 19:37:46 2003 by doxygen1.3-rc3