4.1 Backpropagation Untuk mengenali pola huruf1
Backpropagation Untuk mengenali pola huruf
JST didesain dan dilatih untuk mengenali huruf A, B, dan C
Masing-masing huruf diwakili oleh nilai Boolean 5x7
Huruf
Pembentu
kan Huruf
Huruf A
0 0
0 1
0 1
1 0
1 1
1 0
1 0
Simbol
Huruf
00100 01010 01010
10001 11111 10001
10001
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1
1
1
1
Huruf B
1 1 1 1 0
1 0 0 0 1
1 0 0 0 1
1 1 1 1 0
1 0 0 0 1
1 0 0 0 1
1 1 1 1 0
11110 10001
10001 11110
10001 10001
11110
Huruf C
1 1
1 0
1 0
1 0
1 0
1 0
1 1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
11111 10000
10000 10000
10000 10000
11111
Output: A=100,B=010,C=001
Arsitektur Jaringan:
Mempunyai input 35 unit
Outputnya 3 unit
Layer tersembunyi misalnya terdapat 10 unit
α= 0,3
Fungsi Aktifasi : logsig dan purelin
1
1
X1
Z1
Y1
Y2
X2
Z2
.
.
.
.
X.35
Z.10
Y3
Data pelatihan:
Pola
Pola 1
Pola 2
Pola 3
Input
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
0
1
100101010001111111
1
011000111110100011
0
001000010000100001
1
Targ
et
100
010
001
Perintah Matlab
>> P=[0 1 1 ;0 1 1 ;1 1 1 ;0 1 1 ;0 0 1 ;0 1 1 ;1 0 0 ;0 0 0 ;1 0 0 ;0 1 0 ;0 1
1 ;1 0 0 ;0 0 0 ;1 0 0 ;0 1 0 ;1 1 1 ;0 1 0 ;0 1 0 ;0 1 0 ;1 0 0 ;1 1 1 ;1 0 0 ;1 0
0 ;1 0 0 ;1 1 0 ;1 1 1 ;0 0 0 ;0 0 0 ;0 0 0 ;1 1 0 ;1 1 1 ;0 1 1 ;0 1 1 ;0 1 1 ;1 0
1];
>> T=[1 0 0;0 1 0;0 0 1];
>> net=newff(minmax(P),[10,3],{ 'logsig', 'purelin'},'traingd');
>> net.trainParam.goal=0.000005;
>> net.trainParam.epoch=10000;
>> net.trainParam.lr=0.3;
>> net.IW{1,1}
>> net.LW{2,1}
>> net.b{1}
>> net.b{2}
>> net=train(net,P,T);
>>
P=[0;0;1;0;0;0;1;0;1;0;0;1;0;1;0;1;0;0;0;1;1;1;1;1;1;1;0;0;0;1;1;0;0;0;1];
>> y=sim(net,P)
>>
P=[1;1;1;1;0;1;0;0;0;1;1;0;0;0;1;1;1;1;1;0;1;0;0;0;1;1;0;0;0;1;1;1;1;1;0];
>> y=sim(net,P)
Hitung bobot-bobot pada perhitungan data pertama epoch pertama JST
backpropagation untuk mengenali pola dibawah huruf A dan B.
Huruf
Pembentu
kan Huruf
Huruf A
0 1 0
1 0 1
1 1 1
1 0 1
010 101 111 101
Simbol
Huruf
Output: A=1,B=0
Huruf C
1 1 1
1 0 0
1 0 0
1 1 1
111 100 100 111
Arsitektur Jaringan:
Mempunyai input 12 unit
Outputnya 1 unit
1 layer tersembunyi yang terdiri dari 2 unit
α= 0,3
Fungsi Aktifasi : logsig dan purelin
Bobot-bobot jaringan
Z1
1
X1
X2
X3
X4
X5
X6
X7
X8
X9
X10
X11
X12
Z2
JST didesain dan dilatih untuk mengenali huruf A, B, dan C
Masing-masing huruf diwakili oleh nilai Boolean 5x7
Huruf
Pembentu
kan Huruf
Huruf A
0 0
0 1
0 1
1 0
1 1
1 0
1 0
Simbol
Huruf
00100 01010 01010
10001 11111 10001
10001
1
0
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
1
1
1
1
Huruf B
1 1 1 1 0
1 0 0 0 1
1 0 0 0 1
1 1 1 1 0
1 0 0 0 1
1 0 0 0 1
1 1 1 1 0
11110 10001
10001 11110
10001 10001
11110
Huruf C
1 1
1 0
1 0
1 0
1 0
1 0
1 1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
11111 10000
10000 10000
10000 10000
11111
Output: A=100,B=010,C=001
Arsitektur Jaringan:
Mempunyai input 35 unit
Outputnya 3 unit
Layer tersembunyi misalnya terdapat 10 unit
α= 0,3
Fungsi Aktifasi : logsig dan purelin
1
1
X1
Z1
Y1
Y2
X2
Z2
.
.
.
.
X.35
Z.10
Y3
Data pelatihan:
Pola
Pola 1
Pola 2
Pola 3
Input
0
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
0
1
0
1
0
0
0
1
0
1
100101010001111111
1
011000111110100011
0
001000010000100001
1
Targ
et
100
010
001
Perintah Matlab
>> P=[0 1 1 ;0 1 1 ;1 1 1 ;0 1 1 ;0 0 1 ;0 1 1 ;1 0 0 ;0 0 0 ;1 0 0 ;0 1 0 ;0 1
1 ;1 0 0 ;0 0 0 ;1 0 0 ;0 1 0 ;1 1 1 ;0 1 0 ;0 1 0 ;0 1 0 ;1 0 0 ;1 1 1 ;1 0 0 ;1 0
0 ;1 0 0 ;1 1 0 ;1 1 1 ;0 0 0 ;0 0 0 ;0 0 0 ;1 1 0 ;1 1 1 ;0 1 1 ;0 1 1 ;0 1 1 ;1 0
1];
>> T=[1 0 0;0 1 0;0 0 1];
>> net=newff(minmax(P),[10,3],{ 'logsig', 'purelin'},'traingd');
>> net.trainParam.goal=0.000005;
>> net.trainParam.epoch=10000;
>> net.trainParam.lr=0.3;
>> net.IW{1,1}
>> net.LW{2,1}
>> net.b{1}
>> net.b{2}
>> net=train(net,P,T);
>>
P=[0;0;1;0;0;0;1;0;1;0;0;1;0;1;0;1;0;0;0;1;1;1;1;1;1;1;0;0;0;1;1;0;0;0;1];
>> y=sim(net,P)
>>
P=[1;1;1;1;0;1;0;0;0;1;1;0;0;0;1;1;1;1;1;0;1;0;0;0;1;1;0;0;0;1;1;1;1;1;0];
>> y=sim(net,P)
Hitung bobot-bobot pada perhitungan data pertama epoch pertama JST
backpropagation untuk mengenali pola dibawah huruf A dan B.
Huruf
Pembentu
kan Huruf
Huruf A
0 1 0
1 0 1
1 1 1
1 0 1
010 101 111 101
Simbol
Huruf
Output: A=1,B=0
Huruf C
1 1 1
1 0 0
1 0 0
1 1 1
111 100 100 111
Arsitektur Jaringan:
Mempunyai input 12 unit
Outputnya 1 unit
1 layer tersembunyi yang terdiri dari 2 unit
α= 0,3
Fungsi Aktifasi : logsig dan purelin
Bobot-bobot jaringan
Z1
1
X1
X2
X3
X4
X5
X6
X7
X8
X9
X10
X11
X12
Z2