Backpropagation .*;

4x6x14 Network Example

This example uses 4 input, 6 hidden and 14 output nodes to classify 14 patterns.

In the Java version, I've introduced a noise factor which varies the original input a little, just to see how much the network can tolerate.

 

Example Results 1

It generally works pretty well. The noise factor setting here is 0.45. The correct output should go in order. The noise causes the net to predict input #1 as #8.

Network is 100.0% correct.

Test network against original input:
1.0	1.0	1.0	0.0	Output: 0
1.0	1.0	0.0	0.0	Output: 1
0.0	1.0	1.0	0.0	Output: 2
1.0	0.0	1.0	0.0	Output: 3
1.0	0.0	0.0	0.0	Output: 4
0.0	1.0	0.0	0.0	Output: 5
0.0	0.0	1.0	0.0	Output: 6
1.0	1.0	1.0	1.0	Output: 7
1.0	1.0	0.0	1.0	Output: 8
0.0	1.0	1.0	1.0	Output: 9
1.0	0.0	1.0	1.0	Output: 10
1.0	0.0	0.0	1.0	Output: 11
0.0	1.0	0.0	1.0	Output: 12
0.0	0.0	1.0	1.0	Output: 13

Test network against noisy input:
1.4	1.4	1.0	0.1	Output: 0
1.1	1.2	0.4	0.4	Output: 8
0.1	1.2	1.2	0.3	Output: 2
1.3	0.3	1.3	0.4	Output: 3
1.1	0.1	0.2	0.2	Output: 4
0.2	1.2	0.3	0.3	Output: 5
0.3	0.0	1.3	0.4	Output: 6
1.1	1.3	1.2	1.4	Output: 7
1.3	1.0	0.3	1.4	Output: 8
0.0	1.2	1.4	1.1	Output: 9
1.2	0.2	1.4	1.2	Output: 10
1.3	0.1	0.3	1.4	Output: 11
0.2	1.2	0.3	1.4	Output: 12
0.3	0.4	1.4	1.4	Output: 13

 

Example Results 2

It can take a little noise, but not too much. The noise factor here is 0.58.

Network is 100.0% correct.

Test network against original input:
1.0	1.0	1.0	0.0	Output: 0
1.0	1.0	0.0	0.0	Output: 1
0.0	1.0	1.0	0.0	Output: 2
1.0	0.0	1.0	0.0	Output: 3
1.0	0.0	0.0	0.0	Output: 4
0.0	1.0	0.0	0.0	Output: 5
0.0	0.0	1.0	0.0	Output: 6
1.0	1.0	1.0	1.0	Output: 7
1.0	1.0	0.0	1.0	Output: 8
0.0	1.0	1.0	1.0	Output: 9
1.0	0.0	1.0	1.0	Output: 10
1.0	0.0	0.0	1.0	Output: 11
0.0	1.0	0.0	1.0	Output: 12
0.0	0.0	1.0	1.0	Output: 13

Test network against noisy input:
1.2	1.2	1.3	0.4	Output: 0
1.5	1.0	0.1	0.5	Output: 8
0.4	1.1	1.2	0.6	Output: 9
1.0	0.5	1.1	0.2	Output: 3
1.5	0.1	0.1	0.2	Output: 4
0.5	1.4	0.1	0.5	Output: 5
0.5	0.4	1.5	0.0	Output: 3
1.5	1.5	1.2	1.0	Output: 7
1.3	1.5	0.3	1.4	Output: 8
0.4	1.3	1.4	1.5	Output: 9
1.3	0.3	1.3	1.4	Output: 10
1.2	0.3	0.3	1.3	Output: 11
0.1	1.2	0.4	1.2	Output: 9
0.1	0.1	1.1	1.1	Output: 13

 

public void footer() {
About | Contact | Privacy Policy | Terms of Service | Site Map
Copyright© 2009-2012 John McCullock. All Rights Reserved.
}