Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Weka multi-perceptron with multiple hidden layers

I'm trying to use Multi-Perceptron in Weka Knowledge Flow. In the attachment you can see the setting for the block. As written in the help: "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."

However, it's still a little bit confusing for me. How can I build a neural network with 3 hidden layers, each has different number of units (say 2,5,6). And can you help explain wildcard values? I think it's only for number of hidden layers, not for number of hidden units in each layer.

Thank you.enter image description here

like image 807
lenhhoxung Avatar asked Jul 24 '15 07:07

lenhhoxung


1 Answers

The GUI option will help you work through this. If you supply '2,5,6' to the hidden layers, it will create 3 layers with 2, 5, and 6 units respectively. The wildcard values seem to be shortcuts for the numbers they represent (a = (# of attributes + # of classes) / 2 , etc). Here are a couple visual steps representing what I mean.


You can see the 'a, 2, 5, 6' in hiddenLayers. enter image description here

a = # of attributes + # of classes / 2

There are 6 attributes and 1 class, so a = 7 / 2 = 3

This means that we expect to see 3 units in the first hidden layer, then 2, 5, and 6, followed by the 1 unit in the output layer.

enter image description here

like image 152
rabbit Avatar answered Dec 04 '22 02:12

rabbit