Package
weka.classifiers.functions
Synopsis
A Classifier that uses backpropagation to classify instances.
This network can be built by hand, created by an algorithm or both. The network can also be monitored and modified during training time. The nodes in this network are all sigmoid (except for when the class is numeric in which case the the output nodes become unthresholded linear units).
Options
The table below describes the options available for MultilayerPerceptron.
Option |
Description |
---|---|
GUI |
Brings up a gui interface. This will allow the pausing and altering of the nueral network during training.
|
autoBuild |
Adds and connects up hidden layers in the network. |
debug |
If set to true, classifier may output additional info to the console. |
decay |
This will cause the learning rate to decrease. This will divide the starting learning rate by the epoch number, to determine what the current learning rate should be. This may help to stop the network from diverging from the target output, as well as improve general performance. Note that the decaying learning rate will not be shown in the gui, only the original learning rate. If the learning rate is changed in the gui, this is treated as the starting learning rate. |
hiddenLayers |
This defines the hidden layers of the neural network. This is a list of positive whole numbers. 1 for each hidden layer. Comma seperated. To have no hidden layers put a single 0 here. This will only be used if autobuild is set. There are also wildcard values 'a' = (attribs + classes) / 2, 'i' = attribs, 'o' = classes , 't' = attribs + classes. |
learningRate |
The amount the weights are updated. |
momentum |
Momentum applied to the weights during updating. |
nominalToBinaryFilter |
This will preprocess the instances with the filter. This could help improve performance if there are nominal attributes in the data. |
normalizeAttributes |
This will normalize the attributes. This could help improve performance of the network. This is not reliant on the class being numeric. This will also normalize nominal attributes as well (after they have been run through the nominal to binary filter if that is in use) so that the nominal values are between -1 and 1 |
normalizeNumericClass |
This will normalize the class if it's numeric. This could help improve performance of the network, It normalizes the class to be between -1 and 1. Note that this is only internally, the output will be scaled back to the original range. |
randomSeed |
Seed used to initialise the random number generator.Random numbers are used for setting the initial weights of the connections betweem nodes, and also for shuffling the training data. |
reset |
This will allow the network to reset with a lower learning rate. If the network diverges from the answer this will automatically reset the network with a lower learning rate and begin training again. This option is only available if the gui is not set. Note that if the network diverges but isn't allowed to reset it will fail the training process and return an error message. |
trainingTime |
The number of epochs to train through. If the validation set is non-zero then it can terminate the network early |
validationSetSize |
The percentage size of the validation set.(The training will continue until it is observed that the error on the validation set has been consistently getting worse, or if the training time is reached). |
validationThreshold |
Used to terminate validation testing.The value here dictates how many times in a row the validation set error can get worse before training is terminated. |
Capabilities
The table below describes the capabilites of MultilayerPerceptron.
Capability |
Supported |
---|---|
Class |
Nominal class, Binary class, Missing class values, Date class, Numeric class |
Attributes |
Empty nominal attributes, Numeric attributes, Binary attributes, Missing values, Date attributes, Unary attributes, Nominal attributes |
Min # of instances |
1 |