TUGAS MATA KULIAH:
NEURAL NETWORK
OLEH KELOMPOK II: 1. Yenita Mirawanti 2. Maslim Rajab Syafrizal 3. Agus Widodo 4. Dewi Fenti Ekasari
DOSEN :
PROGRAM MAGISTER JURUSAN STATISTIKA (KOMPUTASI STATISTIK) FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) INSTITUT TEKNOLOGI SEPULUH NOVEMBER SURABAYA 2010
DAFTAR ISI BAB I
SELF ORGANIZING MAPS 1.1
…………………………………………… ………………………
1
………………………………… …………………………………… ….
1
PENDAHULUAN
1.1.1 PENGERTIAN 1.1.2 ARSITEKTUR 1.1.3 ALGORITMA 1.2
BAB II
PEMBAHASAN
2
………………………………… ……………………………… …….
2
……………………………… ……………………………… …………….
PENDAHULUAN
10
…………………………………… ……………………………… …….
10
……………………………… ……………………………… ……
10
………………………………… ………………………………….
10
………………………………… ……………………………… …..
11
2.1.2 ARSITEKTUR 2.1.3 ALGORITMA PEMBAHASAN
……………………………… ……………………………… …………….
BACKPROPAGATION BACKPROPAGATION 3.1
……………………………………… …………………………………. .
PENDAHULUAN
…………………………………… ……………………………… …….
3.1.1 PENGERTIAN
3.1.3 ALGORITMA
BAB IV
PEMBAHASAN
12 17 17
……………………………… ……………………………… ….
17
………………………………… …………………………………
17
………………………………… ……………………………… ….
18
3.1.2 ARSITEKTUR
3.2
3
………………………………………………….
2.1.1 PENGERTIAN
2.2
1
………………………………… …………………………………..
LEARNING VECTOR QUANTIZATION 2.1
BAB III
………………………………… ……………………………… …..
……………………………… ……………………………… …………….
20
RADIAL BASIS FUNCTION NEURAL NETWORK
25
4.1
25
…………………………………..
PENDAHULUAN
…………………………………… ……………………………… …….
4.1.1 PENGERTIAN 4.1.2 ARSITEKTUR 4.2
PEMBAHASAN
…………………………………………………………………..
………………………………… ………………………………..
……………………………… ……………………………… ……………
25 25 29
DAFTAR ISI BAB I
SELF ORGANIZING MAPS 1.1
…………………………………………… ………………………
1
………………………………… …………………………………… ….
1
PENDAHULUAN
1.1.1 PENGERTIAN 1.1.2 ARSITEKTUR 1.1.3 ALGORITMA 1.2
BAB II
PEMBAHASAN
2
………………………………… ……………………………… …….
2
……………………………… ……………………………… …………….
PENDAHULUAN
10
…………………………………… ……………………………… …….
10
……………………………… ……………………………… ……
10
………………………………… ………………………………….
10
………………………………… ……………………………… …..
11
2.1.2 ARSITEKTUR 2.1.3 ALGORITMA PEMBAHASAN
……………………………… ……………………………… …………….
BACKPROPAGATION BACKPROPAGATION 3.1
……………………………………… …………………………………. .
PENDAHULUAN
…………………………………… ……………………………… …….
3.1.1 PENGERTIAN
3.1.3 ALGORITMA
BAB IV
PEMBAHASAN
12 17 17
……………………………… ……………………………… ….
17
………………………………… …………………………………
17
………………………………… ……………………………… ….
18
3.1.2 ARSITEKTUR
3.2
3
………………………………………………….
2.1.1 PENGERTIAN
2.2
1
………………………………… …………………………………..
LEARNING VECTOR QUANTIZATION 2.1
BAB III
………………………………… ……………………………… …..
……………………………… ……………………………… …………….
20
RADIAL BASIS FUNCTION NEURAL NETWORK
25
4.1
25
…………………………………..
PENDAHULUAN
…………………………………… ……………………………… …….
4.1.1 PENGERTIAN 4.1.2 ARSITEKTUR 4.2
PEMBAHASAN
…………………………………………………………………..
………………………………… ………………………………..
……………………………… ……………………………… ……………
25 25 29
BAB I SELF ORGANIZING MAPS
1.1
PENDAHULUAN
Analisis Cluster adalah upaya menemukan sekelompok obyek yang mewakili suatu karakter yang sama atau hampir sama ( similar ) antar satu obyek dengan obyek lainnya pada suatu kelompok dan memiliki perbedaan ( not similar ) dengan obyek– obyek– obyek pada kelompok lainnya. Tentunya persamaan dan obyek perbedaan tersebut diperoleh berdasar informasi yang diberikan oleh obyek – obyek tersebut beserta hubungan (relationship ( relationship ) antar obyek. Berdasarkan tipe pembelajarannya, jaringan syaraf tiruan (JST) dapat dibagi menjadi dua macam tipe JST, JST supervised dan JST unsupervised. Perbedaan kedua macam JST tersebut didasarkan pada sifat data dan kemampuan pembelajaran JST. Pada JST supervised data pelatihannya terdapat data masukan dan data pembimbing, proses pembelajaran adalah penyesuaian bobot JST agar dengan keluaran proses data masukan akan menyerupai data bimbingan. Sedangkan yang dimaksud JST unsupervised adalah JST yang mempunyai kemampuan penyesuaian bobot JST hanya didasarkan data masukannya (tanpa data pembimbing). SOM merupakan salah satu model jaringan syaraf unsupervised yang menyerupai model jaringan syaraf manusia. 1.1.1. Pengertian Self Organizing Maps (SOM) merupakan perluasan dari jaringan kompetitif yang sering disebutsebagai jaringan Kohonen. Jaringan ini menggunakan metode pembelajaran unsupervised. Jaringan ini pertama kali diperkenalkan oleh Prof. Teuvo kohonen pada tahun 1982. Pada jaringan ini, suatu lapisan yang berisi neuron-neuron akan menyusun dirinya sendiri berdasarkan input nilai tertentu dalam suatu kelompok yang dikenal dengan istilah cluster. Selama proses penyusunan diri, cluster yang memiliki vektor bobot paling cocok dengan pola input (memiliki jarak paling dekat) akan terpilih sebagai pemenang. Neuron yang menjadi pemenang beserta neuron-neuron tetangganya akan memperbaiki bobot-bobotnya. Metode SOM digunakan untuk pemetaan seperti clustering dimana prosesnya adalah suatu objek masuk pada cluster ke-j tergantung pada jarak yang ditetapkan. Jumlah neuron target sama dengan maksimum jumlah kelompok yang hendak kita buat. Dalam iterasinya , bobot neuron yang diubah tidak hanya bobot garis yang terhubung ke neuron pemenang saja, tetapi juga bobot neuron sekitarnya. Tugas Neural Network kelompok II
1
1.1.2. Arsitektur Jaringan Kohonen SOM terdiri dari dua lapisan ( layer ), yaitu lapisan input dan lapisan output . Setiap neuron dalam lapisan input terhubung dengan setiap neuron pada lapisan output . Setiap neuron dalam lapisan output merepresentasikan kelas dari input yang diberikan. Gambar struktur JST Kohonen terlihat seperti pada Gambar 1 berikut ini. Gambar1. Arsitektur SOM
Penulisan istilah: X : vektor input pembelajaran. X = (x1,x2,…,xj,…,xn). : learning rate R : radius neighborhood XI : neuron/node input. w0j : bias pada neuron output ke-j Yj : neuron/node output ke-j C : konstanta
1.1.3. Algoritma Berikut ini adalah tahapan dalam algoritma pembelajaran SOM: Step 0: Inisialisasi bobot (Wij) Tentukan parameter jarak (R) Tentukan learning rate ( ) Step 1:
∝
Jika kondisi stop salah, lakukan step 2 – 8 Step 2: untuk semua input vektor x lakukan step 3 – 5
Tugas Neural Network kelompok II
2
Step 3:
untuk setiap j
− =
Step 4: Step 5:
(
)2
dapatkan j sehingga D(j) minimal untuk semua j yang berada dalam jarak dan untuk semua i
∝
Wij (baru) = Wij (lama) + (Xi – Wij) lama Step 6:
update learning rate
Step 7: Update jarak Step 8: Uji kondisi stop (Stop jika
− ≤ (
)
)
1.2.
PEMBAHASAN Data yang digunakan dalam pelatihan ini adalah data komponen IPM propinsi Jawa Timur Tahun 2004 yang terdiri dari 29 kabupaten dan 7 kota. Adapun kabupaten/kota yang dimaksud adalah sebagai berikut: Daerah tingkat II kabupaten terdiri dari: 1. Pacitan 16. Mojokerto 2. Ponorogo 17. Jombang 3. Trenggalek 18. Nganjuk 4. Tulungagung 19. Madiun 5. Blitar 20. Magetan 6. Kediri 21. Ngawi 7. Malang 22. Bojonegoro 8. Lumajang 23. Tuban 9. Jember 24. Lamongan 10.Banyuwangi 25. Gresik 11.Bondowoso 26. Bangkalan 12.Situbondo 27. Sampang 13.Probolinggo 28. Pamekasan 14.Pasuruan 29. Sumenep 15.Sidoarjo Daerah tingkat II kota terdiri dari: 30. Kota Kediri 31. Kota Blitar 32. Kota Probolinggo 33. Kota Pasuruan 34. Kota Madiun 35. Kota Surabaya 36. Kota Batu Tugas Neural Network kelompok II
3
Sedangkan variabel-variabel yang akan digunakan untuk pengelompokan adalah: X1 = Angka Harapan Hidup X2 = Angka Melek Huruf (AMH) X3 = Rata-rata lama sekolah (ALS) X4 = Pengeluaran riil perkapita (PPP) Adapun data asal yang akan digunakan ditampilkan sebagai berikut: Tabel 1.1. Komponen IPM Menurut Kabupaten/Kota Di Propinsi Jawa Timur Tahun 2005 No. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32.
Kab/Kota
AHH (X1) Pacitan 70,0 Ponorogo 67,5 Trenggalek 69,9 Tulungagung 70,3 Blitar 69,0 Kediri 68,4 Malang 67,0 Lumajang 65,7 Jember 61,1 Banyuwangi 64,9 Bondowoso 60,7 Situbondo 61,7 Probolinggo 59,6 Pasuruan 62,2 Sidoarjo 68,8 Mojokerto 68,3 Jombang 68,4 Nganjuk 67,5 Madiun 67,5 Magetan 69,9 Ngawi 67,5 Bojonegoro 66,3 Tuban 66,1 Lamongan 67,2 Gresik 69,2 Bangkalan 61,6 Sampang 59,2 Pamekasan 61,7 Sumenep 62,9 Kt Kediri 69,1 Kt Blitar 70,5 Kt Probolinggo 67,8
Tugas Neural Network kelompok II
AMH (X2) 83,1 78,7 69,1 88,5 85,8 88,6 83,9 79,8 79,1 84,3 73,7 72,4 74,4 84,4 96,6 91,1 87,6 85,8 82,3 89,8 80,1 81,0 78,7 84,0 91,8 73,6 61,3 79,3 73,3 96,5 95,0 95,5
ALS (X3) 6,0 6,0 6,5 6,9 6,3 6,5 6,5 5,7 5,4 6,3 5,0 5,1 4,9 6,2 9,3 7,1 7,2 6,6 6,4 7,2 5,9 5,9 5,5 6,6 7,8 4,8 3,4 5,4 4,7 9,0 9,1 9,3
PPP (X4) 615,5 620,7 617,4 619,7 636,1 613,7 615,0 612,5 609,8 616,5 608,1 615,5 616,0 615,2 627,7 619,1 616,8 613,9 615,8 613,6 601,8 592,3 609,5 614,4 620,1 609,4 606,7 609,3 615,7 620,3 639,0 636,6 4
33. 34. 35. 36. 37.
Kt Pasuruan Kt Mojokerto Kt Madiun Kt Surabaya Kt Batu
68,1 65,4 70,5 69,9 69,2
88,0 95,4 94,9 95,9 96,1
7,8 8,4 9,2 9,8 9,6
635,7 631,6 632,9 619,6 631,0
Berdasarkan data tersebut di atas, maka diperoleh nilai maksimum minimum pada masing-masing variabel adalah sebagai berikut: Tabel 1.2. Deskriptif data komponen IPM Propinsi Jawa Timur Tahun 2004 No. 1. 2. 3. 4.
Variabel X1 X2 X3 X4
Maksimum 70,50 96,60 9,80 635,7
Minimum 59,20 61,30 3,40 592,30
Rata-rata 66,50 84,85 6,74 617,96
Selanjutnya dari nilai maksimum minimum tersebut digunakan sebagai acuan untuk proses pengelompokan data. Adapun pengolahan data pengelompokan ini menggunakan sofware statistik yaitu MATLAB dengan sintax sebagai berikut:
clc p=[70.0 67.5 69.9 70.3 69 68.4 67 65.7 61.1 64.9 60.7 61.7 59.6 62.2 68.8 68.3 68.4 67.5 67.5 69.9 67.5 66.3 66.1 67.2 69.2 61.6 59.2 61.7 62.9 69.1 70.5 67.8 68.1 65.4 70.5 69.9 69.2; 83.1 78.7 89.1 88.5 85.8 88.6 83.9 79.8 79.1 84.3 73.7 72.4 74.4 84.4 96.6 91.1 87.6 85.8 82.3 89.8 80.1 81 78.7 84 91.8 73.6 61.3 79.3 73.3 96.5 95 95.5 88 95.4 94.9 95.9 96.1; 6 6 6.5 6.9 6.3 6.5 6.5 5 5.4 6.3 5 5.1 4.9 6.2 9.3 7.1 7 6.6 6.4 7.2 5.9 5.9 5.5 6.6 7.8 4. 3.4 5.4 4.7 9 9.1 9.3 7.8 8.4 9 9.8 9.6; 615.5 620.7 617.4 619.7 636.11 613.7 615 612.5 609.8 616.5 608.1 615.5 616 615.2 627.7 619.1 616.8 613.9 61.8 613.6 601.8 592.3 609.5 614.4 620.1 609.4 606.7 609.3 615.7 620.3 639 636.6 635.7 631.6 632.9 619.6 631] net=newsom([59.20 70.50;61.30 96.60;3.40 9.80;592.3 635.7],3); net.iw{1,1} net.b{1} net=train(net,p) b=sim(net,p) ac=vec2ind(b) net=init(net); net.trainParam.epochs=3000; net=train(net,p); b=sim(net,p) ac=vec2ind(b)
Tugas Neural Network kelompok II
5
Dengan epoch sebanyak 10.000 diperoleh hasil pengelompokan sebagai berikut: p = Columns 1 through 9 70.0000 83.1000 6.0000 615.5000
67.5000 69.9000 70.3000 69.0000 68.4000 67.0000 65.7000 61.1000 78.7000 89.1000 88.5000 85.8000 88.6000 83.9000 79.8000 79.1000 6.0000 6.5000 6.9000 6.3000 6.5000 6.5000 5.7000 5.4000 620.7000 617.4000 619.7000 636.1100 613.7000 615.0000 612.5000 609.8000
Columns 10 through 18 64.9000 84.3000 6.3000 616.5000
60.7000 61.7000 59.6000 62.2000 68.8000 68.3000 68.4000 67.5000 73.7000 72.4000 74.4000 84.4000 96.6000 91.1000 87.6000 85.8000 5.0000 5.1000 4.9000 6.2000 9.3000 7.1000 7.2000 6.6000 608.1000 615.5000 616.0000 615.2000 627.7000 619.1000 616.8000 613.9000
Columns 19 through 27 67.5000 82.3000 6.4000 61.8000
69.9000 67.5000 66.3000 66.1000 67.2000 69.2000 61.6000 59.2000 89.8000 80.1000 81.0000 78.7000 84.0000 91.8000 73.6000 61.3000 7.2000 5.9000 5.9000 5.5000 6.6000 7.8000 4.8000 3.4000 613.6000 601.8000 592.3000 609.5000 614.4000 620.1000 609.4000 606.7000
Columns 28 through 36 61.7000 79.3000 5.4000 609.3000
62.9000 69.1000 70.5000 67.8000 68.1000 65.4000 70.5000 69.9000 73.3000 96.5000 95.0000 95.5000 88.0000 95.4000 94.9000 95.9000 4.7000 9.0000 9.1000 9.3000 7.8000 8.4000 9.2000 9.8000 615.7000 620.3000 639.0000 636.6000 635.7000 631.6000 632.9000 619.6000
Column 37 69.2000 96.1000 9.6000 631.0000
ans = 64.8500 78.9500 6.6000 614.0000 64.8500 78.9500 6.6000 614.0000 64.8500 78.9500 6.6000 614.0000
ans = []
net = Neural Network object: architecture: numInputs: numLayers: biasConnect: inputConnect: layerConnect: outputConnect:
1 1 [0] [1] [0] [1]
numOutputs: 1 (read-only) numInputDelays: 0 (read-only) numLayerDelays: 0 (read-only)
Tugas Neural Network kelompok II
6
subobject structures: inputs: layers: outputs: biases: inputWeights: layerWeights:
{1x1 {1x1 {1x1 {1x1 {1x1 {1x1
cell} cell} cell} cell} cell} cell}
of inputs of layers containing containing containing containing
1 output no biases 1 input weight no layer weights
functions: adaptFcn: 'trains' divideFcn: (none) gradientFcn: 'calcgrad' initFcn: 'initlay' performFcn: (none) plotFcns: {'plotsomtop','plotsomnc','plotsomnd','plotsomplanes','plotsomhits','plotsompos'} trainFcn: 'trainr' parameters: adaptParam: divideParam: gradientParam: initParam: performParam: trainParam:
.passes (none) (none) (none) (none) .show, .showWindow, .showCommandLine, .epochs, .goal, .time
weight and bias values: IW: {1x1 cell} containing 1 input weight matrix LW: {1x1 cell} containing no layer weight matrices b: {1x1 cell} containing no bias vectors other: name: '' userdata: (user information)
b = (1,1) 1 (1,2) 1 (1,3) 1 (1,4) 1 (1,5) 1 (1,6) 1 (1,7) 1 (1,8) 1 (2,9) 1 (1,10) 1 (2,11) 1 (1,12) 1 (1,13) 1 (1,14) 1 (1,15) 1 (1,16) 1 (1,17) 1 (1,18) 1 (3,19) 1 (1,20) 1 (2,21) 1 (2,22) 1 (2,23) 1 (1,24) 1 (1,25) 1 (2,26) 1 (2,27) 1 (2,28) 1 (1,29) 1 (1,30) 1 (1,31) 1 (1,32) 1 (1,33) 1
Tugas Neural Network kelompok II
7
(1,34) (1,35) (1,36) (1,37)
1 1 1 1
ac = Columns 1 through 15
1 1 1 1 1 1 1 1 2 1 2 1 1 Columns 16 through 30
1 1 1 3 1 2 2 2 1 1 2 2 2 Columns 31 through 37 1 1 1 1 1 1 1
b = (1,1) 1 (1,2) 1 (1,3) 1 (1,4) 1 (1,5) 1 (1,6) 1 (1,7) 1 (2,8) 1 (2,9) 1 (1,10) 1 (2,11) 1 (1,12) 1 (1,13) 1 (1,14) 1 (1,15) 1 (1,16) 1 (1,17) 1 (1,18) 1 (3,19) 1 (1,20) 1 (2,21) 1 (2,22) 1 (2,23) 1 (1,24) 1 (1,25) 1 (2,26) 1 (2,27) 1 (2,28) 1 (1,29) 1 (1,30) 1 (1,31) 1 (1,32) 1 (1,33) 1 (1,34) 1 (1,35) 1 (1,36) 1 (1,37) 1
ac = Columns 1 through 15
1 1 1 1 1 1 1 2 2 1 2 1 1 Columns 16 through 30
1 1 1 3 1 2 2 2 1 1 2 2 2 Columns 31 through 37 1 1 1 1 1 1 1
Tugas Neural Network kelompok II
8
Berdasarkan input data, dan setelah pengolahan seperti di atas, didapatkan pengelompokan sebagai berikut: Tabel 1.3. Hasil pembacaan Clustering data untuk 10.000 epoch No. 1
Cluster ke I
2 3
II III
Masukan ke 1, 2, 3, 4, 5, 6, 7, 10, 12, 13, 14, 15, 16, 17, 18, 24, 25, 29, 30, 31, 32, 33, 34, 35, 36, 37 8, 9, 11, 20, 21, 22, 23, 26, 27, 28, 19
Pengelompokan kabupaten/kota secara lengkap adalah sebagai berikut: Kelompok I terdiri dari 26 kabupaten/kota yaitu: 1. Pacitan 13. Probolinggo 30. Kota Kediri 2. Ponorogo 14. Pasuruan 31. Kota Blitar 3. Trenggalek 15. Sidoarjo 32. Kota Probolinggo 4. Tulungagung 16. Mojokerto 33. Kota Pasuruan 5. Blitar 17. Jombang 34. Kota Mojokerto 6. Kediri 18. Nganjuk 35. Kota Madiun 7. Malang 24. Lamongan 36. Kota Surabaya 10. Banyuwangi 25. Gresik 37. Kota Batu 12. Situbondo 29. Sumenep Kelompok II terdiri dari 10 kabupaten yaitu: 8. Lumajang 26. Bangkalan 9. Jember 27. Sampang 11. Bondowoso 28. Pamekasan 20. Magetan 21. Ngawi 22. Bojonegoro Kelompok III hanya terdiri dari 1 kabupaten yaitu: 19. Madiun
Tugas Neural Network kelompok II
9
BAB II LEARNING VECTOR QUANTIZATION
2.1 PENDAHULUAN 2.1.1 Pengertian Learning Vector Quantization (LVQ) adalah salah satu metode jaringan syaraf tiruan yang digunakan dalam klasifikasi dan pengenalan pola. Pada metode ini, masing-masing unit output mewakili kategori atau kelas tertentu. Pada jaringan LVQ, proses pembelajaran atau pelatihan harus dilakukan terlebih dahulu. dalam proses pembelajaran, vector input yang diberikan akan terklasifikasikan secara otomatis. Apabila beberapa vector input memiliki jarak yang sangat berdekatan, maka vector-vektor input tersebut akan dikelompokkan dalam kelas yang sama. Setelah pembelajaran selesai dijalankan, maka langkah selanjutnya adalah melakukan pengujian bias. Pengujian dilakukan dengan menghitung jarak antara input pengujian dengan bobot akhir dari masing-masing kelas output. Kelas yang memiliki jarak terdekat dengan vektor input akan menadi pemenang. 2.1.2 Arsitektur LVQ merupakan jaringan syaraf tiruan yang terdi atas unit masukan (Xn) dan unit keluaran (Ym). Adapun arsitekturnya seperti gambar di bawah ini : Gambar 1. Contoh arsitektur jaringan LVQ X1
W11
Y1
W21 W31
W12
X2
Y2
W22
W32
…
W13
W23
1,
Xn
Tugas Neural Network kelompok II
2
,
,
W33
Ym
10
Keterangan :
… … 1,
2
1, 2
,
,
= Vektor input
,
= Vektor Output
,
Wij
= Bobot input ke-I pada kelompok ke-j i, j = 1, 2, 3, …
2.1.3 Algoritma Notasi : X : Training Vektor T
: Kategori dari training vector
Wj : Vektor bobot untuk kategori ke-j Cj : Kategori j (hasil training) ΙΙX – WjΙΙ : Jarak Euclidian Step 0
Step 1
Inisialisasi Jika kondisi stop salah lakukan step 2– 6 Step 2 Step 3
Untuk setiap training vector lakukan step 3– 4 Dapatkan j sehingga ΙΙX – WjΙΙ min
Step 4
Update Wj Jika T = Cj
− − − =
+
(
)
(
)
Jika T ≠ Cj
=
Step 5
Update learning rate
Step 6
uji kondisi stop
Tugas Neural Network kelompok II
11
2.2 PEMBAHASAN Berikut disajikan penerapan pengkategorisasian menggunakan jaringan LVQ berdasarkan IPM Provinsi Jawa Timur tahun 2004. Kabupaten-kabupaten di jawa Timur dikelompokkan berdasarkan IPM. Adapun komponen pembentuk IPM yang meliputi Angka Harapan Hidup (AHH), Angka Melek Huruf (AMH), Rata-rata Lama Sekolah (ALS) dan Pengeluaran Riil Perkapita (PPP), akan dijadikan sebagai vector input (masukan)-nya. Sedangkan pengelompokkan kabupaten berdasarkan IPM dijadikan sebagai vector output (keluaran)-nya. Kabupaten yang berada pada kelompok 1 menunjukkan bahwa kabupaten tersebut memiliki IPM rendah, kelompok 2, IPM sedang, dan kelompok 3 menunjukkan kelompok kabupaten degan IPM tinggi. Pengelompokkan kabupaten dapat dilihat pada tabel berikut ini :
No. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
Tabel 2.1. Pengelompokkan kabupaten berdasarkan IPM di Provinsi Jawa Timur 2004 Kab/Kota AHH AMH ALS PPP (X1) (X2) (X3) (X4) Bangkalan 61.6 73.6 4.8 609.4 Banyuwangi 64.9 84.3 6.3 616.5 Jombang 68.4 87.6 7.2 616.8 Kediri 68.4 88.6 6.5 613.7 Blitar 69.0 85.8 6.3 636.1 Gresik 69.2 91.8 7.8 620.1 Kt Madiun 70.5 94.9 9.2 632.9 Kt Batu 69.2 96.1 9.6 631.0 Bojonegoro 66.3 81.0 5.9 592.3 Bondowoso 60.7 73.7 5.0 608.1 Jember 61.1 79.1 5.4 609.8 Lamongan 67.2 84.0 6.6 614.4 Lumajang 65.7 79.8 5.7 612.5 Madiun 67.5 82.3 6.4 615.8 Nganjuk 67.5 85.8 6.6 613.9 Ngawi 67.5 80.1 5.9 601.8 Pacitan 70.0 83.1 6.0 615.5 Pamekasan 61.7 79.3 5.4 609.3 Pasuruan 62.2 84.4 6.2 615.2 Ponorogo 67.5 78.7 6 620.7 Probolinggo 59.6 74.4 4.9 616.0 Ssampang 59.2 61.3 3.4 606.7 Situbondo 61.7 72.4 5.1 615.5 Sumenep 62.9 73.3 4.7 615.7 Tuban 66.1 78.7 5.5 609.5 Kt Kediri 69.1 96.5 9.0 620.3
Tugas Neural Network kelompok II
Kel (Y) 1 1 2 2 3 3 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 12
27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37.
Magetan Mojokerto Trenggalek Tulungagung Kt Batu Kt Kediri Kt Blitar Kt Mojokerto Kt Pasuruan Kt Probolinggo Kt Surabaya
69.9 68.3 69.9 70.3 69.2 69.1 70.5 65.4 68.1 67.8 69.9
89.8 91.1 89.1 88.5 96.1 96.5 95.0 95.4 88.0 95.5 95.9
7.2 7.1 6.5 6.9 9.6 9.0 9.1 8.4 7.8 9.3 9.8
613.6 619.1 617.4 619.7 631.0 620.3 639.0 631.6 635.7 636.6 619.6
2 2 2 2 2 2 3 3 3 3 3
Informasi yang diperoleh dari table di atas adalah :
Jumlah data = 37 Jumlah variable input (n) = 4 Jumlah kelas atau cluster (m) = 3 Misalkan ditetapkan = 500 maksimum epoch Learning rate =0.1
Dari ke-37 data tersebut akan diambil 6 data pertama untuk dijadikan bobot yang masing-masing akan mewakili kelas 1, 2 dan 3 (Tabel 2) : Tabel 2.2. Bobot Awal No. 1. 2. 3. 4. 5. 6.
Kab/Kota Bangkalan Banyuwangi Jombang Kediri Blitar Gresik
AHH (X1) 61.6 64.9 68.4 68.4 69 69.2
AMH (X2) 73.6 84.3 87.6 88.6 85.8 91.8
ALS (X3) 4.8 6.3 7.2 6.5 6.3 7.8
PPP (X4) 609.4 616.5 616.8 613.7 636.1 620.1
Kel (Y) 1 1 2 2 3 3
Sedangkan sisanya, data ke-7 sampai 37, akan dipakai sebagai data-data yang akan dilakukan pelatihan. Akan dibentuk jaringan kompetitif dengan algoritma pembelajaran LVQ net, yang terdiri dari 4 neuron pada lapisan kompetitif (lapisan tersembunyi), 3 kelas dengan masing-masing memiliki kemungkinan kemunculan yang sama (1/3). Instruksi :
Tugas Neural Network kelompok II
13
T = ind2vec(Tc); JumlahKlas = size(full(T),1); JumlahNeuron = 4; net = newlvq(minmax(p),JumlahNeuron,(1/JumlahKlas)*ones(1,JumlahKlas));
Jaringan ini akan dilatih dengan dengan menggunakan algoritma pembelajaran LVQ dengan maksimum epoch = 500 dan toleransi error 0.01. instruksi : net.trainparam.epochs = 500; net.trainparam.goal = 0.01; net = train(net,p,T);
Kemudian hasilnya akan disimulasikan, dengan input yang sama dengan input data pelatihan (data training). Output hasil simulasi akan disimpan pada vector H instruksi : y = sim (net,m); yc = vec2ind(y)
Hasilnya adalah : Columns 1 through 12
3 3 1 1 1 1 1 1 2 1 2 Columns 13 through 24
1 1 1 1 1 1 1 3 3 2 3 Columns 25 through 31 3 3 3 3 3 1 3
Progam pengolahan dengan menggunakan Matlab selengkapnya : p = [61.6 73.6 4.8 609.4; 64.9 84.3 6.3 616.5; 68.4 87.6 7.2 616.8; 68.4 88.6 6.5 613.7; 69.0 85.8 6.3 636.1; 69.2 91.8 7.8 620.1] p = p' Tc = [1 1 2 2 3 3] T = ind2vec(Tc); JumlahKlas = size(full(T),1); JumlahNeuron = 4; net = newlvq(minmax(p),JumlahNeuron,(1/JumlahKlas)*ones(1,JumlahKlas)); bobot_awal_input = net.IW{1,1} bobot_awal_lapisan = net.LW{2,1} net.trainparam.epochs = 500;
Tugas Neural Network kelompok II
14
net.trainparam.goal = 0.01; net = train(net,p,T); M = [70.5 95.0 9.1 639.0; 69.2 96.1 9.6 631.0; 66.3 81.0 5.9 592.3; 60.7 73.7 5.0 608.1; 61.1 79.1 5.4 609.8; 67.2 84.0 6.6 614.4; 65.7 79.8 5.7 612.5; 67.5 82.3 6.4 615.8; 67.5 85.8 6.6 613.9; 67.5 80.1 5.9 601.8; 70.0 83.1 6.0 615.5; 61.7 79.3 5.4 609.3; 62.2 84.4 6.2 615.2; 67.5 78.7 6.0 620.7; 59.6 74.4 4.9 616.0; 59.2 61.3 3.4 606.7; 61.7 72.4 5.1 615.5; 62.9 73.3 4.7 615.7; 66.1 78.7 5.5 609.5; 69.1 96.5 9.0 620.3; 70.5 94.9 9.2 632.9; 69.9 89.8 7.2 613.6; 68.3 91.1 7.1 619.1; 69.9 89.1 6.5 617.4; 70.3 88.5 6.9 619.7; 65.4 95.4 8.4 631.6; 68.1 88.0 7.8 635.7; 67.8 95.5 9.3 636.6 69.9 95.9 9.8 619.6 67.0 83.9 6.5 615 68.8 96.6 9.3 627.7] m = M' y = sim (net,m); yc = vec2ind(y)
Tabel 2.3. Pengelompokkan yang terjadi : No. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Kab/Kota Bangkalan Banyuwangi Jombang Kediri Blitar Gresik Kt Madiun Kt Batu Bojonegoro Bondowoso Jember Lamongan
Pengelompokkan awal 1 1 2 2 3 3 2 2 1 1 1 1
Tugas Neural Network kelompok II
Pengelompokkan LVQ 1 1 2 2 3 3 3 3 1 1 1 1 15
13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37.
Lumajang Madiun Nganjuk Ngawi Pacitan Pamekasan Pasuruan Ponorogo Probolinggo Ssampang Situbondo Sumenep Tuban Kt Kediri Magetan Mojokerto Trenggalek Tulungagung Kt Batu Kt Kediri Kt Blitar Kt Mojokerto Kt Pasuruan Kt Probolinggo Kt Surabaya
Tugas Neural Network kelompok II
1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3
1 1 2 1 2 1 1 1 1 1 1 1 1 3 3 2 3 2 3 3 3 3 3 1 3
16
BAB III BACKPROPAGATION 3.1. PENDAHULUAN 3.1.1 Pengertian Backpropagation (Backpropagation ) merupakan sebuah metode sistematik pada jaringan saraf tiruan dengan menggunakan algoritma pembelajaran yang terawasi dan biasanya digunakan oleh perceptron dengan banyak layar lapisan untuk mengubah bobot-bobot yang ada pada lapisan tersembunyinya. Backpropagation adalah pelatihan jenis terkontrol (supervised) dimana menggunakan pola penyesuaian bobot untuk mencapai nilai kesalahan yang minimum antara keluaran hasil prediksi dengan keluaran yang nyata.(F.Suhandi, 2009) 3.1.2 Arsitektur Arsitektur dalam Backpropagation yang merupakan salah satu multi layer perceptron, terdiri dari input, hidden layer, dan output. Backpropagation memiliki beberapa unit yang ada dalam satu atau lebih hidden layer. Gambar dibawah ini adalah arsitektur backpropagation dengan n buah masukan (ditambah suatu bias), sebuah layer tersembunyi yang terdiri dari p unit (ditambah suatu bias), serta m buah unit keluaran.
Tugas Neural Network kelompok II
17
Berikut ini penulisan istilah yang dipakai dalam proses Backpropagation, sebagai berikut : a. x merupakan vektor input pembelajaran. X = (x1, x2,....,x j,....,x n). b. t : Vektor target output. T = (t1, t2,....,t k,....,t m). c. δk adalah bagian koreksi error penyesuaian bobot w jk berpedoman pada error output neuron y k. d. δj adalah bagian koreksi error penyesuaian bobot v ij berpedoman pada error output neuron z j. e. α adalah Learning rate. f. θ adalah Toleransi error. g. xi merupakan Input neuron. h. voj merupakan bias pada Hidden neuron ke- j. i. z_ini merupakan nilai input pada ke-i. j. zj merupakan nilai output dengan menggunakan fungsi aktivasinya. k. wok merupakan bias pada output neuron ke-k. l. y_ink merupakan nilai input untuk Y k m. Y k : nilai output neuron ke-k dengan menggunakan fungsi aktivasi yang dipilih. 3.1.3 Algoritma a. Algoritma Pelatihan Dalam pelatihan suatu jaringan dengan algoritma backpropagation terdapat dua tahapan yaitu tahapan perambatan maju dan tahapan perambatan mundur. Pada perambatan maju, tiap unit masukan ( xi ) mengirimkan sebuah masukan sinyal ini ke tiap-tiap lapisan tersembunyi z1,…..,zp. Setiap unit tersembunyi ini kemudian menghitung aktivasinya dan mengirimkan sinyalnya (zj ) ke tiap unit keluaran. Pada setiap unit keluaran ( yk ) akan menghitung aktivasinya yang digunakan untuk membentuk respon pada jaringan sehingga akan memberikan pola masukan. Selama pelatihan, tiap unit keluaran membandingkan perhitungan aktivasinya yk dengan nilai targetnya tk untuk menentukan kesalahan pola tersebut dengan unit itu. Berdasarkan kesalahan ini, faktor δ k (k = 1,..,m) dihitung. δk digunakan untuk menyebarkan kesalahan pada unit keluaran yk kembali ke semua unit pada lapisan sebelumnya (unit-unit tersembunyi yang dihubungkan ke yk ). Juga digunakan (nantinya) untuk mengupdate bobot-bobot antara keluaran dan lapisan tersembunyi. Dengan cara yang sama, faktor ( j = ) dihitung untuk tiap unit tersembunyi zj . Tidak perlu untuk menyebarkan 1,…,p kesalahan kembali ke lapisan masukan, tetapi δj digunakan untuk mengupdate bobot-bobot antara lapisan tersembunyi dan lapisan masukan. Setelah seluruh faktor δ ditentukan, bobot untuk semua lapisan diatur secara serentak. Pengaturan bobot wjk (dari unit tersembunyi zj ke unit keluaran yk ) didasarkan pada faktor δk dan aktivasi zj dari unit tersembunyi zj . didasarkan pada faktor dan dan aktivasi xi unit masukan. Untuk langkah selengkapnya adalah : δj
Tugas Neural Network kelompok II
18
b. Prosedur Pelatihan Langkah 0 : Inisialisasi bobot. (sebaiknya diatur pada nilai acak yang kecil), Langkah 1 : Jika kondisi tidak tercapai, lakukan langkah 2-9, Langkah 2 : Untuk setiap pasangan pelatihan, lakukan langkah 3-8, Perambatan Maju : Langkah 3 : Tiap unit masukan xi, ( i = 1,…, n ) menerima sinyal xi dan menghantarkan sinyal ini ke semua unit lapisan di atasnya (unit tersembunyi), Langkah 4 : Setiap unit tersembunyi xi, ( i = 1,…, p ) jumlahkan bobot sinyal masukannya, n
z _ in j voj xi vij i 1
v aplikasikan fungsi oj sebagai bias pada unit tersembunyi j aktivasinya untuk menghitung sinyal keluarannya, z (z_in , j = f j) dan kirimkan sinyal ini keseluruh unit pada lapisan diatasnya (unit keluaran). Langkah 5 : Tiap unit keluaran ( yk, k = 1,…, m ) jumlahkan bobot sinyal masukannya. n
y _ ink wok z j wjk
j 1
w dan aplikasikan fungsi ok merupakn bias pada unit keluaran k aktivasinya untuk menghitung sinyal keluarannya, y = f (y_in . k k) Perambatan Mundur : Langkah 6 : Tiap unit keluaran ( yk , k = 1,…, m ) menerima pola target yang saling berhubungan pada masukan pola pelatihan, hitung kesalahan informasinya, k (tk
yk ) f '( y _ ink )
hitung koreksi bobotnya (digunakan untuk memperbaharui w jk nantinya), w jk k zj
hitung koreksi biasnya (digunakan untuk memperbaharui wok nantinya), dan kirimkan δk ke unit-unit pada lapisan dibawahnya, Langkah 7 : Setiap unit lapisan tersembunyi ( zj, j = 1,…, p ) jumlahkan hasil perubahan masukannya (dari unit-unit lapisan diatasnya), m
_ in j k w jk
k 1
kalikan dengan turunan fungsi aktivasinya untuk menghitung informasi kesalahannya, j
_ in j f '( z _ in j )
hitung koreksi bobotnya (digunakan untuk memperbaharui v oj nanti), Langkah 8 : Tiap unit keluaranyk, ( k = 1,…, m ) update bias dan bobotnya (j = ): 0,…, p w jk (baru) = wjk (lama) + wjk
Tugas Neural Network kelompok II
19
Tiap unit lapisan tersembunyi ( zj, j = 1,…, p ) update bias dan bobotnya (I = 0,…,n ): vij (baru) = vij (lama) + vij
Langkah 9 : Test kondisi berhenti. PROSEDURE PENGUJIAN : Setelah pelatihan, jaringan saraf backpropagation diaplikasikan dengan hanya menggunakan tahap perambatan maju dari algoritma pelatihan. Prosedur aplikasinya adalah sebagai berikut : Langkah 0 : Inisialisasi bobot (dari algoritma pelatihan). Langkah 1 : Untuk tiap vektor masukan, lakukan langkah 2-4. Langkah 2 : for i = 1,…, n : atur aktivasi unit masukan xi . Langkah 3 : for j = 1,…, p : n
z _ in j voj xi vij i 1
z j f ( z _ in j )
Langkah 4 : for k = 1,…, m : p
y _ ink wok z j w jk
j 1
yk f ( y _ ink )
Langkah 5 : Jika yk ≥ 0,5 maka yk = 1, else yk = 0. 3.2
PEMBAHASAN Dengan menggunakan metode backpropagation pada jaringan syaraf tiruan, akan memprediksi jumlah pengangguran di Provinsi Jawa Timur. Dengan menggunakan beberapa variabel masukan dari tahun 2003-2006. Algoritma pembelajaran backpropagation diterapkan untuk pelatihan variabel maskan tersebut, sehingga diperoleh keluaran prediksi jumlah pengangguran ditahun berikutnya. Data yang digunakan adalah data tahunan dari tahun 2003 – 2006, dengan variabel masukan sebanyak 7 (tujuh) variabel, sebagai berikut : 1. Data tahun 2003 – 2006. 2. Penduduk menururut kelompok umur dan jenis kelamin. 3. Data historis TPAK (Tingkat Partisipasi Angkatan Kerja) menurut kelompok umur. 4. Angkatan kerja. 5. Tingkat pengangguran terbuka (TPT.) 6. PDRB (Produk Domestik Regional Bruto) atas dasar harga konstan 2000. 7. Angkatan kerja yang bekerja penduduk usia 15 tahun keatas. Berikut ini data yang dikumpulkan :
Tugas Neural Network kelompok II
20
Variabel
Tabel 3.1. variabel yang digunakan
2003
36199078 66.64
18097118
8.68
228884459
16525698
1571420
2004
36396345 69.20
18822218
7.69
242228892
17374955
1447263
2005
36481799 69.17
19335890
8.51
256374727
17689834
1646056
2006
36390600 70.41
19244959
8.19
271249317
17669660
1575299
2007
36895571 68.99
20117924
6.79
287579857
18751421
1366503
Sumber : BPS Propinsi Jawa Timur
Keterangan : Input : X0 = Data tahun X1 = Jumlah penduduk Propinsi Jawa Timur X2 = Data historis TPAK (Tingkat Partisipasi Angkatan Kerja) X3 = Angkatan Kerja 15 Tahun ke atas. X4 = Tingkat Pengangguran Terbuka X5 = PDRB (Produk Domestik Regional Bruto) atas dasar harga konstan 2000. X6 = Angkatan kerja yang bekerja penduduk usia 15 tahun keatas. Target X7 = Jumlah Pengangguran Data tersebut di transformasi linear ke interval [0.1 , 0.9] dengan menggunakan fungsi: x'
0.8( x a)
ba
0.1
dengan a adalah data minimum dan b adalah data maksimum.
Tugas Neural Network kelompok II
21
Tabel 3.2. Data hasil transformasi:
0.10
0.1
0.1
0.1
0.9
0.1
0.1
0.30
0.32658318
0.64323607
0.38705378
0.48095238
0.28188047
0.40525164
0.33111181
0.50
0.42473664
0.63687003
0.59040709
0.82804233
0.47468379
0.51842979
0.9
0.70
0.31998441
0.9
0.55440918
0.69259259
0.67741982
0.51117857
0.69751389
0.90
0.9
0.59867374
0.9
0.1
0.9
0.9
0.1
0.68641331
Perancangan arsitektur backpropagation pertama adalah menentukan jumlah hidden layer , dan menentukan banyaknya unit dalam setiap hidden layer . Jumlah hidden layer ditentukan dengan cara trial and error , dalam arti hasil pembelajaran yang tercepat dan terbaik itulah yang akan menentukan jumlah hidden layer tersebut. Mengenai jumlah banyaknya hidden layer yang dibutuhkan, tidak ada ketentuan khusus karena tidak ada teori yang dengan pasti dapat dipakai. Dalam hal ini arsitektur yang dirancang adalah 7 input layer ,1 hidden layer (sebanyak 10 neuron ) dan 1 output layer . Fungsi aktivasi yang digunakan adalah fungsi sigmoid biner (logsig), karena semua data berada dalam range [0,1] , demikian juga untuk fungsi keluarannya. Pemberian nilai bobot dan bias awal menggunakan bilangan acak kecil yang dilakukan oleh software Matlab. Laju pemahaman yang digunakan adalah sebesar 0,2. Metode pelatihan yang dipakai dalam arsitektur ini adalah dengan menggunakan metode standar dari Matlab yaitu menggunakan metode penurunan gradien. Batas MSE yang ditentukan sebesar 1e-05. Berikut ini syntax yang dipakai : P = varinput %data input T =target %data target net=newff(minmax(P),[10 1],{'logsig','logsig'},'traingd');%pembentukan jaringan saraf minmax(P) net.trainParam.show = 100; net.trainParam.lr = 0.2; net.trainParam.epochs =20000;%epeoch maksimum 20000 net.trainParam.goal = 1e-5;%eror hasil yang di inginkan [net,tr]= train (net,P,T)%training jaringan t=[0.1] y=sim(net,ramal); [y,pf,af,e,perf]=sim(net,ramal,[],[],t)
Berikut ini matrik inputnya : P = 0.1000 0.3000 0.5000 0.7000 0.9000 0.1000 0.3266 0.4247 0.3200 0.9000 0.1000 0.6432 0.6369 0.9000 0.5987
Tugas Neural Network kelompok II
22
0.1000 0.3871 0.9000 0.4810 0.1000 0.2819 0.1000 0.4053 Sedangkan matrik outputnya: T =
0.5904 0.8280 0.4747 0.5184
0.5544 0.6926 0.6774 0.5112
0.9000 0.1000 0.9000 0.9000
0.6864 0.3311 0.9000 0.6975 0.1000
Untuk memperoleh batas MSE yang ditentukan dperlukan sebanyak 17928 epochs.
Berikut ini maktrik yang akan disimulasikan terhadap hasil pelatihan : ramal = 0.9000 0.9000 0.6687 0.9000 0.1000 0.9000 0.9000
Hasil simulasinya adalah : y = 0.1090
Dengan mentransformasikan ke nilai sebenarnya diperoleh nilai sebesar 1298322. Sedangkan angka prediksi BPS Propinsi Jatim sebesar 1296313. Dengan demikian setelah dilakukan pelatihan dan pengujian pola – pola yang dilatih, diperoleh hasil bahwa test terhadap pola-pola tersebut benar (akurat).
Tugas Neural Network kelompok II
23
BAB IV RADIAL BASIS FUNCTION NEURAL NETWORK (RBFNN) 4.1 PENDAHULUAN 4.1.1 Pengertian Model jaringan Radial Basis Function Neural Network (RBFNN) adalah salah satu bentuk Multi layer Perceptron yang tidak ada update bobot learning rate. Model ini adalah model jaringan saraf dengan satu unit dalam lapisan tersembunyi, dimana fungsi aktivasinya adalah fungsi basis (Gaussian) dan fungsi linear pada lapisan output. Dalam penerapannya untuk mendapatkan model RBFNN terbaik, diperlukan kombinasi yang tepat antara jumlah variabel input, jumlah node (cluster) pada unit hidden layers , nilai tengah dan standar deviasi (skala atau width ) dari variabel input pada setiap node, yang berimplikasi pada jumlah parameter yang optimal. Untuk mendapatkan sejumlah node yang diinginkan dilakukan dengan mengelompokkan data. Salah satu metode pengelompokan data adalah metode K-mean. Dengan terbentuknya kelompok data, maka nilai tengah dan varians variabel input pada setiap kluster dapat dihitung. Komponen invers varians pada fungsi aktivasi RBFNN merupakan bobot dari suatu pergeseran, sehingga diperlukan nilai interval untuk varians tersebut. Nilai varians suatu variabel input pada suatu node yang berada diluar diluar interval mengindikasikan hubungan input dengan node tidak memberi sumbangan yang signifikan pada model RBFNN, sehingga perlu dihapus. Penentuan model terbaik dari RBFNN dapat diketahui dengan kriteria nilai Mean Square Error (MSE) kecil dan Koefisien Determinasi (R2) besar. 4.1.2 Arsitektur Menurut Brodjol Sutijo, Subanar dan Suryo Guritno dalam Pemilihan Hubungan Input-Node pada Jaringan Syaraf Fungsi Radial Basis; RBFNN didesain untuk membentuk pemetaan non linier dari variabel input ke unit hidden layer dan pemetaan linier dari hidden layer ke output. Sehingga pada Tugas Neural Network kelompok II
24
RBFNN dilakukan pemetaan input dari ruang berdimensi p ke output ruang berdimensi satu.
ℜ → ℜ
1
:
(1)
Berdasarkan teori interpolasi multivariate : Jika diberikan N buah titik berbeda
∈ ℜ … ℜ ℜ → ℜ… … = 1,2,
,
yang berhubungan dengan N buah bilangan real , 1
=
= 1,2,
Fungsi : =
,
,
1
adalah fungsi yang memenuhi:
= 1,2,
,
Agar memenuhi teori di atas, Interpolasi dengan menggunakan fungsi F (x ) harus meloloskan semua data. Teori interpolasi multivariate secara ringkas dapat dinyatakan dengan:
ℜ → ℜ … 1
:
=
,
= 1,2,
,
(2)
Disain dari model RBFNN untuk pendekatan suatu fungsi adalah sebagai berikut :
gambar 1. Design RBF network
Tugas Neural Network kelompok II
25
Pada pemodelan RBFNN dilakukan dengan memilih suatu fungsi F ( x ) sehingga (2) dipenuhi. Interpolasi input-output (2) dengan melihat disain model RBFNN, maka (2) dapat dinyatakan dengan:
∅− ∅ −… =
Dimana
=1
= 1,2,3,
,
(3) adalah himpunan fungsi nonlinear yang
disebut fungsi radial basis (Radial Basis Function = RBF) dan . jarak Euclid.
adalah norm
Fungsi radial basis yang sering digunakan adalah fungsi gaussian karena mempunyai sifat lokal, yaitu bila input dekat dengan ratarata (pusat), maka fungsi akan meng-hasilkan nilai satu, sedangkan bila input jauh dari ratarata, maka fungsi membe-rikan nilai nol. Ada beberapa fungsi radial basis diantaranya adalah : 1. Fungsi Thin Plate Spline
∅ − − ∅ − ∅ − − ∅ − − ⋮ ⋮ ∅ ∅ − 2
=
2. Fungsi Multikuadratik 2
=
+
2 1/2
3. Fungsi Invers Multikuadratik 2
=
+
2
1/2
4. Fungsi Gaussian
2
=
/
2
∈ ℜ … …… ⋱… ⋮ ⋮ ⋮
Apabila diketahui N buah titik data maka persamaan (3) dapat ditulis :
Dimana
11
12
21
22
1
2
=
= 1,2,
1
1
2
2
,
pusat dari RBF
1
=
2
i,j = 1,2,3,..., N
Persamaan diatas bila dinyatakan dalam bentuk metriks menjadi: dimana
fw=d = =
…… 1,
2,
,
1,
,
,
dan
Tugas Neural Network kelompok II
26
∅ ∅ =
matrik
adalah matrik interpolasi yang definit positif dan mempunyai
innvers .
Pendekatan suatu fungsi dengan menggunakan RBFNN dilakukan dengan interpolasi untuk mendapatkan penyelesaian optimal dari ruang berdimensi tinggi ke dimensi yang lebih rendah. Poggio dan Girosi (1990) menyusun teknik standar yang disebut metode Galerkin. Metode K-Mean Clusters Menurut Brodjol Sutijo, Subanar dan Suryo Guritno dalam Pemilihan Hubungan Input-Node pada Jaringan Syaraf Fungsi Radial Basis. Pendekatan fungsi dengan menggunakan model RBFNN dilakukan dengan dua tahap. Tahap pertama adalah pembelajaran unsupervisi, yaitu untuk menentukan mean dan standart deviasi dari variabel input pada setiap node pada unit hidden layer. Metode Kmean cluster adalah salah satu metode dari beberapa metode unsupervisi pada pemodelan RBFNN dan metode K-mean adalah salah satu bentuk metode pemetaan pada dirinya sendiri ( Self Organizing map ) yang juga dikembangkan dalan pemodelan NN. Pada metode K-mean, data dipartisi kedalam subgroup atau kluster, dimana pada setiap kluster mempunyai sifat yang homogen serta antar kluster mempunyai ciri yang berbeda. Jika ada m buah unit pada RFBNN, maka ada akan ada
, i = 1, 2, 3, ..., m nilai rata-rata
atau pusat. Penentuan nilai rata-rata dari setiap kluster dilakukan dengan iterasi. Nilai ratarata kluster untuk iterasi ke n adalah
i(n ).
Algoritma dari metode K-mean secara garis besar adalah sebagai berikut : 1. Inisialisasi : Memilih nilai secara random sebagai nilai awal dari pusat kluster
(0), i = 1, 2, 3, ... , M.
2. Similaritas : Dapatkan nilai k( ), indeks dari kesesuaian terbaik untuk pusat kluster, dengan meminimumkan jarak euclidian, dengan kriteria :
− = arg
( )
k= 1, 2, ... , m
Tugas Neural Network kelompok II
27
3. Update : Menghitung nilai pusat baru, dengan menggunakan suatu pendekatan, sebagai berikut :
− +
+1 =
,
= ( )
,
dimana adalah parameter laju pembelajaran
4. Ulangi langkah 2 dan 3 sampai tidak ada perubahan nilai pusat.
Invers Varians Pada model RBFNN dengan fungsi aktivasi adalah gaussian :
− − − 2
=
2
2
menunjukkan bahwa komponen varians (1/ 2 ) dapat dianggap sebagai bobot dari suatu pergeseran
. Sehingga jika bobot bernilai sangat besar yang
berarti nilai varians kecil menuju nol, berimplikasi bentuk fungsi sempit, sehingga tidak dapat menangkap informasi yang ada. Sebaliknya jika nilai bobot sangat kecil, berarti nilai varian besar, berimplikasi pada bentuk fungsi yang lebar dan berisi banyak informasi yang kurang berguna. Sehingga diperlukan suatu nilai batas bawah dan batas atas untuk varians ter-sebut. Karena yang diperoleh dari data adalah dugaan dari
2
2
(
2
), sehingga nilai
harus berada pada suatu interval kepercayaan. Nilai batas untuk varians
dapat didekati dengan menghitung interval kepercayaan (1
−
) dari nilai
varians tersebut. Berdasarkan distribusi chi-square diketahui bahwa :
− − − − − 2
=1
2
maka interval kepercayaan (1 =1
2
=(
Batas bawah :
1)
− −
2
~
2 (
1)
) untuk
adalah :
2
2
1 ;1
/2
Tugas Neural Network kelompok II
28
2
Karena nilai yaitu
− 2
Batas atas :
1 ; /2
2
tidak diketahui, maka nilai
2
dicari dengan pendekatan lain,
dengan melakukan simulasi sebanyak n kali.
Nilai (n-1) 2 yang berada diluar in-terval adalah petunjuk awal bahwa hubungan (link) variabel input ke node adalah calon untuk dihapus, karena terindikasi tidak dapat menangkap informasi yang ada atau terlalu banyak mendapat informasi yang tidak berguna.
4.2 PEMBAHASAN Data
inflasi
merupakan
data
yang
sangat
penting
dalam
perkembangan perekonomian. Data inflasi ini merupakan data time series dan menunjukkan waktu tiap bulan. Di bawah ini kami tampilkan data inflasi selama 76 bulan. Dari data tersebut, ingin kita prediksi nilai inflasi pada bulan ke-77. Berikut ditampilkan datanya. Tabel 3.1 Data inflasi selama 76 bulan Bulan
Inflasi
Bulan
Inflasi
Bulan
Inflasi
Bulan
Inflasi
1
2,97
21
-0,06
41
0,8
60
0,57
2
1,26
22
1,16
42
0,36
61
-0,02
3
-0,18
23
1,32
43
0,82
62
0,36
4
-0,68
24
1,94
44
0,29
63
0,97
5
-0,28
25
0,33
45
0,53
64
0,88
6
-0,34
26
0,87
46
0,54
65
0,48
7
-1,05
27
0,89
47
1,85
66
0,39
8
-0,93
28
0,46
48
1,2
67
0,09
9
-0,68
29
1,13
49
0,8
68
0,02
Tugas Neural Network kelompok II
29
10
0,06
30
1,67
50
0,2
69
0,56
11
0,25
31
2,12
51
-0,23
70
0,89
12
1,73
32
-0,21
52
0,15
71
1,04
13
1,32
33
0,64
53
0,21
72
1,43
14
0,07
34
0,68
54
0,09
73
-0,17
15
-0,45
35
1,71
55
0,03
74
1,91
16
0,56
36
1,62
56
0,84
75
0,34
17
0,84
37
1,99
57
0,36
76
18
0,5
38
1,5
58
0,55
19
1,28
39
-0,02
59
1,01
20
0,51
40
-0,24
60
0,94
Sintax pengolahannya adalah sebagai berikut: clc %data target a = [2.97 1.26 -0.18 -0.68 -0.28 -0.34 -1.05 -0.93 -0.68 0.06 0.25 1.73 ... 1.32 0.07 -0.45 0.56 0.84 0.50 1.28 0.51 -0.06 1.16 1.32 1.94 0.33 ... 0.87 0.89 0.46 1.13 1.67 2.12 -0.21 0.64 0.68 1.71 1.62 1.99 1.50 ... -0.02 -0.24 0.80 0.36 0.82 0.29 0.53 0.54 1.85 1.20 0.80 0.20 ... -0.23 0.15 0.21 0.09 0.03 0.84 0.36 0.55 1.01 0.94 0.57 -0.02 0.36 ... 0.97 0.88 0.48 0.39 0.09 0.02 0.56 0.89 1.04 1.43 -0.17 1.91 0.34]; %data input p=1:1:76; %membentuk jaringan basis radial net=newrb(p,a); %melihat bobot bobot_input = net.IW{1,1} bobot_bias_input = net.b{1,1} bobot_lapisan = net.LW{2,1} bobot_bias_lapisan = net.b{2,1} q=77 %untuk data ke 77, jumlah data sebelumnya ada 76 data, mka untuk bulan berikutnya bulan ke-77 y=sim(net,q) %untuk simulasi data ke 77,
Setelah dilakukan pengolahan dengan Matlab diperoleh hasil sebagai berikut: NEWRB, NEWRB, NEWRB, NEWRB,
neurons neurons neurons neurons
= = = =
0, MSE = 0.574084 25, MSE = 0.0847929 50, MSE = 0.010377 75, MSE = 1.44582e-031
bobot_input = 1 37 30 24
Tugas Neural Network kelompok II
30
47 12 72 35 75 19 8 59 65 27 23 43 4 56 17 49 31 11 60 64 7 41 70 40 38 42 74 73 76 71 32 33 34 29 28 18 15 13 67 20 22 25 26 21 50 53 55 16 2 36 51 61 62 45 46 44 48 57 58 54 52
Tugas Neural Network kelompok II
31
68 10 9 6 14 3 63 66 69 39 5
bobot_bias_input = 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326
Tugas Neural Network kelompok II
32
0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326 0.8326
bobot_lapisan = Columns 1 through 9 2.0748 1.0564 -1.5337 2.7765 2.1550 1.6596 -1.8692 1.9406 4.2796 Columns 10 through 18 0.8790 -0.3801 0.0218 -0.0426 -0.1115 -1.9009 1.4696 1.3372 0.9892 Columns 19 through 27 0.2332 0.3466 3.4669 -2.0511 -0.2711 0 -1.8469 1.4404 -0.5933 Columns 28 through 36 -1.8098 0.1750 -2.1435 -4.9263 3.2362 -2.7863 0.6818 4.1372 2.2929 Columns 37 through 45 -2.4107 1.0290 -1.2471 -1.3261 -1.5967 -0.4127 -0.1674 -
Tugas Neural Network kelompok II
33