|
7.7 Options Controlling Training Results Presentation
The following options are the same for all training commands in the Neural Networks package, with the exception of HopfieldFit.
CriterionLog indicates if intermediate results during training should be displayed and logged in the training record.
CriterionLogExtN indicates whether the intermediate results during training should be displayed in a separate notebook, which is the default, or in the current notebook.
ReportFrequency indicates the interval of the intermediate results in the training record.
CriterionPlot indicates whether the performance index should be shown at the end of the training.
MoreTrainingPrompt indicates whether you want be asked if training should be continued at the last iteration.
Here are some examples of how the information given during training can be influenced by using these options.
Load the Neural Networks package.
In[1]:=<<NeuralNetworks`
First some test data is loaded and an FF network is initialized.
Load some test data and initialize an FF network.
In[2]:=<<onedimfunc.dat; fdfrwrd=InitializeFeedForwardNet[x,y,{4}]
Out[3]=
Using the default options gives a separate notebook where the criterion value and some control parameters are written out after each iteration of the training algorithm. At the end of the training, the decrease of the performance index is displayed in a plot in the current notebook. You only get the separate notebook if you reevaluate the commands.
Train with the default options.
In[4]:=

If you work with large neural networks, and if you are uncertain of how many training iterations you need, it might be advantageous to set the MoreTrainingPrompt->True to avoid the initialization computation when you call the training command several times. With MoreTrainingPrompt->True you receive a question at the last iteration where you are asked to enter any number of additional training iterations before the training terminates. You can give any positive integer; if you answer anything else the training terminates.
Prompt for more training iterations before exiting the training command.
In[5]:=

If you do not want any plot at the end of the training, you set CriterionPlot False. You can also have the intermediate results in the current notebook instead. This is done by setting CriterionLogExtN False. The interval of the intermediate results can be set with ReportFrequency.
Train without the criterion plot and with the training result in current notebook with interval 2.
In[6]:=
   

ReportFrequency also indicates the iteration interval with which parameter values are logged in the training record during the training. This is described in Section 7.8, The Training Record.
If you do not want any intermediate results at all during the training, you can switch them off by setting CriterionLog False.
In[7]:=
The training process is speeded up a little by excluding the intermediate results, or by setting the report frequency to a higher value.
You can reset the default using SetOptions[function, option->value]. This will change the default value for the entire Mathematica session.
Change the CriterionLog option so that no intermediate training results are displayed.
In[8]:=
Out[8]=
By using SetOptions you do not have to supply CriterionLog False each time NeuralFit is called.
|