public abstract class TrainingManager
extends java.lang.Object
| Constructor and Description |
|---|
TrainingManager() |
| Modifier and Type | Method and Description |
|---|---|
static void |
adjustSymbolWeights(NeuralNet[] nets,
Symbol symbol,
ProgressListener listener,
ReceptorManager receptorManager)
Adjusts all symbol weights in a single symbol.
|
static double |
runSingleTrainingCycle(NeuralNet net,
Symbol target,
int iterations,
ProgressListener listener,
int netOffset,
double entropy,
ReceptorManager receptorManager)
Runs a single training cycle for a single net and a single symbol.
|
static double |
trainAllSymbols(NeuralNet net,
Symbol[] symbols,
int iterationsPerSymbol,
int iterations,
ProgressListener listener,
double minMSE,
int netOffset,
double entropy,
ReceptorManager receptorManager)
Trains the net in a cyclic fashion with all symbols given.
|
public static void adjustSymbolWeights(NeuralNet[] nets, Symbol symbol, ProgressListener listener, ReceptorManager receptorManager)
nets - The whole net stack to run through, ordered.symbol - The symbol whose output node weights are to be editedlistener - A ProgressListener which can watch the progress of the algorithmpublic static double trainAllSymbols(NeuralNet net, Symbol[] symbols, int iterationsPerSymbol, int iterations, ProgressListener listener, double minMSE, int netOffset, double entropy, ReceptorManager receptorManager)
net - The neural net to trainsymbols - An unordered array of symbolsiterationsPerSymbol - How many times to train the net with each symbol. Best results are low, around 1 to 10.iterations - The number of times to train the whole symbol set, best results are large, depending on training rate and how complex the symbol set islistener - A ProgressListener that can watch the operationminMSE - The mean standard error value at which to abort training. Set to 0 in order to guarantee completion of a full cycle.netOffset - The offset in the output stack of neurons that point to the current net being run, for example, if net 0 on the stack had 23 outputs and we were training net 1 then this would be 23 - pointing to the first element which is owned by the current net. Getting this wrong can totally destroy the training process or shift symbols around.public static double runSingleTrainingCycle(NeuralNet net, Symbol target, int iterations, ProgressListener listener, int netOffset, double entropy, ReceptorManager receptorManager)
net - The neural net to traintarget - The symbol to train withiterations - The number of times to trainlistener - A ProgressListener that can watch the operationnetOffset - The offset in the output stack of neurons that point to the current net being run, for example, if net 0 on the stack had 23 outputs and we were training net 1 then this would be 23 - pointing to the first element which is owned by the current net. Getting this wrong can totally destroy the training process or shift symbols around.