BAB II
TINJAUAN PUSTAKA
2.1 JARINGAN SARAF SECARA BIOLOGIS Jaringan saraf adalah salah satu representasi buatan dari otak manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia. Istilah buatan disini digunakan karena jaringan saraf ini diimplementasikan dengan menggunakan program komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran (Fausett, 1994). Setiap sel saraf
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.
Universitas Sumatera Utara
Gambar 2.1 Saraf Secara Biologis (Haykin, 2008)
2.2
JARINGAN SARAF TIRUAN (JST)
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.1 Karakteristrik JST Karakteristik JST ditentukan oleh 3 hal yaitu: 1. Pola hubungan antar neuron disebut arsiktektur jaringan. 2. Metode untuk menentukan nilai bobot tiap hubungan disebut pembelajaran/ pelatihan. 3. Fungsi aktivasi (Fungsi Transfer)
Universitas Sumatera Utara
2.2.2
Struktur dan Komponen JST
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
Gambar 2.2 Model Neuron Buatan (Fausett, 1994)
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.
Universitas Sumatera Utara
2.2.3
Pemrosesan Informasi dalam JST
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.
Keluaran (Output), output dari jaringan adalah penyelesaian masalah.
3. Bobot (Weight), mengekspresikan kekuatan relatif (atau nilai matematis) dari input data awal. Penyesuaian yang berulang-ulang terhadap nilai bobot menyebabkan JST “belajar”. Bobot-bobot ini diasumsikan sebagai vektor w. setiap bobot bersesuaian dengan tegangan (strength) penghubung sinapsis biologis tunggal. 4. Fungsi Penjumlahan, menggandakan setiap nilai input x i dengan bobot wi dan menjumlahkannya bersama-sama untuk memperoleh suatu output Y. Fungsi penjumlahan ini bersesuaian dengan badan sel biologis (soma). 5. Fungsi Alih (Transfer Function), menghitung stimulasi internal atau level aktivasi dari saraf.
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.
Fungsi Sigmoid Biner Fungsi ini digunakan untuk jaringan saraf yang dilatih dengan menggunakan metode Backpropagation. Fungsi Sigmoid Biner memiliki nilai pada range 0 sampai 1. Oleh karena itu fungsi ini sering digunakan untuk jaringan yang membutuhkan nilai output yang terletak pada interval 0 sampai 1.
Universitas Sumatera Utara
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.
Fungsi Identitas (linear) Fungsi linear memiliki nilai output yang sama dengan nilai input-nya.
3.
Fungsi Saturating Linear Fungsi ini akan bernilai 0 jika input-nya kurang dari -1/2 dan akan benilai 1 jika input-nya lebih dari ½.
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.
Fungsi Sigmoid Bipolar Fungsi Sigmoid Bipolar hampir sama dengan fungsi Siqmoid Biner hanya saja output dari fungsi ini memiliki range antara 1 sampai -1
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
Arsitektur Jaringan Saraf Tiruan
Secara umum arsitektur JST terdiri dari atas beberapa lapisan yaitu sebagai berikut (Dhaneswara dan Moertini, 2004): 1. Lapisan Masukan (input layer)
Universitas Sumatera Utara
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 :
Universitas Sumatera Utara
Keterangan : X 1 ,X 2 ,X 3 : node lapisan input, Y 1 ,Y 2 : node lapisan Output, w11 , w 12 …w 31 : bobot untuk menghubungkan sinyal input masukan dengan keluaran.
Gambar 2.3 JST Lapisan Single Layer (Fausset, 1994) Untuk mendapatkan nilai keluaran node 1 (Y1 ) didapat dengan mengalikan sinyal masukan dengan bobot yang menuju node Y 1 = (x 1 *w 11 ) + (x 2 * w 21 ) + (x 3 *w 31 ). Dengan cara yang sama dapat dihitung untuk nilai keluaran dari Y2 . Sehingga dapat dirumuskan: n
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)
Universitas Sumatera Utara
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
Universitas Sumatera Utara
Keterangan :x 1 .. x 4 : lapisan input ,z 1 .. z 3 : Lapisan tersembunyi ,y 1 , y 2 : lapisan output
Gambar 2.5 JST Lapisan Multi Layer (Fausset, 1994)
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
i
(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:
n
zi =
∑x v i =1
i ij
+
vjk
jk
+ wjk
(2.7)
p
Yi =
∑z w i =1
i
(2.8)
2.2.6 Proses Pembelajaran Jaringan Saraf Tiruan Suatu karakteristik yang sangat menarik dari JST adalah kemampuannya untuk belajar. Cara belajar dari latihan yang diberikan pada JST menunjukkan beberapa kesamaan dengan perkembangan intelektual manusia. Kemampuan belajar JST bersifat sangat terbatas
Universitas Sumatera Utara
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.
2.3 METODE BACKPROPAGATION
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.
Universitas Sumatera Utara
Backpropagation merupakan generalisasi aturan delta (Widrow-Hoff). Backpropagation menerapkan metode gradient descent untuk meminimalkan error kuadrat total dari keluaran yang dihitung oleh jaringan. Backpropagation melatih jaringan untuk memperoleh keseimbangan antara “kemampuan jaringan” untuk mengenali pola yang digunakan selama pelatihan dan “kemampuan jaringan” merespon secara benar terhadap pola masukan yang serupa (tapi tidak sama) dengan pola pelatihan. 2.3.1 Algoritma Backpropagation: 1. Inisialisasi bobot (ambil bobot awal dengan nilai random yang cukup kecil antara 0 sampai 1). 2. Untuk setiap pasangan vektor pelatihan lakukan langkah 3 sampai langkah 8. 3. Tiap-tiap unit input (X i dimana i=1,2,3,...,n) menerima sinyal masukan x i dan menjalankan sinyal tersebut ke semua unit pada lapisan yang ada diatasnya atau selanjutnya (dalam hal ini adalah lapisan tersembunyi). 4. Tiap-tiap unit tersembunyi (Z j dimana j=1,2,3,...,p) jumlahkan bobotnya dengan sinyalsinyal input masing-masing : n
Z inj= v 0 j+
∑x v i =1
(2.9)
i ij
gunakan fungsi aktivasi untuk menghitung sinyal output-nya: Z j = f(Z inj)
(2.10)
dan kirimkan sinyal tersebut ke semua unit di layer atasnya (unit-unit output layer)
5. Tiap-tiap unit output (Yk dimana k=1,2,3,...,m) jumlahkan bobotnya dengan sinyal-sinyal input masing-masing: p
y ink = w0 j +
∑z w i =1
i
(2.11)
jk
gunakan fungsi aktivasi untuk menghitung sinyal outputnya : y k = f(y ink )
(2.12)
Universitas Sumatera Utara
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)
kirimkan ini ke unit-unit yang ada lapisan bawahnya.
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 =
m
∑δ k =1
k
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)
Universitas Sumatera Utara
8. Tiap-tiap unit output (Y k dimana k=1,2,3,...,m) memperbaiki bias dan bobotnya (j = 0,1,2,...,p): w jk (baru) = w jk (lama)+ ∆w jk
(2.20)
tiap-tiap unit tersembunyi (Z j dimana j = 1,2,3,...,p) memperbaiki bias dan bobotnya (i = 0,1,2,...,n): v ij (baru) = v ij (lama)+ ∆ v ij
(2.21)
9. Tes kondisi berhenti.
Tahap 3 sampai dengan tahap 5 merupakan bagian dari feedforward, tahap 6 sampai 8 merupakan bagian dari backpropagation (Fausset,1994).
2.3.2 Arsitektur Backpropagation: Pada gambar 2.5 dapat dilihat gambar arsitektur Backpropagation dengan 3 node input layer masukan 2 node pada hidden layer, 3 node output layer dan 2 bias 1 menuju hidden layer, 1 menuju output layer. Pada gambar 2.6 arsitektur backpropagation terdapat dua jenis tanda panah yaitu tanda panah maju (
) dan tanda panah mundur (
). Tanda panah maju
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.
Universitas Sumatera Utara
Output
Output
Output b1
b2
Keterangan:Y 1 ..Y 3 : output, X 1 …X n : data input, b1 ,b2 : bias, Z 1 , Z 2 : hidden Layer
Gambar 2.5 Gambar Arsitektur Backpropagation (Fausett, 1994)
2.3.3
Meningkatkan Hasil Metode Backpropagation
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
Universitas Sumatera Utara
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
Jumlah Unit Tersembunyi
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).
2.3.3.3 Waktu Iterasi Tujuan utama penggunaan Backpropagation adalah mendapatkan keseimbangan antara pengenalan pola pelatihan secara benar dan respon yang baik untuk pola lain yang sejenis. Jaringan dapat dilatih terus menerus hingga semua pola pelatihan dikenali dengan benar. Akan tetapi hal itu tidak menjamin jaringan akan mampu mengenali pola pengujian dengan tepat. Jadi tidaklah bermanfaat untuk meneruskan iterasi hingga semua kesalahan pola pelatihan = 0. Umumnya data dibagi menjadi dua bagian, yaitu pola data pelatihan dan data pengujian. Perubahan bobot dilakukan berdasarkan pola pelatihan. Akan tetapi selama pelatihan (misalkan setiap 10 epoch), kesalahan yang terjadi dihitung berdasarkan semua
Universitas Sumatera Utara
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)
Pengujian (Testing) pada Metode Backpropagation
Universitas Sumatera Utara
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
METODE NGUYEN WIDROW
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
(
β = faktor skala = 0.7( p )
1
n
)
(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.
Universitas Sumatera Utara
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.
Algoritma inisialisasi Nguyen Widrow adalah sebagai berikut: Kerjakan untuk setiap unit pada lapisan tersembunyi (j=1,2,...,p): a. Inisialisasi bobot-bobot dari lapisan input ke lapisan tersembunyi v
= ij
bilangan acak dalam interval [-0,5: 0,5]
b. Hitung ||v j || c. Inisialisasi ulang bobot-bobot : v ij =
βvij
(2.23)
|| v j ||
d. Set bias b 1j = bilangan random antara - β sampai β
2.5 NORMALISASI DATA Normalisasi adalah penskalaan terhadap nilai-nilai masuk ke dalam suatu range tertentu. Hal ini dilakukan agar nilai input dan target output sesuai dengan range dari fungsi aktivasi yang digunakan dalam jaringan. Normalisasi ini dilakukan untuk mendapatkan data berada dalam interval 0 sampai dengan 1. Hal ini disebabkan karena nilai dalam fungsi aktifasi Sigmoid Biner adalah berada diantara 0 dan 1. Tapi akan lebih baik jika ditransformasikan keinterval yang lebih kecil. Misalnya pada interval [0,1..0,9], karena mengingat fungsi Sigmoid Biner nilainya tidak pernah mencapai 0 ataupun 1 (Santoso at el, 2007). Adapun rumus yang digunakan untuk normalisasi data adalah sebagai berikut:
Universitas Sumatera Utara
X=
( xmax − xmin )(× − a ) (b − a ).
+ xmin
(2.26)
Dimana:
2.6
Xmax
: Nilai maximum data aktual
Xmin
: Nilai minimum data aktual
a
: Data terkecil
b
: Data terbesar
x
: 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:
Universitas Sumatera Utara
Tabel 2.1 Penelitian Terkait Nama Peneliti
Judul
Pembahasan
Andrijasa M.F,
Penerapan Jaringan Syaraf Tiruan
Melakukan
Mistianingsih,
Untuk
learning
Memprediksi
Pengangguran Kalimantan
Jumlah
modifikasi rate
mendapatkan hasil prediksi
Dengan
yang akurat dalam penelitian
Algoritma
yang dilakukannya learning
Timur
Pembelajaran Backprpagation.
rate
terbaik
2010
untuk
Provinsi
di
Menggunakan
Tahun
adalah
0.01
dengan 1 hidden layer. Hadihardaja
Pemodelan
Curah
I.K,
Limpasan
Sutikno S,
Artificial Neural Network.
Hujan-
Menggunakan
Menghitung absolute
kesalahan
rata-rata
2005
(KAR)
dalam
metode
Backpropagation. Hajar I
Penggunaan
Backpropagation
Backpropagation
neural
neural network pada relay jarak
network
secara
untuk mendeteksi gangguan pada
terpadu
jaringan transmisi.
algoritma generalized delta
deprogram
2005
menggunakan
rule (GDR) untuk mengenali pola-pola bentuk gelombang tegangan kondisi
dan
arus
saluran
pada
transmisi
terganggu,
dengan
menggunakan tegangan dan arus phasa output
sebagai
input,
backpropagation
adalah keputusan trip/tidak trip. Siana Halim,
Penerapan Jaringan Saraf Tiruan
Membandingkan
MAD
untuk Peramalan
dengan MSE dalam Model
2000
GARCH dan MAD dengan MSE dalam backpropagation Dhaneswara,G.,
Implementasi
Moertini, V. S.
Tiruan Tipe Multilayer Feed-
jaringan
Forward
menggunakan
Algoritma
Jaringan
Saraf
Menggunakan Backpropagation
Melakukan
konfigurasi saraf
Backpropagation
2004
tiruan
dengan
Universitas Sumatera Utara
dengan
Momentum
Klasifikasi Data
untuk
membandingkan hasil yang diperoleh dengan 1 lapisan tersembunyi dengan 2 lapisan tersembunyi Eksperimen
dengan Data
Aplikasi
Kredit Bank.
Universitas Sumatera Utara