Function prediction
This applet illustrates the creation of training set and shows the result of prediction of the function x=f(t) using neural network of backpropagation type.
How to work with the applet

Enter a function and the range for work with the applet. After entering press
Enter and the function will be shown. The following can be used to construct
a function: parameter x, numbers, operators /, *, +, , !, ^, parentheses
( ) and functions abs, acos, acosh, asin, asinh, atan, atanh, cos, cosh, ln,
log, sin, sinh, sqr, sqrt, tan and tanh.
As a noise generator the function noise(x) can be used, where x means size of the noise (the parameter can be a function as well).  Enter parameters for generation of training set, i.e., the size of the window, number of samples in one window, the number of examples in the training set and the distance of predicted value (the number of samples from the end of the window). Sampling is determined by the size of the window and the number of samples in the window. After entering parameters press Enter and the result will be shown on the function.
 The button Training set will show generated training set that can be used for example in the systems NeuralWorks and Neural WebSpace.
 The button Net parameters will show a dialog that allows setting of additional parameters of backpropagation network, such as next layers, learning coefficients and momentum.
 The button Reset net will reset weights of the network to random values.
 The NN training will start by pressing the Train button. With that the progress of learned approximation is shown in red. For faster learning showing of the result can be turned off. During training the number of epochs is shown together with the error of the currently learned approximation. The error shows average deviation of the values on the NN outputs from expected outputs over whole training set.
 The button Step will cause training of one epoch.
 The button Error will show the graph of the network prediction error evolution. We can select what to show in the window. The error on the training set is shown in red, the error on the whole shown graph is shown in blue. The error on the graph except training set (i.e., after training set) is shown in gray. The errors are shown from the moment of opening the window. When this window is not open, errors are not computed and faster learning is achieved.
 Work with noise: For entering noise into training set use the function noise, for example enter function sin(x)+noise(0.5) to be learned  this adds noise of size 0.5 to sin function. Choose a network and train it to the function with noise. The learned values (in red) correspond to function with noise. After entering the function without noise, for example sin(x) , it is possible to see how the network responds to data without noise. Usually we can see that the neural network can predict a function even when there was a noise in the training set. For showing the result it is of course necessary to have the showing of the result turned on.
 Warning: If no parameter of the network is changed, then nothing is changed in the network, including its topology and weights. This allows to compare how network learned something else than what is then being predicted or to illustrate how fast the network is when unlearning old inputs. However, it can be a bit confusing when we do not realize that the network was not reset after changing some inputs. That is why for learning from the beginning we have to reset the network first using the Reset button.
Please wait until the applet is loaded.
Applet and description (c) Marek Obitko, 1999; the neural network in the applet uses Java classes BPNeuron and BPNet
from NeuralWebspace, (c) Tomáš Vehovský, 1998, that were modified for the purposes of this applet.
(c) Marek Obitko, 1999  Terms of use