#include <VowelManager.h>
Collaboration diagram for VowelManager:
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 | |
VowelSet * | train |
VowelSet * | test |
VowelClassifier * | classifier |
AudioPreprocessing * | prep_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 |
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.
|
Default constructor. |
|
Default destructor. |
|
Check one single expert result for correctness.
|
|
Getter function for the learning epoch counter.
|
|
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.
|
|
Utility function, finding the maximum out of a double vector.
|
|
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. |
|
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. |
|
Reset the epoch counter. |
|
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 (). |
|
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. |
|
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. |
|
The test set of vowels. See the note for the training set. |
|
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. |