Professional Documents
Culture Documents
NEURAL NETWORK
DOSEN :
PROGRAM MAGISTER
JURUSAN STATISTIKA (KOMPUTASI STATISTIK)
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA)
INSTITUT TEKNOLOGI SEPULUH NOVEMBER SURABAYA
2010
DAFTAR ISI
1.1 PENDAHULUAN
1.1.1. Pengertian
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.
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 (∝)
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:
Tabel 1.2.
Deskriptif data komponen IPM Propinsi Jawa Timur
Tahun 2004
p =
Columns 1 through 9
Columns 10 through 18
Columns 19 through 27
Columns 28 through 36
Column 37
69.2000
96.1000
9.6000
631.0000
ans =
ans =
[]
net =
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)
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
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
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
Tabel 1.3.
Hasil pembacaan Clustering data untuk 10.000 epoch
2.1 PENDAHULUAN
2.1.1 Pengertian
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
:
X1 W11
Y1
W21
W31
W12
X2 Y2
W22
W32
W13
W23
𝑋1 , 𝑋2 , … , 𝑋𝑛
Xn W33
Ym
𝑋1 , 𝑋2 , … , 𝑋𝑛 = Vektor input
𝑌1 , 𝑌2 , … , 𝑌𝑛 = Vektor Output
i, j = 1, 2, 3, …
2.1.3 Algoritma
Notasi :
X : Training Vektor
Step 0 Inisialisasi
Step 4 Update Wj
Jika T = Cj
Jika T ≠ Cj
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) :
Sedangkan sisanya, data ke-7 sampai 37, akan dipakai sebagai data-data yang
akan dilakukan pelatihan.
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
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;
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.
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 :
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
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 )
yk f ( y _ ink )
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 :
X0 X1 X2 X3 X4 X5 X6 X7
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
0.8( x a)
x' 0.1
ba
X0 X1 X2 X3 X4 X5 X6 X7
Untuk memperoleh batas MSE yang ditentukan dperlukan sebanyak 17928 epochs.
0.9000
0.9000
0.6687
0.9000
0.1000
0.9000
0.9000
Hasil simulasinya adalah :
y =
0.1090
4.1 PENDAHULUAN
4.1.1 Pengertian
4.1.2 Arsitektur
Disain dari model RBFNN untuk pendekatan suatu fungsi adalah sebagai
berikut :
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
Invers Varians
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
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
Tabel 3.1
Data inflasi selama 76 bulan
bobot_input =
1
37
30
24
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
bobot_lapisan =
Columns 1 through 9
Columns 10 through 18
Columns 19 through 27
Columns 28 through 36
Columns 37 through 45
Columns 46 through 54
Columns 55 through 63
Columns 64 through 72
Columns 73 through 76
bobot_bias_lapisan =
1.2881
q =
77
y =
0.1528
Dari pengolahan matlab di atas didapatkan bahwa prediksi inflasi pada bulan
ke 77 adalah sebesar 0,15.