Prak1JST_1006800144

13
TOPIK DALAM JARINGAN SYARAF TIRUAN 2011 Laporan Praktikum 1 Jaringan Syaraf Tiruan Muhammad Hafizhuddin Hilman 1006800144 F AKULTAS I LMU K OMPUTER UI

Transcript of Prak1JST_1006800144

Page 1: Prak1JST_1006800144

TOPIK DALAM JARINGAN SYARAF TIRUAN

2011

Laporan Praktikum 1

Jaringan Syaraf Tiruan Muhammad Hafizhuddin Hilman

1006800144

F A K U L T A S I L M U K O M P U T E R U I

Page 2: Prak1JST_1006800144

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

Page 3: Prak1JST_1006800144

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

Page 4: Prak1JST_1006800144

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).

Page 5: Prak1JST_1006800144

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

Page 6: Prak1JST_1006800144

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%

Page 7: Prak1JST_1006800144

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

Page 8: Prak1JST_1006800144

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

Page 9: Prak1JST_1006800144

Hasil Eksperimen Skenario 1 (Training)

Skenario 1 (Testing)

Hasil prediksi kurs dollar 1 Maret 2011 = 9029.5357

Error = -72.3427

Page 10: Prak1JST_1006800144

Skenario 2 (Training)

Skenario 2 (Testing)

Hasil prediksi kurs dollar 1 Maret 2011 = 8796.1594

Error = 14.045

Page 11: Prak1JST_1006800144

Skenario 3 (Training)

Skenario 3 (Testing)

Hasil prediksi kurs dollar 1 Maret 2011 = 8815.6434

Error = -29.8027

Page 12: Prak1JST_1006800144

Skenario 4 (Training)

Skenario 4 (Testing)

Hasil prediksi kurs dollar 1 Maret 2011 = 8764.932

Error = -12.5573

Page 13: Prak1JST_1006800144

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.