Be sure to review our Idea Submission Guidelines for more information!
Submission GuidelinesTLDR: Add a parameter repeat (rep) to the Neural Network configuration panel, and probably other Predictive tools. This would make the tool return only the best trained model out of #rep.
I have done some research by comparing the R neuralnet function (from Neuralnet package) and the Alteryx Neural Network tool. I thought that the XOR example was a good one to evaluate a neural network system since it is one of the most basic non-linear tables.
The neuralnet function is able to train and predict the 4 configurations of a XOR table (see page 3 of https://cran.r-project.org/web/packages/neuralnet/neuralnet.pdf for the test script).
However several attempts must be made. This is why the parameter
rep=5
is important, followed with
plot(net.xor, rep="best")
This way, instead of 1, 5 sets of initial parameters are randomly generated and 5 neural networks are trained independently. When plotting, only the neural network with the lowest error is plotted (I got 3% error). For XOR, around 5 tries seem to be enough to find a set of parameter that guesses the 4 situations of the table correctly.
Another parameter of the function is stepmax:
"The maximum steps for the training of the neural network. Reaching this maximum leads to a stop of the neural network’s training process."
This rules the max number of iteration for each single attempt viewed previously.
If one writes stepmax = 100 instead of rep = 5, the only resulting Neural Network usually does not have an average error below 5% (actually I get 49,7%).
The Neural Network tool in Alteryx has a parameter documented as follow
"The maximum number of iterations for model estimation: This value controls the number of attempts the algorithm can make in attempting to find improvements in the set of model weights relative to the previous set of weights. If no improvements are found in the weights prior to the maximum number of iterations, the algorithm will terminate and return the best set of weights. This option defaults to 100 iterations. In general, given the behavior of the algorithm, it is likely to make sense to increase this value if needed, at the cost of lengthening the runtime for model creation."
I tried this workflow with this parameter set to default value 100, and even greater values, and I cannot get an average error below 5% (I get stuck around 50%).
After reading carefully these pieces of documentation and testing, I can guess that this last parameter is the equivalent of stepmax.
If this is right, then it would be practical to add an equivalent for the parameter rep to the configuration panel. This parameter seems more useful than rep to me. Maybe there is already a way to simulate this parameter; if that is so, please let me know, otherwise I am going to include an R script to my workflow.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.