Anda di halaman 1dari 36

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 PENDAHULUAN…………………………………………………………………………. 1
1.1.1 PENGERTIAN…………………………………………………………………….. 1
1.1.2 ARSITEKTUR …………………………………………………………………….. 2
1.1.3 ALGORITMA ………………………………………………………………………. 2
1.2 PEMBAHASAN ……………………………………………………………………………. 3
BAB II LEARNING VECTOR QUANTIZATION …………………………………………………. 10
2.1 PENDAHULUAN …………………………………………………………………………. 10
2.1.1 PENGERTIAN …………………………………………………………………… 10
2.1.2 ARSITEKTUR ……………………………………………………………………. 10
2.1.3 ALGORITMA …………………………………………………………………….. 11
2.2 PEMBAHASAN ……………………………………………………………………………. 12
BAB III BACKPROPAGATION ………………………………………………………………………….. 17
3.1 PENDAHULUAN …………………………………………………………………………. 17
3.1.1 PENGERTIAN …………………………………………………………………. 17
3.1.2 ARSITEKTUR …………………………………………………………………… 17
3.1.3 ALGORITMA ……………………………………………………………………. 18
3.2 PEMBAHASAN ……………………………………………………………………………. 20
BAB IV RADIAL BASIS FUNCTION NEURAL NETWORK ………………………………….. 25
4.1 PENDAHULUAN …………………………………………………………………………. 25
4.1.1 PENGERTIAN ………………………………………………………………….. 25
4.1.2 ARSITEKTUR ………………………………………………………………….. 25
4.2 PEMBAHASAN …………………………………………………………………………… 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 pada kelompok lainnya. Tentunya persamaan dan
perbedaan tersebut diperoleh berdasar informasi yang diberikan oleh obyek–
obyek tersebut beserta hubungan (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
𝑛
𝐷 𝑗 = 𝑖 (𝑊𝑖𝑗 − 𝑋𝑖)2

Step 4: dapatkan j sehingga D(j) minimal


Step 5: 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. Kab/Kota AHH AMH ALS PPP


(X1) (X2) (X3) (X4)
1. Pacitan 70,0 83,1 6,0 615,5
2. Ponorogo 67,5 78,7 6,0 620,7
3. Trenggalek 69,9 69,1 6,5 617,4
4. Tulungagung 70,3 88,5 6,9 619,7
5. Blitar 69,0 85,8 6,3 636,1
6. Kediri 68,4 88,6 6,5 613,7
7. Malang 67,0 83,9 6,5 615,0
8. Lumajang 65,7 79,8 5,7 612,5
9. Jember 61,1 79,1 5,4 609,8
10. Banyuwangi 64,9 84,3 6,3 616,5
11. Bondowoso 60,7 73,7 5,0 608,1
12. Situbondo 61,7 72,4 5,1 615,5
13. Probolinggo 59,6 74,4 4,9 616,0
14. Pasuruan 62,2 84,4 6,2 615,2
15. Sidoarjo 68,8 96,6 9,3 627,7
16. Mojokerto 68,3 91,1 7,1 619,1
17. Jombang 68,4 87,6 7,2 616,8
18. Nganjuk 67,5 85,8 6,6 613,9
19. Madiun 67,5 82,3 6,4 615,8
20. Magetan 69,9 89,8 7,2 613,6
21. Ngawi 67,5 80,1 5,9 601,8
22. Bojonegoro 66,3 81,0 5,9 592,3
23. Tuban 66,1 78,7 5,5 609,5
24. Lamongan 67,2 84,0 6,6 614,4
25. Gresik 69,2 91,8 7,8 620,1
26. Bangkalan 61,6 73,6 4,8 609,4
27. Sampang 59,2 61,3 3,4 606,7
28. Pamekasan 61,7 79,3 5,4 609,3
29. Sumenep 62,9 73,3 4,7 615,7
30. Kt Kediri 69,1 96,5 9,0 620,3
31. Kt Blitar 70,5 95,0 9,1 639,0
32. Kt Probolinggo 67,8 95,5 9,3 636,6

Tugas Neural Network kelompok II 4


33. Kt Pasuruan 68,1 88,0 7,8 635,7
34. Kt Mojokerto 65,4 95,4 8,4 631,6
35. Kt Madiun 70,5 94,9 9,2 632,9
36. Kt Surabaya 69,9 95,9 9,8 619,6
37. Kt Batu 69,2 96,1 9,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. Variabel Maksimum Minimum Rata-rata


1. X1 70,50 59,20 66,50
2. X2 96,60 61,30 84,85
3. X3 9,80 3,40 6,74
4. X4 635,7 592,30 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.7
5.4 6.3 5 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 9.1 9.3 7.8 8.4 9.2
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 67.5000 69.9000 70.3000 69.0000 68.4000 67.0000 65.7000 61.1000


83.1000 78.7000 89.1000 88.5000 85.8000 88.6000 83.9000 79.8000 79.1000
6.0000 6.0000 6.5000 6.9000 6.3000 6.5000 6.5000 5.7000 5.4000
615.5000 620.7000 617.4000 619.7000 636.1100 613.7000 615.0000 612.5000 609.8000

Columns 10 through 18

64.9000 60.7000 61.7000 59.6000 62.2000 68.8000 68.3000 68.4000 67.5000


84.3000 73.7000 72.4000 74.4000 84.4000 96.6000 91.1000 87.6000 85.8000
6.3000 5.0000 5.1000 4.9000 6.2000 9.3000 7.1000 7.2000 6.6000
616.5000 608.1000 615.5000 616.0000 615.2000 627.7000 619.1000 616.8000 613.9000

Columns 19 through 27

67.5000 69.9000 67.5000 66.3000 66.1000 67.2000 69.2000 61.6000 59.2000


82.3000 89.8000 80.1000 81.0000 78.7000 84.0000 91.8000 73.6000 61.3000
6.4000 7.2000 5.9000 5.9000 5.5000 6.6000 7.8000 4.8000 3.4000
61.8000 613.6000 601.8000 592.3000 609.5000 614.4000 620.1000 609.4000 606.7000

Columns 28 through 36

61.7000 62.9000 69.1000 70.5000 67.8000 68.1000 65.4000 70.5000 69.9000


79.3000 73.3000 96.5000 95.0000 95.5000 88.0000 95.4000 94.9000 95.9000
5.4000 4.7000 9.0000 9.1000 9.3000 7.8000 8.4000 9.2000 9.8000
609.3000 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: 1
numLayers: 1
biasConnect: [0]
inputConnect: [1]
layerConnect: [0]
outputConnect: [1]

numOutputs: 1 (read-only)
numInputDelays: 0 (read-only)
numLayerDelays: 0 (read-only)

Tugas Neural Network kelompok II 6


subobject structures:

inputs: {1x1 cell} of inputs


layers: {1x1 cell} of layers
outputs: {1x1 cell} containing 1 output
biases: {1x1 cell} containing no biases
inputWeights: {1x1 cell} containing 1 input weight
layerWeights: {1x1 cell} containing 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: .passes
divideParam: (none)
gradientParam: (none)
initParam: (none)
performParam: (none)
trainParam: .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
(1,35) 1
(1,36) 1
(1,37) 1

ac =

Columns 1 through 15

1 1 1 1 1 1 1 1 2 1 2 1 1 1 1

Columns 16 through 30

1 1 1 3 1 2 2 2 1 1 2 2 2 1 1

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 1 1

Columns 16 through 30

1 1 1 3 1 2 2 2 1 1 2 2 2 1 1

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. Cluster ke - Masukan ke -


1 I 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
2 II 8, 9, 11, 20, 21, 22, 23, 26, 27, 28,
3 III 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 , 𝑋2 , … , 𝑋𝑛
Xn W33
Ym

Tugas Neural Network kelompok II 10


Keterangan :

𝑋1 , 𝑋2 , … , 𝑋𝑛 = Vektor input

𝑌1 , 𝑌2 , … , 𝑌𝑛 = 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 Inisialisasi

Step 1 Jika kondisi stop salah lakukan step 2 – 6

Step 2 Untuk setiap training vector lakukan step 3 – 4

Step 3 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 :

Tabel 2.1. Pengelompokkan kabupaten berdasarkan IPM


di Provinsi Jawa Timur 2004
No. Kab/Kota AHH AMH ALS PPP Kel
(X1) (X2) (X3) (X4) (Y)
1. Bangkalan 61.6 73.6 4.8 609.4 1
2. Banyuwangi 64.9 84.3 6.3 616.5 1
3. Jombang 68.4 87.6 7.2 616.8 2
4. Kediri 68.4 88.6 6.5 613.7 2
5. Blitar 69.0 85.8 6.3 636.1 3
6. Gresik 69.2 91.8 7.8 620.1 3
7. Kt Madiun 70.5 94.9 9.2 632.9 2
8. Kt Batu 69.2 96.1 9.6 631.0 2
9. Bojonegoro 66.3 81.0 5.9 592.3 1
10. Bondowoso 60.7 73.7 5.0 608.1 1
11. Jember 61.1 79.1 5.4 609.8 1
12. Lamongan 67.2 84.0 6.6 614.4 1
13. Lumajang 65.7 79.8 5.7 612.5 1
14. Madiun 67.5 82.3 6.4 615.8 1
15. Nganjuk 67.5 85.8 6.6 613.9 1
16. Ngawi 67.5 80.1 5.9 601.8 1
17. Pacitan 70.0 83.1 6.0 615.5 1
18. Pamekasan 61.7 79.3 5.4 609.3 1
19. Pasuruan 62.2 84.4 6.2 615.2 1
20. Ponorogo 67.5 78.7 6 620.7 1
21. Probolinggo 59.6 74.4 4.9 616.0 1
22. Ssampang 59.2 61.3 3.4 606.7 1
23. Situbondo 61.7 72.4 5.1 615.5 1
24. Sumenep 62.9 73.3 4.7 615.7 1
25. Tuban 66.1 78.7 5.5 609.5 1
26. Kt Kediri 69.1 96.5 9.0 620.3 2

Tugas Neural Network kelompok II 12


27. Magetan 69.9 89.8 7.2 613.6 2
28. Mojokerto 68.3 91.1 7.1 619.1 2
29. Trenggalek 69.9 89.1 6.5 617.4 2
30. Tulungagung 70.3 88.5 6.9 619.7 2
31. Kt Batu 69.2 96.1 9.6 631.0 2
32. Kt Kediri 69.1 96.5 9.0 620.3 2
33. Kt Blitar 70.5 95.0 9.1 639.0 3
34. Kt Mojokerto 65.4 95.4 8.4 631.6 3
35. Kt Pasuruan 68.1 88.0 7.8 635.7 3
36. Kt Probolinggo 67.8 95.5 9.3 636.6 3
37. Kt Surabaya 69.9 95.9 9.8 619.6 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
 maksimum epoch = 500
 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. Kab/Kota AHH AMH ALS PPP Kel


(X1) (X2) (X3) (X4) (Y)
1. Bangkalan 61.6 73.6 4.8 609.4 1
2. Banyuwangi 64.9 84.3 6.3 616.5 1
3. Jombang 68.4 87.6 7.2 616.8 2
4. Kediri 68.4 88.6 6.5 613.7 2
5. Blitar 69 85.8 6.3 636.1 3
6. Gresik 69.2 91.8 7.8 620.1 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 1

Columns 13 through 24

1 1 1 1 1 1 1 3 3 2 3 2

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. Kab/Kota Pengelompokkan Pengelompokkan


awal LVQ
1. Bangkalan 1 1
2. Banyuwangi 1 1
3. Jombang 2 2
4. Kediri 2 2
5. Blitar 3 3
6. Gresik 3 3
7. Kt Madiun 2 3
8. Kt Batu 2 3
9. Bojonegoro 1 1
10. Bondowoso 1 1
11. Jember 1 1
12. Lamongan 1 1

Tugas Neural Network kelompok II 15


13. Lumajang 1 1
14. Madiun 1 1
15. Nganjuk 1 2
16. Ngawi 1 1
17. Pacitan 1 2
18. Pamekasan 1 1
19. Pasuruan 1 1
20. Ponorogo 1 1
21. Probolinggo 1 1
22. Ssampang 1 1
23. Situbondo 1 1
24. Sumenep 1 1
25. Tuban 1 1
26. Kt Kediri 2 3
27. Magetan 2 3
28. Mojokerto 2 2
29. Trenggalek 2 3
30. Tulungagung 2 2
31. Kt Batu 2 3
32. Kt Kediri 2 3
33. Kt Blitar 3 3
34. Kt Mojokerto 3 3
35. Kt Pasuruan 3 3
36. Kt Probolinggo 3 1
37. Kt Surabaya 3 3

Tugas Neural Network kelompok II 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,....,xj,....,xn).
b. t : Vektor target output.
T = (t1, t2,....,tk,....,tm).
c. δk adalah bagian koreksi error penyesuaian bobot w jk berpedoman pada
error output neuron yk.
d. δj adalah bagian koreksi error penyesuaian bobot vij berpedoman pada
error output neuron zj.
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 Yk
m. Yk : 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 =
1,…,p) dihitung untuk tiap unit tersembunyi zj. Tidak perlu untuk menyebarkan
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
δj dan dan aktivasi xi unit masukan. Untuk langkah selengkapnya adalah :

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

