TINJAUAN PUSTAKA
memiliki satu inti sel. Inti sel ini yang akan bertugas untuk
melakukan pemrosesan informasi. Informasi tersebut akan diterima dendrit. Informasi hasil
olahan ini akan menjadi masukan bagi neuron lain. Informasi yang dikirimkan antar neuron
adalah berupa rangsangan yang dilewatkan melalui dendrit. Informasi yang datang akan
diterima oleh dendrit dan dijumlahkan lalu dikirim melalui axon ke dendrit akhir. Informasi
ini akan diterima oleh neuron lain jika memenuhi batasan tertentu. Batasan tertentu dikenal
dengan nama nilai ambang (threshold) yang dikatakan teraktivasi (Haykin, 2008).
Menurut Siang (2005) Jaringan Saraf Tiruan dibentuk sebagai generalisasi model
matematika dari jaringan saraf biologi, dengan asumsi bahwa :
1. Pengolahan informasi terdiri dari elemen-elemen sederhana yang disebut
neuron.
2. Sinyal dilewatkan dari satu neuron ke neuron yang lain melalui hubungan
koneksi.
3. Tiap hubungan koneksi mempunyai nilai bobot sendiri.
4. Tiap neuron mempergunakan fungsi aktivasi terhadap input yang diterimanya
untuk menentukan sinyal keluaran.
2.2
JST dibuat pertama kali pada tahun 1943 oleh neurophysiologist Waren McCulloch dan
logician Walter Pits. Teknologi yang tersedia pada saat itu belum memungkinkan mereka
berbuat lebih jauh. JST merupakan suatu sistem pemrosesan Informasi yang memiliki
karaktristik-karakteristik menyerupai jaringan saraf Biologi. Hal yang sama diutarakan oleh
Simon Haykin yang menyatakan Bahwa JST adalah sebuah mesin yang dirancang untuk
memodelkan cara otak manusia mengerjakan fungsi atau tugas-tugas tertentu. Mesin ini
memiliki kemampuan menyimpan pengetahuan berdasarkan pengalaman dan menjadikanya
simpanan pengetahuan yang dimiliki menjadi bermanfaat (Haykin, 2008).
2.2.2
JST terdiri dari sejumlah elemen pemroses sederhana yang disebut dengan neuron. Tiap
neuron terhubung sambungan komunikasi dimana tiap sambungan mempunyai nilai bobot
sendiri. Nilai bobot ini menyediakan informasi yang akan digunakan oleh jaringan untuk
memecahkan masalah.
Neuron buatan ini dirancang untuk menirukan karakteristik neuron biologis. Secara
prinsip diberikan serangkaian masukan (input) yang masing-masing menggambarkan
keluaran (output) yang kemudian akan menjadi masukan bagi neuron lain. Setiap input akan
dikalikan dengan suatu faktor penimbang tertentu (w i ) yang analog dengan tegangan
synapsis. Semua input tertimbang itu dijumlahkan untuk menentukan tingkat aktivasi suatu
neuron. Gambar 2.2 menunjukkan serangkaian input dengan nama x 1 , x 2 , ..., x n pada suatu
neuron buatan. Untuk mendapat keluaran dari setiap input digunakan:
n
Yin = xi w i
(2.1)
i =1
X1
X2
Xi
W1
W2
Yin
Wi
Keterangan : X 1 ,X 2 ,... X i : Data Input, w1, w2, w i : Bobot , Y -in : Sinyal output
Output yang diharapkan dalam sistem JST ini berada pada range 0 sampai 1 dan dengan
fungsi Sigmoid Biner berapapun nilai input-nya akan dihasilkan output dengan nilai antara 0
sampai 1. Biasanya satu neuron mengirimkan nilai aktivasinya ke beberapa neuron yang
lain.
2.2.3
Aliran informasi yang diproses disesuaikan dengan arsitektur jaringan (Wulandari et al,
2012). Beberapa konsep utama yang berhubungan dengan proses adalah:
1. Masukan (Input), setiap input bersesuaian dengan suatu atribut tunggal.
Serangkaian input pada JST diasumsikan sebagai vektor X yang bersesuaian
dengan sinyal-sinyal yang masuk ke dalam sinapsis neuron biologis. Input
merupakan sebuah nilai yang akan diproses menjadi nilai output.
2.
2.2. 4
Fungsi Aktivasi
Fungsi aktivasi merupakan fungsi yang digunakan untuk meng-update nilai-nilai bobot
periterasi dari semua nilai input. Secara sederhana fungsi aktivasi adalah proses untuk
mengalikan input dengan bobotnya kemudian menjumlahkannya (penjumlahan sigma). Ada
beberapa fungsi aktifasi yang sering digunakan dalam jaringan saraf tiruan antara lain :
1.
f ( x) =
1
1 + e x
(2.2)
dimana x : nilai sinyal keluaran dari satu neuron yang akan diaktifkan
e : nilai konstanta dengan nilai = 2.718281828
2.
3.
4.
Fungsi Symetrik
Fungsi ini akan bernilai -1 jika input-nya kurang dari -1 dan akan bernilai 1 jika
input-nya lebih dari 1.
5.
2
1
f ( x) =
x
1+ e
(2.3)
dimana x : nilai sinyal keluaran dari satu neuron yang akan diaktifkan
e : nilai konstanta dengan nilai = 2.718281828
2. 2.5
Secara umum arsitektur JST terdiri dari atas beberapa lapisan yaitu sebagai berikut
(Dhaneswara dan Moertini, 2004):
1. Lapisan Masukan (input layer)
Lapisan masukan merupakan lapisan yang terdiri dari beberapa neuron yang akan
menerima sinyal dari luar dan kemudian meneruskan ke neuron-neuron lain dalam
jaringan.
2. Lapisan Tersembunyi (hidden layer)
Lapisan tersembunyi merupakan tiruan dari sel-sel saraf konektor pada jaringan
saraf biologis. Lapisan tersembunyi berfungsi meningkatkan kemampuan jaringan
dalam memecahkan masalah.
3. Lapisan Keluaran (output layer)
Lapisan keluaran berfungsi menyalurkan sinyal-sinyal keluaran hasil pemrosesan
jaringan. Lapisan ini juga terdiri dari sejumlah neuron. Lapisan keluaran merupakan
tiruan sel-sel saraf motor pada jaringan saraf biologi.
Arsitektur Jaringan Saraf Tiruan terdiri dari 2 macam jaringan yaitu sebagai berikut:
1. Jaringan Lapisan Tunggal (Single Layer )
Jaringan single layer terdiri atas satu lapisan input dan satu lapisan output dengan setiap
neuron yang saling terhubung. Dalam jaringan ini, semua unit input dihubungkan dengan
semua unit output dengan bobot yang berbeda-beda. Tidak ada unit input yang dihubungkan
dengan unit input lainnya. Demikian pula dengan unit output, tidak ada unit output yang
terhubung dengan unit output yang lain (Fausset, 1994). Selama proses pelatihan, bobot
tersebut dimodifikasi untuk meningkatkan keakuratan hasil. Jaringan single layer dapat
dilihat pada gambar 2.3 :
Yi =
x v
i =1
(2.4)
i ij
Rumus 2.4 dapat digunakan jika tidak terdapat bias. Jika menggunakan bias maka Y 1
= v01 + (x 1 *w 11 ) + (x 2 * w 21 ) + (x 3 *w 31 )
dan
n
Yi =
v 0 j+
x v
i =1
i ij
(2.5)
Nilai input dalam gambar 2.4 merupakan nilai objek yang akan dihitung/ diteliti
yang sudah disesuaikan dengan batas nilai fungsi aktifasi yang digunakan. Misalnya jika
menggunakan fungsi aktifasi Sigmoid Biner maka nilai x i yang dapat digunakan adalah
dalam interval -1 s/d 1. Jika nilai x i lebih besar atau lebih kecil dari interval tersebut maka
data terlebih dahulu dinormalisasi.
Nilai Input
Neuron-Neuron pada
Lapisan
Input
V 41
V 31
V 13
V11
V 12
V21
V 23
V42
V33
V 22
V32
V 43
Neuron-Neuron pada
Lapisan tersembunyi
Z 21
Z 11
Z 12
Z 31
Z 22
Z 32
Neuron-Neuron pada
Lapisan output
Nilai Output
Untuk mendapatkan nilai keluaran node 1 (Z 1 ) didapat dengan mengalikan sinyal masukan
dengan bobot yang menuju node Z 1 = (x 1 *V 11 ) + (x 2 * V 21 ) + (x 3 *V 31 ) + (x 4 *v 41 .
Dengan cara yang sama dapat dihitung untuk nilai keluaran dari z 2 dan z 3 .
(2.5)
Untuk mendapatkan nilai keluaran node 1 (Y1 ) didapat dengan mengalikan sinyal masukan
dengan bobot yang menuju node Y 1 = (x 1 *z 11 ) + (x 2 * z 21 ) + (x 3 *z 31 )
Dengan cara yang sama dapat dihitung untuk nilai keluaran dari y 2 . Sehingga dapat
dirumuskan:
p
Yi =
z w
i =1
(2.6)
jk
Jika pada gambar 2.4 ditambah bias menuju lapisan tersembunyi (b1) dengan bobotnya v 01
dan bias menuju lapisan output (b2) dengan bobotnya w01 , maka rumus 2.5 dan 2.6 akan
menjadi:
zi =
x v
i =1
i ij
vjk
jk
+ wjk
(2.7)
Yi =
z w
i =1
(2.8)
sehingga jaringan ini tidak dapat melakukan segalanya seperti kemampuan saraf
sesungguhnya. Proses pembelajaran suatu JST melibatkan tiga pekerjaan, sebagai berikut:
1. Menghitung output.
2. Membandingkan output dengan target yang diinginkan.
3. Menyesuaikan bobot dan mengulangi proses
Pada umumnya, jika menggunakan Jaringan Saraf Tiruan, hubungan antara input
dan output harus diketahui secara pasti. Jika hubungan tersebut telah diketahui maka dapat
dibuat suatu model. Hal lain yang penting adalah proses belajar hubungan input/output
dilakukan dengan pembelajaran. Pelatihan Jaringan Saraf bertujuan untuk mencari bobotbobot yang terdapat pada setiap layer.
Ada dua jenis pelatihan dalam sistem jaringan saraf tiruan, yaitu:
1. Pembelajaran Terawasi (Supervised Learning). Dalam proses pelatihan ini, jaringan
dilatih dengan cara diberikan data yang disebut pelatihan data. Pelatihan data terdiri
atas pasangan input-output yang diharapkan dan disebut associative memory. Setelah
jaringan dilatih, associative memory dapat mengingat suatu pola. Dalam tesis ini
akan digunakan pembelajaran terawasi yaitu dengan menggunakan metode
backpropagation.
2. Pembelajaran Tidak Terawasi (Unsupervised Learning). Dalam proses pelatihan ini,
jaringan dilatih hanya dengan diberi data input yang memiliki kesamaan sifat tanpa
disertai output.
Backpropagation merupakan salah satu metode pelatihan dari Jaringan Saraf Tiruan.
Backpropagation menggunakan arsitektur multilayer dengan metode pelatihan
supervised pelatihan. Metode Backpropagation ini dikembangkan oleh Rumelhart
Hinton dan Williams sekitar tahun 1986. Menurut teori Backpropagation, metode ini
secara efektif bisa menentukan pendekatan yang paling baik dari data yang
dimasukkan.
Z inj= v 0 j+
x v
i =1
(2.9)
i ij
(2.10)
dan kirimkan sinyal tersebut ke semua unit di layer atasnya (unit-unit output layer)
y ink = w0 j +
z w
i =1
(2.11)
jk
(2.12)
dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).
6. Tiap-tiap unit output (Yk dimana k=1,2,3,...,m) menerima target pola yang
berhubungan dengan pola input pembelajaran, hitung informasi error-nya:
k = (t k -y k ) f(y_in k )
(2.13)
kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai
w jk ) :
wjk = k z j
(2.14)
hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai w0k ):
w0k = k
(2.15)
7. Tiap-tiap unit tersembunyi (Z j dimana j=1,2,3,...,p) menjumlahkan delta inputnya (dari unit-unit yang berada pada lapisan di atasnya):
_in j =
k =1
w jk
(2.16)
kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi
error :
j = _ in j f(z_in j)
(2.17)
kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai
v ij ) :
v jk = j x i
(2.18)
hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai v 0j ):
v 0j = j
(2.19)
(2.20)
(2.21)
digunakan pada saat proses feedforward untuk mendapatkan sinyal keluaran dari output
layer. Jika nilai error yang dihasilkan lebih besar dari batas error yang digunakan dalam
sistem, maka akan dilakukan koreksi bobot dan bias. Koreksi bobot dapat dilakukan dengan
menambah atau menurunkan nilai bobot.
Jika sinyal keluaran terlalu besar dari target yang ditentukan maka bobotnya
diturunkan, sebaliknya jika sinyal keluaran terlalu kecil dari target yang ditentukan maka
bobotnya dinaikkan. Koreksi bobot akan dilakukan sampai selisih target dan sinyal keluaran
sekecil mungkin atau sama dengan batas error. Untuk melakukan koreksi bobot dan bias
akan dilakukan penelusuran ke belakang seperti ditunjukkan dengan tanda panah mundur.
Output
Output
Output
b1
b2
2.3.3
Masalah utama yang dihadapi dalam Backpropagation adalah lamanya iterasi yang harus
dilakukan. Backpropagation tidak dapat memberikan kepastian tentang berapa epoch yang
harus dilalui untuk mencapai kondisi yang diinginkan. Untuk meningkatkan hasil yang
diperoleh dengan metode backpropagation dapat dilakukan dengan analisis bobot dan bias
awal, jumlah unit tersembunyi, waktu iterasi dan penambahan mom
2.3.3.1 Pemilihan Bobot dan Bias Awal
Bobot awal akan mempengaruhi apakah jaringan mencapai titik minimum lokal (local
minimum) atau global, dan seberapa cepat konvergensinya dalam pelatihan. Inisialisasi bobot
awal dapat dilakukan dengan 2 (dua) Metode yaitu: Inisialisasi Bobot dan Bias awal secara
Random dan Inisialisasi Bobot dan Bias awal dengan Metode Nguyen Widrow.
Bobot dalam Backpropagation tidak boleh diberi nilai yang sama. Penyebabnya adalah
karena jika bobot sama jaringan tidak akan terlatih dengan benar. Jaringan mungkin saja
gagal untuk belajar terhadap serangkaian contoh-contoh pelatihan. Misalnya dengan kondisi
tetap atau bahkan error semakin besar dengan diteruskannya proses pelatihan. Untuk
mengatasi hal ini maka inisialisasi bobot dibuat secara acak.
Bobot yang menghasilkan nilai turunan aktivasi yang kecil sedapat mungkin dihindari
karena akan menyebabkan perubahan bobotnya menjadi sangat kecil. Demikian pula nilai
bobot awal tidak boleh terlalu besar karena nilai turunan fungsi aktivasinya menjadi sangat
kecil juga. Dalam Standar Backpropagation, bobot dan bias diisi dengan bilangan acak kecil.
Untuk inisialisasi bobot awal secara random maka nilai yang digunakan adalah antara -0.5
sampai 0.5 atau -1 sampai 1.
2.3.3.2
Berdasarkan hasil teoritis, Backpropagation dengan sebuah hidden layer sudah cukup untuk
mampu mengenali sembarang pasangan antara masukan dan target dengan tingkat ketelitian
yang ditentukan. Akan tetapi penambahan jumlah hidden layer kadangkala membuat
pelatihan lebih mudah. Jika jaringan memiliki lebih dari hidden layer, maka algoritma
pelatihan yang dijabarkan sebelumnya perlu direvisi. Dalam propagasi maju, keluaran harus
dihitung untuk Setiap layer, dimulai dari hidden layer paling bawah (terdekat dengan unit
masukan). Sebaliknya dalam propagasi mundur, faktor perlu dihitung untuk tiap hidden
layer, dimulai dari lapisan keluaran (Hajar, 2005).
data (pelatihan dan pengujian). Selama kesalahan ini menurun, pelatihan terus dijalankan.
Akan tetapi jika kesalahannya sudah meningkat, pelatihan tidak ada gunanya diteruskan.
Jaringan sudah mulai mengambil sifat yang hanya dimiliki secara spesifik oleh data
pelatihan (tapi tidak dimiliki oleh data pengujian) dan sudah mulai kehilangan kemampuan
melakukan generalisasi.
2.3.3.4 Momentum
Pada standar Backpropagation, perubahan bobot didasarkan atas gradien yang terjadi untuk
pola yang dimasukkan saat itu. Modifikasi yang dapat dilakukan adalah melakukan
perubahan bobot yang didasarkan atas ARAH GRADIEN pola terakhir dan pola
sebelumnya (momentum) yang dimasukkan. Jadi tidak hanya pola masukan terakhir saja
yang diperhitungkan.
Penambahan momentum dimaksudkan untuk menghindari perubahan bobot yang
mencolok akibat adanya data yang sangat berbeda dengan yang lain. Apabila beberapa data
terakhir yang diberikan ke jaringan memiliki pola yang serupa (berarti arah gradien sudah
benar), maka perubahan bobot dilakukan secara cepat. Namun apabila data terakhir yang
dimasukkan memiliki pola yang berbeda dengan pola sebelumnnya, maka perubahan bobot
dilakukan secara lambat (Fausset, 1994).
Penambahan momentum, bobot baru pada waktu ke (T + 1) didasarkan atas bobot pada
waktu T dan (T-1). Di sini harus ditambahkan 2 variabel baru yang mencatat besarnya
momentum untuk 2 iterasi terakhir. Jika adalah konstanta yang menyatakan parameter
momentum (Dhaneswara dan Moertini, 2004).
Jika menggunakan momentum maka bobot baru dihitung berdasarkan persamaan:
wjk(T+1) = wjk(T) + k zj + ( wjk(T) wjk(T-1))
(2.24)
dan
vij(T+1) = vij(T) + j xi + ( vij(T) vij(T-1))
2.3.4
(2.25)
Dalam proses testing ini diberikan input data yang disimpan dalam disk (file testing). JST
yang telah dilatih akan mengambil data tersebut dan memberikan output yang merupakan
Hasil Prediksi JST. JST memberikan output berdasarkan bobot yang disimpan dalam
proses pelatihan.
Pada akhir testing dilakukan perbandingan antara hasil prediksi (output JST) dan
hasil asli (kondisi nyata yang terjadi). Hal ini adalah untuk menguji tingkat keberhasilan JST
dalam melakukan prediksi.
2.4
Nguyen Widrow mengusulkan cara membuat inisialisasi bobot dan bias ke unit tersembunyi
sehingga menghasilkan iterasi lebih cepat. Metode Nguyen Widrow akan menginisialisasi
bobot-bobot lapisan dengan dengan nilai antara -0.5 sampai 0.5. Sedangkan bobot dari
lapisan input ke lapisan tersembunyi dirancang sedemikian rupa sehingga dapat
meningkatkan kemampuan lapisan tersembunyi dalam melakukan proses pembelajaran
(Fausset, 1994)
Metode Nguyen Widrow secara sederhana dapat diimplementasikan dengan prosedur
sebagai berikut:
Tetapkan:
n = jumlah unit masukan(input)
p = jumlah unit tersembunyi
(2.22)
Analisis metode Nguyen Widrow didasarkan atas fungsi tangen Sigmoid yang
memiliki interval nilai dari -1 sampai 1. Dalam fungsi tangen sigmoid ketika digunakan nilai
x = 1 akan menghasilkan pendekatan nilai 0.75 dan ketika x = -1 akan mendekati nilai 0.25.
Sedangkan Nilai mempunyai interval 0 sampai 1 (0 < < 1). Nilai yang paling dekat
dengan 0.75 yang berada dalam interval 0 sampai dengan 1 adalah 0.7 dan 0.8. Jika
digunakan 0.8 maka nilai nya akan melebihi batas interval fungsi sigmoid yaitu lebih dari 1.
Hal inilah yang menyebabkan faktor skala yang digunakan dalam metode Nguyen Widrow
menggunakan nilai 0.7. Nilai 0.7 dalam faktor skala metode Nguyen Widrow diharapkan
dapat menghasilkan bias dan bobot yang mampu menyesuaikan dengan pola pelatihan dalam
backpropagation.
=
ij
b. Hitung ||v j ||
c. Inisialisasi ulang bobot-bobot :
v ij =
vij
(2.23)
|| v j ||
X=
( xmax xmin )( a )
(b a ).
+ xmin
(2.26)
Dimana:
2.6
Xmax
Xmin
: Data terkecil
: Data terbesar
: Data aktual
PENELITIAN TERKAIT
Terdapat beberapa riset yang telah dilakukan oleh banyak peneliti berkaitan dengan
penulisan penelitian ini. Adapun penelitian tersebut dapat dilihat pada tabel 2.1 di
bawah ini:
Judul
Pembahasan
Andrijasa M.F,
Melakukan
Mistianingsih,
Untuk
learning
Memprediksi
Pengangguran
Kalimantan
Jumlah
modifikasi
rate
Dengan
Algoritma
Timur
Pembelajaran Backprpagation.
rate
terbaik
2010
untuk
Provinsi
di
Menggunakan
Tahun
adalah
0.01
Pemodelan
Curah
I.K,
Limpasan
Sutikno S,
Hujan-
Menggunakan
Menghitung
absolute
kesalahan
rata-rata
2005
(KAR)
dalam
metode
Backpropagation.
Hajar I
Penggunaan
Backpropagation
Backpropagation
neural
network
secara
terpadu
jaringan transmisi.
deprogram
2005
menggunakan
dan
arus
saluran
pada
transmisi
terganggu,
dengan
sebagai
input,
backpropagation
Membandingkan
MAD
untuk Peramalan
2000
Implementasi
Moertini, V. S.
jaringan
Forward
menggunakan
Algoritma
Jaringan
Saraf
Menggunakan
Backpropagation
Melakukan
konfigurasi
saraf
Backpropagation
2004
tiruan
dengan
dengan
Momentum
Klasifikasi Data
untuk
dengan
Data
Aplikasi
Kredit Bank.