COMPETITIVE NETWORK
A.
ArsitekturJaringan
Arsitektur jaringan merupakan salah satu hal terpenting dalam JST
selain dari neuron
dan algoritma pembelajaran. Arsitektur jaringan terbagi menjadi tiga jenis, yaitu:
1.
Jaringan Lapis Tunggal (Single Layer Network)
Jaringan lapis tunggal merupakan jaringan yang hanya memiliki satu
buah lapisan dengan bobot-bobot yang terhubung. Jaringan ini hanya
menerima nilai input dan secara langsung mengolahnya untuk menjadi
nilai output tanpa melalui lapisan tersembunyi.
2.
Jaringan Multi Lapis (Multi Layer Network)
Jaringan multi lapis merupakan jaringan yang memiliki satu buah atau lebih
lapisan di antara lapisan input dan lapisan output. Jaringan multi lapis ini dapat
menyelesaikan permasalahan yang lebih kompleks dibandingkan dengan
jaringan lapis tunggal walaupun memiliki tingkat kerumitan yang tinggi serta
membutuhkan waktu yang lama dalam proses pelatihannya.
3.
Jaringan Kompetitif (Competitive Layer Network)
Jaringan kompetitif sering disebut
feedback loop karena unit output ada yang
memberikan informasi terhadap unit masukan.
Beberapa arsitektur jaringan yang
sering dipakai dalam jaringan syaraf tiruan antara lain :
1.
Jaringan Lapisan
Tunggal (Single Layer Network)
Dalam jaringan ini sekumpulan input
neuron dihubungkan langsung dengan sekumpulan outputnya. Dalam beberapa model
(misal perceptron), hanya ada sebuah unit
neuron output.
2.
Jaringan Lapisan Jamak (Multi Layer Network)
Jaringan lapisan jamak merupakan perluasan dari layar tunggal. Dalam jaringan ini, selain
unit input dan output, ada unit-unit lain (sering disebut layar tersembunyi/hidden layer).
Dimungkinkan pula ada beberapa layar tersembunyi. Sama seperti pada unit input dan output, unit-unit dalam satu layar tidak saling berhubungan.
3.
Jaringan
Recurrent
Model jaringan recurrent mirip dengan jaringan layar tunggal ataupun ganda. Hanya saja, ada
neuron output yang
memberikan sinyal pada unit input
(sering disebut feedback loop). Jaringan dengan lapisan kompetitif (competitif layer net). Hubungan antar-neuron
pada lapisan kompetitif ini tidak diperlihatkan pada diagram arsitektur.
Gambar
6.Jaringandenganlapisankompetitif
B.
Metode Learning Vector Quantization
Learning Vector Quantization (LVQ)
adalah suatu metode untuk melakukan pembelajaran pada lapisan kompetitif yang
terawasi. Suatu lapisan kompetitif akan secara otomatis belajar untuk
mengklasifikasikan vektor vektor input. Kelas kelas yang didapatkan sebagai
hasil dari lapisan kompetitif ini hanya tergantung pada jarak antara vektor
vektor input. Jika 2 vektor input mendekati sama, maka lapisan kompetitif akan
meletakkan kedua vektor input tersebut ke dalam kelas yang sama.
C.
PENERAPAN
PEMBELJARAN JARINGAN KOMPETITIF DI MATLAP
Pada pembelajaaran kompetitif, setiap neoron akan berkompetitif untuk
merespon suatu vektor input. Jika nilai semua bobot bias sama dengan 0, maka
neuron yang memiliki vektor bobot sangat dekat dengan vektor input akan
menenangkan kompetisi dan menghasilkan nilai output sama dengan 1, sedangkan
nilai output neoron yang lainnya akan bernilai 0.
%Misalkan vektor input data terletak pada matriks P
sebagai berikut :
>> P=[0 -1 -2 5 1 6 10 11 12; 0 1
-1 3 7 1 3 4 -1];
%Membangunjaringansyaraf
>>JumlahKlas = 3;
>>net = newc([-2 12; -1 7],
JumlahKlas);
%Melihatbobot-bobot
input, lapisan, dan bias
>>Bobot_Input = net.IW {1,1}
Bobot_Input =
5 3
5 3
5 3
>>Bobot_Bias_Input = net.b {1,1}
Bobot_Bias_Input =
8.1548
8.1548
8.1548
JaringanakandilatihdenganmenggunakanalgoritmapembelajaranKohonen,
denganmaksimum epoch = 500, dantoleransi error= 103.
>>net.trainParam.epochs = 500;
>>net.trainParam.goal = 0.001;
>>net =train(net,P);
%Akan
menghasilkan :
TRAINR, Epoch 0/500
TRAINR, Epoch 25/500
TRAINR, Epoch 50/500
TRAINR, Epoch 75/500
TRAINR, Epoch 100/500
TRAINR, Epoch 125/500
TRAINR, Epoch 150/500
TRAINR, Epoch 175/500
TRAINR, Epoch 200/500
TRAINR, Epoch 225/500
TRAINR, Epoch 250/500
TRAINR, Epoch 275/500
TRAINR, Epoch 300/500
TRAINR, Epoch 325/500
TRAINR, Epoch 350/500
TRAINR, Epoch 375/500
TRAINR, Epoch 400/500
TRAINR, Epoch 425/500
TRAINR, Epoch 450/500
TRAINR, Epoch 475/500
TRAINR, Epoch 500/500
TRAINR, Maximum epoch reached.
>>BobotAkhir_Input = net.IW{1,1}
BobotAkhir_Input =
-0.9992 0.0007
3.9994 3.6672
11.0000 2.0006
>>BobotAkhir_Bias_Input =
net.b{1,1}
BobotAkhir_Bias_Input =
8.1480
8.1630
8.1535
%Melakukansimulasi
>>Ht=sim(net,P);
>> H=vec2ind(Ht)
H =
1 1 1
2 2 2
3 3 3
%Melakukansimulasi
>> A=[-5 3 9 -2 4; 4 2 0 2 -2];
>>Yt=sim(net,A);
>> Y=vec2ind(Yt)
Y =
1 2 3
1 1
%Menggambargrafik
>> r=rand(1,JumlahKlas);
>> g=rand(1,JumlahKlas);
>> b=rand(1,JumlahKlas);
>>for i=1:size(P,2),
for
j=1:JumlahKlas,
if
H(i)== j,
plot
(P(1,i),P(2,i),'marker','*','color',[r(j) g(j) b(j)]);
hold
on;
plot(net.IW{1,1}
(j,1),net.IW{1,1}(j,2),'marker','o','color',[r(j) g(j) b(j)]);
text
(net.IW {1,1}(j,1)+.1,net.IW{1,1}(j,2)+.1,int2str(j));
end;
end;
end;
>>for i=1:size(A,2),
for
j=1:JumlahKlas,
if
Y(i)==j,
plot
(A(1,i),A(2,i),'marker','+','color',[r(j) g(j) b(j)]);
end;
end;
end;
>>title('HasilPelatihandenganAlgoritma
KOHONEN (*:data training)(o:bobot)(+:data testing)');
>>xlabel('Var-1');ylabel('Var-2');
>> r=rand(1,JumlahKlas);
>> g=rand(1,JumlahKlas);
>> b=rand(1,JumlahKlas);
>>for i=1:size(P,2),
for
j=1:JumlahKlas,
if
H(i)== j,
plot
(P(1,i),P(2,i),'marker','*','color',[r(j) g(j) b(j)]);
hold
on;
plot(net.IW{1,1}
(j,1),net.IW{1,1}(j,2),'marker','o','color',[r(j) g(j) b(j)]);
text
(net.IW {1,1}(j,1)+.1,net.IW{1,1}(j,2)+.1,int2str(j));
end;
end;
end;
>>for i=1:size(A,2),
for
j=1:JumlahKlas,
if
Y(i)==j,
plot
(A(1,i),A(2,i),'marker','+','color',[r(j) g(j) b(j)]);
end;
end;
end;
>>title('HasilPelatihandenganAlgoritma
KOHONEN (*:data training)(o:bobot)(+:data testing)');
>>xlabel('Var-1');ylabel('Var-2');
Hasil:
Tidak ada komentar:
Posting Komentar