Академический Документы
Профессиональный Документы
Культура Документы
Salam;
Bikin program buat melatih dan menguji Neural Network (NN) kalo pake' NNTools-nya Matlab
gak sulit kok, cukup simple. Beberapa tipe algoritma NN yg cukup familiar udah ada di
Matlab, mulai Hebb, Adaline, Perceptron, sampe Probabilistic NN juga ada. Di bawah ini ada
langkah yang mungkin bisa dicoba buat yang lagi belajar coding NN, especially
Backpropagation Neural Network (BPNN) pake' Matlab by .m file editor, lets try;
Buat nginputkan data, kita bisa pake matrix yang berisi data input dan target NN kita nanti,
kita bisa pake' 1 matrix yang dibagi2, ato masing2 1 matrix buat input n data. Tlg diingat,
matrix input n target harus di-transpose, biar sesuai buat format itungan fungsi NN ntar.
Misalnya kita punya matrix "Data" yang berisi data input n target buat NN kita, kita bisa
membagi matrix itu utk variabel input dan target kita, just like these;
%%%%% Data Input %%%%%
Input = Data(1:m,1:n)';
Target = Data(1:m,n+1:o)';
Sebelum data yg kita punya diproses, kita perlu melakukan proses normalisasi dan
preprocessing dulu, biar nilai masing2 data bisa diitung dengan nilai yg lbih kcil tanpa
khilangan karakteristiknya sendiri, just like these;
%%%%% Preprocessing / Normalisasi %%%%%
[Inputn,meanIn,stdIn,Targetn,meanT,stdT] = prestd(Input,Target);
Stelah smua data input n target dinormalisasi, then kita bangun jaringan BPNN kita, u can use
these code;
%%%%% Build BPNN %%%%%
BPNNx = newff(minmax(Inputn), [x1 x2 x3 ...], {'act1' 'act2' 'act3' '...'}, 'train' );
Dalam programming BPNN menggunakan Matlab, umumnya dikenal 3 macam fungsi aktivasi
yang umum digunakan yaitu :
- tansig = fungsi sigmoid bipolar
- logsig = fungsi sigmoid unipolar
- purelin = fungsi identitas
Untuk metode learning BPNN, terdapat beberapa metode yang umum digunakan dan
embedded dalam Matlab, yaitu :
- traingd = metode BPNN standar- traingdm = metode BPNN yg dipercepat dgn momentum
- traingda = metode BPNN yg dipercepat dgn learning rate variabel
- traingdx = metode BPNN yg dipercepat dgn learning rate variabel dan momentum
- trainrp = metode resilient BPNN
prast_yuu@yahoo.co.id / prastyuu@elect-eng.its.ac.id 1
- traincgf = metode BPNN dgngradien conjugate Fletcher-Reeves
- traincgp = metode BPNN dgngradien conjugate Polak-Ribiere
- traincgb = metode BPNN dgngradien conjugate Powel Beale
Lha, stelah kita menyiapkan input, target, dan network yg ntar bakal dilatih, kita juga perlu
mnentukan parameter2 yg mempengaruhi learning BPNN kita. Parameter2 itu harus kita
tentukan dgn mngatur nilai masing2 parameter dalam bentuk integer,desimal, ato
eksponensial, just like these examples;
%%%%% Set Parameter %%%%%
net.trainParam.epochs = p1;
net.trainParam.goal = p2;
net.trainParam.lr = p3;
net.trainParam.show = p4;
net.trainParam.mc = p5;
Stelah smua perjuangan mengatur input, target, network, dan parameter dilalui, then now
we'll start the learning process, just like these :
%%%%% Learn Our BPNN %%%%%
BPNNx = train(BPNNx,Inputn,Targetn);
all variables of that function udah dijelaskn di atas di bagian preprocessing dan pembangunan
network;
Stelah BPNN kita terlatih hingga mendapatkan nilai error minimum ato epoch maksimum, then
kita akan nge-test hasil learning kita, sama aja dgn ujian semester kita tiap semester. We can
generate these function to dimulate this test;
%%%%% Simulate Our BPNN%%%%%
SimBPNNn = sim(BPNNx,Inputn);
SimBPNN = poststd(SimBPNNn,meanT,stdT);
then kita bisa mengevaluasi kinerja output network yang kita simulasikan dgn data pelatihan
dan target using these function :
%%%%% Evaluate BPNN %%%%%
[mx,b,rx] = postreg (SimBPNN,Target);
After that process already done, kita telah selesai memrogram BPNN kita. Pada pemakaian
umumnya, ada function lain yg umum digunakan untuk melihat kinerja BPNN kita, just like
these codes :
prast_yuu@yahoo.co.id / prastyuu@elect-eng.its.ac.id 2
fprintf ( 'No Target BPNN Output BPNN ERROR\n');
fprintf ( '%2.0f %7.3f %7.3f %7.3f\n', ShowNN');
Stelah smua proses coding dilakukan, just run that code using .m file editor, fix the error then
see how your BPNN work, have a nice try guys, slmt mncoba!
prast_yuu@yahoo.co.id / prastyuu@elect-eng.its.ac.id 3