Learning the XOR function
Round 1: No success...
Success in 651 training rounds!
Result
Testset 0; expected output = (-1) output from neural network = (-0.992282243054)
Testset 1; expected output = (1) output from neural network = (0.988986120429)
Testset 2; expected output = (1) output from neural network = (0.990932221086)
Testset 3; expected output = (-1) output from neural network = (-0.98844720993)
Playing around...
The following is to show how changing the momentum & learning rate,
in combination with the number of rounds and the maximum allowable error, can
lead to wildly differing results. To obtain the best results for your
situation, play around with these numbers until you find the one that works
best for you.
The values displayed here are chosen randomly, so you can reload
the page to see another set of values...
Learning rate 0.25, momentum 0.4 @ (1000 rounds, max sq. error 0.01)
Success in 372 training rounds!
Testset 0; expected output = (-1) output from neural network = (-0.988460462589)
Testset 1; expected output = (1) output from neural network = (0.990045101559)
Testset 2; expected output = (1) output from neural network = (0.991798835317)
Testset 3; expected output = (-1) output from neural network = (-0.990078697104)
Learning rate 0.75, momentum 0.8 @ (500 rounds, max sq. error 0.1)
Round 1: No success...
Round 2: No success...
Learning rate 0.25, momentum 0.4 @ (1000 rounds, max sq. error 0.1)
Round 1: No success...
Round 2: No success...
Success in 51 training rounds!
Testset 0; expected output = (-1) output from neural network = (-0.894648328031)
Testset 1; expected output = (1) output from neural network = (0.926031093105)
Testset 2; expected output = (1) output from neural network = (0.894725728127)
Testset 3; expected output = (-1) output from neural network = (-0.892818531701)
Learning rate 1, momentum 0.8 @ (500 rounds, max sq. error 0.001)
Round 1: No success...
Round 2: No success...
Learning rate 1, momentum 1 @ (100 rounds, max sq. error 0.05)
Round 1: No success...
Round 2: No success...
Success in 85 training rounds!
Testset 0; expected output = (-1) output from neural network = (-0.999999997394)
Testset 1; expected output = (1) output from neural network = (0.951545457159)
Testset 2; expected output = (1) output from neural network = (0.951543266077)
Testset 3; expected output = (-1) output from neural network = (-0.999999994804)
Learning rate 0.1, momentum 0.4 @ (2000 rounds, max sq. error 0.05)
Success in 155 training rounds!
Testset 0; expected output = (-1) output from neural network = (-0.970582426786)
Testset 1; expected output = (1) output from neural network = (0.955361148726)
Testset 2; expected output = (1) output from neural network = (0.941777292463)
Testset 3; expected output = (-1) output from neural network = (-0.942099746555)
Learning rate 0.5, momentum 0.2 @ (500 rounds, max sq. error 0.1)
Round 1: No success...
Round 2: No success...
Learning rate 0.1, momentum 0.4 @ (2000 rounds, max sq. error 0.05)
Success in 254 training rounds!
Testset 0; expected output = (-1) output from neural network = (-0.930977602448)
Testset 1; expected output = (1) output from neural network = (0.954785672821)
Testset 2; expected output = (1) output from neural network = (0.968728066828)
Testset 3; expected output = (-1) output from neural network = (-0.953329178402)
Learning rate 0.5, momentum 0.4 @ (500 rounds, max sq. error 0.1)
Success in 23 training rounds!
Testset 0; expected output = (-1) output from neural network = (-0.854913966374)
Testset 1; expected output = (1) output from neural network = (0.917180381203)
Testset 2; expected output = (1) output from neural network = (0.896931289424)
Testset 3; expected output = (-1) output from neural network = (-0.969823460724)
Learning rate 0.75, momentum 0.4 @ (1000 rounds, max sq. error 0.01)
Round 1: No success...
Round 2: No success...