Seperti halnya jaringan saraf tiruan yang lain, Radial Basis Function Network (RBFN) juga memiliki topologi jaringan. Topologi milik RBFN terdiri atas unit lap
isan masukan (input), unit lapisan tersembunyi (hidden), dan unit lapisan keluaran (output). Topologi RBFN digambarkan seperti berikut:
Hal yang khusus pada RBFN ialah
berikut ini.
a. Pemrosesan sinyal dari input layer ke
hidden layer, sifatnya nonlinier, sedangkan
dari hidden layer ke ouput layer sifatnya
linear.
b. Pada hidden layer digunakan sebuah fungsi
aktivasi yang berbasis radial, misalnya
fungsi Gaussian.
c. Pada output unit, sinyal dijumlahkan seperti
biasa
d. Sifat jaringannya ialah feed-forward.
Algoritma Pelatihan Jaringan
Berguna atau setidaknya suatu jaringan saraf tiruan dit
entukan dari hasil pelatihannya yang berupa bobot neuronnya. RBFN memiliki algoritma pelatihan yang agak unik karena terdiri atas cara supervised dan unsupervised
sekaligus. Pelatihan RBFN terdiri atas dua
tahap.
berikut coding lengkap dengan MATLAB menggunakan data yang saya buat dari exel, silahkan duperbaiki jika mau diubah dan dijadikan lebih baik
clear
P=[4 6 8 10 12 14 16 18 20 22 24 26 28 30;1 3 5 7 9 11 13 15 17 19 21 23 25 27 ];%data training
T=[29 57 93 137 189 249 317 393 477 569 669 777 893 1017];%data target training
A=[5 7 9 11 13 15 17 19 21 23 25 27 29;2 4 6 8 10 12 14 16 18 20 22 24 26 ];%data testing
B=[42 74 114 162 218 282 354 434 522 618 722 834 954];%data target testing
net= newrbe(P,T,15);%membuat jaringan RBF
bobot_input=net.IW{1,1};%inisialisasi bobot
bobot_bias_input=net.b{1,1};%inisialisasi bias
bobot_lapisan=net.LW{2,1};
bobot_bias_lap=net.b{2,1};
a=sim(net,P);%simulasi jaringan
H=[(1:size(P,2))' T' a' T'-a'];
sprintf(‘%5d %9.2f %9.2f %9.2f\n’,H’)
b=sim(net,A);
L=[(1:size(A,2))' B' b' B'-b'];
sprintf(‘%5d %9.2f %9.2f %9.2f\n’,L’)
k= [1:size(T,2)];
t=[1:size(A,2)];
[m1,c1,r1]=postreg(a,T)
pause;
plot(k,T,’go’,k,a,’m*’)
title(‘hasil pengujian data checking: target(0), output (*)’);
xlabel(‘data ke-’);
ylabel(‘target/output’);
grid;
pause;
[m2,c2,r2]=postreg(b,B);
pause;
plot(t,B, ‘go’,t,b,’r*’);
title(‘hasil pengujian data checking: target(0), output (*)’);
xlabel(‘data ke-’);
ylabel(‘target/output’);
grid;
