-
Pendahuluan Jaringan syarat tiruan atau artificial neural
network adalah jaringan dari sekelompok
unit pemroses kecil yang dimodelkan berdasarkan jaringan syaraf
manusia. Jaringan
syaraf tiruan merupakan sistem adaptif yang dapat mengubah
strukturnya untuk
memecahkan masalah berdasarkan informasi eksternal maupun
internal yang mengalir
melalui jaringan tersebut [Wikipedia].
Tujuan Tujuan dari praktikum jaringan syaraf tiruan ini adalah
untuk mengetahui dan
mempelajari inplementasi dari konsep jaringan syaraf tiruan yang
diterapkan pada dua
masalah dunia nyata yaitu klasifikasi iris dan prediksi nilai
tukar mata uang dollar
amerika terhadap rupiah.
Permasalahan Ada dua permasalahan yang akan diselesaikan dalam
praktikum ini. Permasalahan
pertama adalah klasifikasi iris dan permasalahan yang kedua
adalah prediksi nilai tukar
mata uang dollar amerika terhadap rupiah. Kedua permasalahan ini
akan diselesaikan
dengan jaringan syaraf tiruan bertipe feed forward back
propagation.
Tools yang akan digunakan dalam praktikum ini adalah MATLAB
dengan dua
pendekatan, GUI dan non-GUI. Permasalahan klasifikasi iris akan
diselesaikan dengan
pendekatan non-GUI (source code akan dilampirkan) sementara
permasalahan prediksi
nilai tukar mata uang dollar amerika terhadap rupiah akan
diselesaikan dengan
pendekatan GUI.
Software dan Hardware Berikut ini adalah tabel dari software dan
hardware yang digunakan dalam praktikum
jaringan syaraf tiruan
Tabel 1. Spesifikasi Software dan Hardware yang digunakan
Software Hardware
Operating System: Microsoft Windows XP Professional Version 2002
Service Pack 3 Computational Tools: MATLAB Version 7.8.0.347 R2009a
32-bit (win32)
Processor: Intel Core Duo Processor T2300E (1.66 GHz, 667 MHz, 2
MB L2 Cache) RAM: 1526 MB
-
Permasalahan I: Klasifikasi Iris Iris adalah genus dari spesies
bunga yang memiliki warna yang cukup menarik. Iris
berasal dari bahasa yunani yang artinya adalah pelangi. Dataset
iris merupakan data
umum yang biasa digunakan dalam eksperimen klasifikasi. Dataset
ini pertama kali
dikenalkan oleh Sir Ronald Aylmer Fisher pada tahun 1936 sebagai
contoh dari
permasalahan analisis diskriminan [Wikipedia].
Dataset iris ini memiliki empat atribut yang menjadi feature
dalam klasifikasi tiga kelas
yang berbeda. Keempat feature tersebut adalah sepal length,
sepal width, petal length,
dan petal width. Sementara tiga kelas yang menjadi dasar
klasifikasi adalah species yaitu
setosa, versicolor, dan virginica.
Desain Eksperimen Praktikum klasifikasi iris ini menggunakan
feed forward back propagation yang berbasis
non-GUI. Data iris yang digunakan sudah tersedia pada MATLAB.
Dataset iris yang ada
diproses pada bagian spesies sehingga tiga jenis klasifikasi
tersebut diubah menjadi
bentuk numerik. Berikut ini adalah contoh tabel berisi dataset
iris yang belum diproses
dan yang sudah diproses
Tabel 2. Dataset Iris (sebelum preprocessing)
Sepal Length Sepal Width Petal Length Petal Width Species
5,1 3,5 1,4 0,2 setosa 4,9 3 1,4 0,2 setosa 4,7 3,2 1,3 0,2
setosa 4,6 3,1 1,5 0,2 setosa 5 3,6 1,4 0,2 setosa 7 3,2 4,7 1,4
versicolor
6,4 3,2 4,5 1,5 versicolor 6,9 3,1 4,9 1,5 versicolor 5,5 2,3 4
1,3 versicolor
6,5 2,8 4,6 1,5 versicolor 5,8 2,7 5,1 1,9 virginica 7,1 3 5,9
2,1 virginica 6,3 2,9 5,6 1,8 virginica 6,5 3 5,8 2,2 virginica 7,6
3 6,6 2,1 virginica
-
Tabel 2. Dataset Iris (setelah preprocessing)
Sepal Length Sepal Width Petal Length Petal Width Species
5,1 3,5 1,4 0,2 1 4,9 3 1,4 0,2 1 4,7 3,2 1,3 0,2 1 4,6 3,1 1,5
0,2 1 5 3,6 1,4 0,2 1 7 3,2 4,7 1,4 2
6,4 3,2 4,5 1,5 2 6,9 3,1 4,9 1,5 2
5,5 2,3 4 1,3 2 6,5 2,8 4,6 1,5 2 5,8 2,7 5,1 1,9 3 7,1 3 5,9
2,1 3 6,3 2,9 5,6 1,8 3 6,5 3 5,8 2,2 3
7,6 3 6,6 2,1 3
Untuk praktikum ini digunakan beberapa parameter dan skenario.
Berikut ini adalah
beberapa parameter yang digunakan dalam praktikum
Tabel 3. Parameter yang digunakan dalam praktikum
Parameter Nilai/Tipe Epochs (max iteration) 1000
Learning rate 0.00001 / 10-5 Hidden layer 4
Momentum constant 0.95 Output function logsig dan purelin
Training function trainlm Performance function mse dan sse
Ada beberapa skenario yang digunakan dalam praktikum ini. Pada
setiap skenario
dilakukan lima kali percobaan. Berikut ini adalah skenario yang
digunakan dalam
pelatihan
1. TF trainlm menggunakan PF mse dan OF logsig (hasil pada tabel
4).
2. TF trainlm menggunakan PF sse dan OF logsig (hasil pada tabel
5).
3. TF trainlm menggunakan PF mse dan OF purelin (hasil pada
tabel 6).
4. TF trainlm menggunakan PF sse dan OF purelin (hasil pada
tabel 7).
-
Source Code
data1=load('data_iris.txt'); data2=data1;
dataTrain=data1(:,1:size(data1,2)-1);
dataTest=data2(:,1:size(data1,2)-1); target =
ind2vec(data1(:,size(data1,2))); target = full(target)'; targetT =
ind2vec(data2(:,size(data1,2))); targetT = full(targetT)';
hid=4; iter=1000; alva=0.00001;
%=====================train backpropagation=============%
NewdataTarget=target'; [pn,meanp,stdp]=prestd(dataTrain');
net=newff(minmax(pn),[hid 3],{'logsig' 'logsig'},'traingdx');
net.trainParam.epochs=iter; net.trainParam.min_grad=0;
net.inputWeights{1,1}.initFcn = 'initzero';
net.layerWeights{2,1}.initFcn = 'initzero'; net.performFcn =
'sse';
net.trainParam.lr=alva; net.trainParam.mc=0.95;
tic; net=train(net,pn,NewdataTarget); training=sim(net,pn); [ind
classobj]=max(training); [a tcls]=max(NewdataTarget);
toc; traintime=toc
%=====================test backpropagation=============%
testn=dataTest'; tTest=targetT'; [d N]=size(testn);
dataTesting=testn; tic;
dataTesting=trastd(dataTesting,meanp,stdp);
testing=sim(net,dataTesting); [maxHasil classObj]=max(testing);
toc; testime=toc
-
Hasil Eksperimen Berikut ini adalah tabel hasil praktikum yang
telah dijalankan dengan skenario yang
sudah disusun pada bagian sebelumnya
Tabel 4. Hasil praktikum dengan skenario 1
Percobaan Epoch Time Setosa Versicolor Virginica miss
Kinerja
1 1000 12.1325+0.0194 50 50 50 0 100% 2 1000 12.0631+0.0238 50
50 50 0 100% 3 1000 13.9405+0.0249 50 50 50 0 100% 4 1000
12.4070+0.0243 50 50 50 0 100% 5 1000 13.0486+0.0237 50 50 50 0
100%
Rata-rata 1000 12.71684+0.02322 50 50 50 0 100%
Tabel 5. Hasil praktikum dengan skenario 2
Percobaan Epoch Time Setosa Versicolor Virginica miss
Kinerja
1 1000 12.4954+0.0243 50 50 50 0 100% 2 1000 12.9861+0.0245 50
50 50 0 100% 3 1000 12.9865+0.0245 50 50 50 0 100% 4 1000
13.9683+0.0240 50 50 50 0 100% 5 1000 12.5963+0.0237 50 50 50 0
100%
Rata-rata 1000 13.00652+0.121 50 50 50 0 100%
Tabel 6. Hasil praktikum dengan skenario 3
Percobaan Epoch Time Setosa Versicolor Virginica miss
Kinerja
1 9 1.1347+0.0237 50 34 43 23 84.7% 2 8 0.4341+ 0.0105 50 34 43
23 84.7% 3 13 0.4978+0.0101 50 34 43 23 84.7% 4 8 1.1089+0.0239 50
34 43 23 84.7% 5 8 1.1228+0.0244 50 34 43 23 84.7%
Rata-rata 7.92 0.85966+0.01852 50 34 43 23 84.7%
Tabel 7. Hasil praktikum dengan skenario 4
Percobaan Epoch Time Setosa Versicolor Virginica miss
Kinerja
1 7 0.4270+ 0.0107 50 34 43 23 84.7% 2 10 0.4255+ 0.0096 50 34
43 23 84.7% 3 7 0.3984+ 0.0158 50 34 43 23 84.7% 4 10 0.4323+
0.0098 50 34 43 23 84.7% 5 8 0.4100+ 0.0098 50 34 43 23 84.7%
Rata-rata 8.4 0.41864+0.01114 50 34 43 23 84.7%
-
Permasalahan II: Prediksi Kurs USD Rp Salah satu implementasi
dari jaringan syaraf tiruan adalah dalam permasalahan
forecasting. Permasalahan forecasting yang akan dijadikan salah
satu contoh pada
praktikum ini adalah prediksi kurs mata uang dollar amerika
terhadap rupiah.
Pada praktikum ini akan digunakan data kurs mata uang dollar
amerika terhadap
rupiah pada bulan februari 2011 yang diambil dari kurs resmi
Bank Indonesia yang
akan digunakan untuk memprediksi kurs mata uang dollar amerika
terhadap rupiah
pada tanggal 1 maret 2011.
Desain Eksperimen Praktikum forecasting kali ini masih
menggunakan feed forward back propagation
namun dengan pendekatan GUI. Data kurs mata uang ini diambil
dari
http://www.ortax.org/ yang mengacu kepada kurs resmi yang
dikeluarkan oleh Bank
Indonesia.
Berikut ini adalah tabel kurs mata uang dollar amerika terhadap
rupiah
Tabel 8. Tabel kurs dollar amerika terhadap rupiah
Tanggal Nilai Jual Nilai Beli Nilai Tengah
1 Februari 2011 9542 8542 9042 2 Februari 2011 9517 8517 9017 4
Februari 2011 9530 8530 9030 7 Februari 2011 9475 8475 8975 8
Februari 2011 9417 8417 8917 9 Februari 2011 9417 8417 8917
10 Februari 2011 9424 8424 8924 11 Februari 2011 9431 8431 8931
14 Februari 2011 9421 8421 8921 16 Februari 2011 9404 8404 8904 17
Februari 2011 9377 8377 8877 18 Februari 2011 9358 8358 8858 21
Februari 2011 9345 8345 8845 22 Februari 2011 9373 8373 8873 23
Februari 2011 9357 8357 8857 24 Februari 2011 9357 8357 8857 25
Februari 2011 9358 8358 8858 28 Februari 2011 9323 8323 8823
1 Maret 2011 9312 8312 8812
Untuk praktikum ini hanya digunakan data nilai tengah sebagai
representasi dari kurs
dollar amerika terhadap rupiah. Berikut ini adalah desain input
dan target serta
parameter yang digunakan dalam praktikum
http://www.ortax.org/
-
Tabel 9. Desain input dan target praktikum
Input Target
Tanggal Nilai Tengah Tanggal Nilai Tengah 1 Februari 2011 9042 2
Februari 2011 9017 2 Februari 2011 9017 4 Februari 2011 9030 4
Februari 2011 9030 7 Februari 2011 8975 7 Februari 2011 8975 8
Februari 2011 8917 8 Februari 2011 8917 9 Februari 2011 8917 9
Februari 2011 8917 10 Februari 2011 8924
10 Februari 2011 8924 11 Februari 2011 8931 11 Februari 2011
8931 14 Februari 2011 8921 14 Februari 2011 8921 16 Februari 2011
8904 16 Februari 2011 8904 17 Februari 2011 8877 17 Februari 2011
8877 18 Februari 2011 8858 18 Februari 2011 8858 21 Februari 2011
8845 21 Februari 2011 8845 22 Februari 2011 8873 22 Februari 2011
8873 23 Februari 2011 8857 23 Februari 2011 8857 24 Februari 2011
8857 24 Februari 2011 8857 25 Februari 2011 8858 25 Februari 2011
8858 28 Februari 2011 8823 28 Februari 2011 8823 1 Maret 2011
8812
Untuk skenario percobaan akan digunakan skenario yang sama
dengan permasalahan I
1. TF trainlm menggunakan PF mse dan OF logsig (hasil pada
gambar 1).
2. TF trainlm menggunakan PF sse dan OF logsig (hasil pada
gambar 2).
3. TF trainlm menggunakan PF mse dan OF purelin (hasil pada
gambar 3).
4. TF trainlm menggunakan PF sse dan OF purelin (hasil pada
gambar 4).
Sementara berikut ini adalah parameter yang digunakan dalam
praktikum
-
Hasil Eksperimen Skenario 1 (Training)
Skenario 1 (Testing)
Hasil prediksi kurs dollar 1 Maret 2011 = 9029.5357
Error = -72.3427
-
Skenario 2 (Training)
Skenario 2 (Testing)
Hasil prediksi kurs dollar 1 Maret 2011 = 8796.1594
Error = 14.045
-
Skenario 3 (Training)
Skenario 3 (Testing)
Hasil prediksi kurs dollar 1 Maret 2011 = 8815.6434
Error = -29.8027
-
Skenario 4 (Training)
Skenario 4 (Testing)
Hasil prediksi kurs dollar 1 Maret 2011 = 8764.932
Error = -12.5573
-
Untuk mempermudah perbandingan, berikut ini adalah tabel yang
merangkum keempat
skenario yang digunakan dalam prediksi kurs mata uang.
Tabel 10. Tabel perbandingan keempat skenario
Skenario Nilai Prediksi Error (abs)
1 9029.5357 72.3427 2 8796.1594 14.045 3 8815.6434 29.8027 4
8764.932 12.5573
Analisis dan kesimpulan Ada beberapa cara untuk
mengimplementasikan jaringan syaraf tiruan pada MATLAB,
yaitu dengan pendekatan GUI maupun non-GUI. Selain itu,
implementasi jaringan syaraf
tiruan pada sebuah permasalahan pun tidak melulu sama, pada
permasalahan pertama,
jaringan syaraf tiruan digunakan untuk klasifikasi sementar pada
permasalahan kedua
digunakan untuk forecasting.
Pada permasalahan pertama, tampak bahwa skenario 1 dan 2 lebih
unggul daripada
skenario 3 dan 4. Dari hasil praktikum terlihat pula bahwa
skenario 1 mendapat hasil
yang superior dibanding skenario yang lain.
Sementar itu pada permasalahan kedua, tanpak bahwa skenario 2
dan 4 lebih unggul
daripada skenario 1 dan 3. Dari hasil praktikum terlihat pula
bahwa skenario 4
mendapat hasil yang superior dibanding skenario yang lain.