voj sebagai bias pada unit tersembunyi j aplikasikan fungsi


aktivasinya untuk menghitung sinyal keluarannya, zj = f (z_inj),
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 w jk
j 1

wok merupakn bias pada unit keluaran k dan aplikasikan fungsi


aktivasinya untuk menghitung sinyal keluarannya, yk = f (y_ink).

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 wjk
nantinya),
w jk    k z j
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 voj
nanti),
Langkah 8 : Tiap unit keluaran (yk, 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


Tabel 3.1.
Variabel – variabel yang digunakan

X0 X1 X2 X3 X4 X5 X6 X7

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:

0.8( x  a)
x'   0.1
ba

dengan a adalah data minimum dan b adalah data maksimum.

Tugas Neural Network kelompok II 21


Tabel 3.2.
Data hasil transformasi:

X0 X1 X2 X3 X4 X5 X6 X7

0.10 0.1 0.1 0.1 0.9 0.1 0.1 0.68641331

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

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.5904 0.5544 0.9000
0.9000 0.4810 0.8280 0.6926 0.1000
0.1000 0.2819 0.4747 0.6774 0.9000
0.1000 0.4053 0.5184 0.5112 0.9000
Sedangkan matrik outputnya:
T =

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:
𝐹 𝑥 = 𝑁
𝑖=1 𝑤𝑖 ∅ 𝑥 − 𝑥𝑖 (3)
Dimana ∅ 𝑥 − 𝑥𝑖 𝑖 = 1,2,3, … , 𝑁 adalah himpunan fungsi nonlinear yang
disebut fungsi radial basis (Radial Basis Function = RBF) dan . adalah norm
jarak Euclid.
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 𝑥𝑖 ∈ ℜ𝑝 𝑖 = 1,2, … , 𝑁 pusat dari RBF
maka persamaan (3) dapat ditulis :
𝜎11 𝜎12 … 𝜎1𝑁 𝑤1 𝑑1
𝜎21 𝜎22 … 𝜎2𝑁 𝑤2 𝑑2
⋮ ⋮ ⋱ ⋮ ⋮ = ⋮
𝜎𝑁1 𝜎𝑁2 … 𝜎𝑁𝑁 𝑤𝑁 𝑑𝑁
Dimana ∅𝑖𝑗 = ∅ 𝑥𝑖 − 𝑥𝑗
i,j = 1,2,3,..., N
Persamaan diatas bila dinyatakan dalam bentuk metriks menjadi:
fw=d
dimana 𝑑 = 𝑑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 mi(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(x), 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 ), sehingga nilai
𝑠 2 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
~𝜒(𝑛−1)
𝜎2
maka interval kepercayaan (1 − 𝛼) untuk
𝑛
𝑖=1 𝑥𝑖 − 𝑥 2
= (𝑛 − 1)𝑠 2 adalah :

𝜎2
Batas bawah : 𝜒 2𝑛 −1 ;1−𝛼 /2

Tugas Neural Network kelompok II 28


𝜎2
Batas atas : 𝜒 2𝑛 −1 ;𝛼 /2

Karena nilai 𝑠 2 tidak diketahui, maka nilai 𝑠 2 dicari dengan pendekatan lain,
yaitu
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, neurons = 0, MSE = 0.574084


NEWRB, neurons = 25, MSE = 0.0847929
NEWRB, neurons = 50, MSE = 0.010377
NEWRB, neurons = 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


0.2333 1.6694

Columns 46 through 54

-2.6577 0.8726 -2.0051 -0.6288 -0.8350 -1.6100 0.0554 -


0.7137 -1.0300

Columns 55 through 63

-1.1096 -0.0107 -1.0990 1.1410 -2.1995 -2.0389 -1.1621 -


1.2366 -0.1724

Columns 64 through 72

-0.0251 -0.1224 -0.7175 0.6540 -1.8640 -0.2911 -0.3170 -


0.5340 -0.3734

Columns 73 through 76

-0.6562 -0.6399 -0.6405 -0.6030

bobot_bias_lapisan =

1.2881

q =

77

y =

0.1528

Maka data untuk bulan ke-77 adalah 0,15

Dari pengolahan matlab di atas didapatkan bahwa prediksi inflasi pada bulan
ke 77 adalah sebesar 0,15.

Tugas Neural Network kelompok II 34