• Tidak ada hasil yang ditemukan

BAB 2. LANDASAN/KERANGKA PEMIKIRAN

2.2. Tinjauan Pustaka

2.2.2. Jaringan Syaraf Tiruan

Jaringan syaraf tiruan adalah sebuah arsitektur paralel terdistribusi dengan banyak node dan connection. Tiap connection (hubungan) menghubungkan sebuah node ke node lainnya, dan tiap connection mempunyai nilai bobot (Fu, 1994).

11

Program Pascasarjana Magister Ilmu Komputer STMIK Nusa Mandiri

Jaringan Syaraf Tiruan telah digeneralisasi sebagai model matematik dari kondisi manusia, dengan didasarkan pada asumsi-asumsi sebagai berikut (Fausett, 1994):

1. Pemrosesan informasi terjadi pada banyak elemen-elemen sederhana yang disebut dengan neurons.

2. Sinyal-sinyal dikirim antar neuron melalui connection-links

3. Setiap connection-links mempunyai bobot yang sesuai, tergantung tipe jaringan neural.

4. Setiap neuron memiliki activation function (biasanya non linier) yang merupakan jumlahan dari sinyal-sinyal input untuk menentukan sinyal output.

Jaringan syaraf tiruan dibedakan oleh:

1. Pola koneksi antar neuron (disebut dengan arsitektur)

2. Metode penentuan bobot pada koneksi-koneksi (disebut dengan training, learning atau algoritma)

3. Fungsi aktivasi

Y menerima input dari neuron x1, x2, dan x3 dengan bobot hubungan masing-masing adalah w1, w2 dan w3. Ketiga impuls neuron yang ada dijumlahkan.

(2.17)

Besarnya impuls yang diterima oleh Y mengikuti fungsi aktivasi y = f(net).

Apabila nilai fungsi aktivasi cukup kuat, maka sinyal akan diteruskan (Siang,

Gambar 2.1. Neuron Y

A. Backpropagation

Backpropagation merupakan sebuah metode sistematik untuk pelatihan multilayer jaringan syaraf tiruan. Metode ini memiliki dasar matematis yang kuat, obyektif, selain itu algoritma ini memiliki bentuk persamaan dan nilai koefisien dengan cara meminimalisasi jumlah kuadrat galat error melalui training set (Fausett, 1994).

1. Dimulai dengan lapisan masukan, hitung keluaran dari setiap elemen pemroses melalui lapisan luar

2. Hitung kesalahan pada lapisan luar yang merupakan selisih antara data aktual dan target

3. Transformasikan kesalahan tersebut pada kesalahan yang sesuai di sisi masukan elemen pemroses

4. Propagasi balik kesalaahn-kesalaahn ini pada keluaran setiap elemen pemroses ke kesalahan yang terdapat pada masukan. Ulangi proses ini sampai masukan tercapai.

5. Ubah seluruh bobot dengan menggunakan kesalahan pada sisi masukan elemen dan elemen pemroses yang terhubung.

Backpropagation memiliki beberapa unit yang ada dalam satu atau lebih layar tersembunyi.

Gambar 2. 2. Arsitektur Backpropagation Keterangan:

X = Masukan (Input)

13

Program Pascasarjana Magister Ilmu Komputer STMIK Nusa Mandiri

J = 1 s.d n (n=10)

V = Bobot pada lapisan tersembunyi W = Bobot pada lapisan keluaran

n = Jumlah unit pengolah pada lapisan tersembunyi b = Bias pada lapisan tersembunyi dan lapisan keluaran k = Jumlah unit pengolah pada lapisan keluaran

Y = Keluaran hasil

Algoritma Backpropagation (BP) merupakan pengembangan dari algoritma least men square yang dapat digunakan untuk melatih jaringan dengan beberapa layer. BP menggunakan pendekatan algoritma steepest descent. Algoritma ini menggunakan performance index dalam bentuk mean square error (MSE). Untuk melatih jaringan diperlukan seperangkat data seperti berikut:

* + * + * + (2.18)

Dimana pn adalah input ke-n jaringan dan tn adalah target, yaitu nilai output yang seharusnya dihasilkan. Untuk setiap input yang masuk ke jaringan, output akan dibandingkan dengan target. Algoritma ini akan mengatur parameter jaringan untuk meminimalkan MSE, yaitu:

( ) ( ) ,( ) - (2.19)

Dimana x, e, t dan a merupakan vektor bobot dan bias, vektor error, vektor target dan vektor output. Jika jaringan mempunyai beberapa output maka persamaan di atas dapat dikembangkan menjadi:

( ) , - ,(( ) ( )- (2.20)

Mean Square Error didekati dengan:

( ) ( ) ( ) (2.21)

Fase pertama dari pelatihan backpropagation adalah fase perambatan maju yakni pola masukan dihitung maju mulai dari layar masukan hingga layar

keluaran menggunakan fungsi aktivasi yang ditentukan. Fase kedua adalah fase perambatan mundur, yakni dengan menghitung selisih antara keluaran jaringan dengan target yang diinginkan yang hasilnya disebut kesalahan (error). Kesalahan ini dipropagasi mundur, dimulai dari garis-garis yang berhubungan langsung dengan garis-garis yang berhubungan dengan unit-unit di layar keluaran. Fase terakhir adalah modifikasi bobot untuk menurunkan kesalahan yang terjadi (Siang, 2009).

Selama perambatan maju, tiap unit masukan (xi) meneruskan sebuah sinyal input ke tiap-tiap lapisan tersembunyi z1, ...,zp. Tiap unit tersembunyi ini kemudian menghitung aktivasinya dan mengirimkan sinyalnya (zj) ke tiap unit keluaran. Tiap unit keluaran (yk) menghitung aktivasinya untuk membentuk respon pada jaringan sebagai pola masukan.

Selama pelatihan, tiap unit keluaran membandingkan perhitungan aktivasinya yk dengan nilai targetnya tk untuk menentukan kesalahan pola tersebut dengan unit yang digunakan. Berdasarkan kesalahan ini, faktor δk(k = 1,..,m)dihitung. δkdigunakakan untuk menyebarkan kesalahan pada unit keluaran ykkembali ke semua unit pada lapisan sebelumnya (unit-unit tersembunyi yang dihubungkan ke yk). Selain itu digunakan juga untuk memperbaharui 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 memperbaharui bobot antara lapisan tersembunyi dan lapisan masukan.

Setelah seluruh faktor δk 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 zh dari unit tersembunyi zj. Didasarkan pada faktor δk dan aktivasi xi unit masukan. Prosedur selengkapnya adalah:

Langkah 0 : inisialisasi bobot (sebaiknya diatur pada nilai acak yang kecil) Langkah 1 : jika kondisi tercapai, lakukan langkah 2-9

Langkah 2 : untuk setiap pasangan pelatihan, lakukan langkah 3-8 Fase I, Perambatan Maju:

15

Program Pascasarjana Magister Ilmu Komputer STMIK Nusa Mandiri

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,

(2.22)

voj = bias pada unit tersembunyi j aplikasikan fungsi aktivasinya untuk menghitung sinyal keluarannya, zj = f(z_inj), dan kirimkan sinyal ini ke seluruh unit pada lapisan di atasnya (unit keluaran)

Langkah 5 : Tiap unit keluaran (yk, k = 1,..., m) jumlahkan bobot sinyal masukannya

(2.23)

wok= bias pada unit keluaran k dan aplikasikan fungsi aktivasinya untuk menghitung sinyal keluarannya,

yk = f(y_ink) (2.24)

Fase II, Perambatan Mundur:

Langkah 6 : Tiap unit keluaran (yk, k = 1, ..., m) menerima pola target yang saling berhubungan pada masukan pola pelatihan, hitung kesalahan informasinya,

( ) ( ) (2.25)

Hitung koreksi bobotnya (digunakan untuk memperbaharui wjk),

(2.26)

Hitung koreksi biasnya (digunakan untuk memperbaharui wok) dan dikirimkan ke unit-unit pada lapisan bawahnya

Langkah 7 : setiap unit lapisan tersembunyi (zj, j = 1,..., p) jumlahkan hasil perubahan masukannya (dari unit-unit lapisan di atasnya)

(2.27)

Kalikan dengan turunan fungsi aktivasinya untuk menghitung kesalahannya (error)

( ) (2.28)

Hitung koreksi bobotnya (digunakan untuk memperbaharui ) Langkah 8 : Tiap unit keluaran (yk, k = 1,..., m) update bias dan bobotnya

(j=0,..., p)

( ) ( ) (2.29) Langkah 9 : Test kondisi berhenti

Prosedur Pengujian:

Setelah pelatihan, jaringan syaraf backpropagation diaplikasikan dengan hanya mengguankan tahap perambatan maju dari algoritma pelatihan.

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 masukan xi

Langkah 3 : for j = 1,..., p:

(2.30)

( ) (2.31)

Langkah 4 : for k = 1,..., m :

(2.32) ( )

17

Program Pascasarjana Magister Ilmu Komputer STMIK Nusa Mandiri

Langkah 5 : jika yk 0,5 maka yk= 1, elseyk= 0

Secara ringkas penyelesaian kasus dengan Jaringan Syaraf Tiruan Backpropagation, memiliki langkah-langkah sebagai berikut:

1. Forward Propagation

Menyalurkan input ke dalam jaringan dan tiap layer akan mengeluarkan output. Output dari satu layer akan menjadi input untuk layer berikutnya.

2. Backward Propagation

Menghitung nilai sensitivitas untuk tiap layer. Dimana, sensitivitas untuk layer m dihitung dari sensitivitas pada layer m+1 sehingga perhitungan sensitivitas ini berjalan mundur.

3. Weight Update

Menyesuaikan nilai parameter bobot (W) dan bias (b) dengan menggunakan pendekatan stepest descent. Pada langkah ini digunakan variasi backpropagation, untuk menghilangkan bahaya osilasi yang dapat mengakibatkan nilai minimum global tidak tercapai. Variasi yang dimaksud, adalah:

a. Momentum

Metode ini berguna untuk menghaluskan osilasi yang terjadi. Filter momentum ini akan ditambahkan pada persamaan weight matrix dan bias.

b. Variable Learning Rate

Metode ini digunakan untuk menaikkan learning rate bila menjumpai permukaan yang datar dan kemudian menurunkan learning rate bila terjadi peningkatan slope.

B. Fungsi Aktivasi

Fungsi aktivasi adalah suatu fungsiyang digunakan dalam jaringan syaraf tiruan untuk mengkonversi bobot-bobot dari setiap neuron berdasarkan suatu input aktivasi tertentu. Beberapa fungsi aktivasi yang sering digunakan dalam jaringan syaraf tiruan antara lain fungsi Threshold, fungsi Linear, fungsi Gaussian dan fungsi Sigmoid.

Fungsi aktivasi yang digunakan dalam jaringan backpropagation harus memiliki beberapa karakteristik penting seperti: fungsi harus bersifat kontinyu, terdefernsial dan tidak menurun secara monoton. Selain itu agar perhitungannya lebih efisien, turunan dari fungsi aktivasi ini harus mudah dihitung. Fungsi aktivasi yang memenuhi kriteria tersebut dan sering digunakan adalah fungsi binary sigmoid dan fungsi bipolar sigmoid.

Fungsi binary sigmoid atau biasa disebut dengan logsig mempunyai nilai jangkauan antara nol dan satu atau (0,1) serta dapat didefinisikan dengan rumus berikut:

( ) (2.34)

Dengan fungsi turunannya adalah:

( ) ( )( ( )) (2.35)

Gambar 2.3. Fungsi Binary Sigmoid

Fungsi aktivasi lainnya yang sering digunakan dalam jaringan backpropagation adalah fungsi bipolar sigmoidatau biasa disebut sebagai fungsi tansig, yang mempunyai jangkauan nilai antara -1 dan 1 atau (-1, 1). Rumus fungsi ini adalah:

( ) (2.36)

Dengan fungsi turunannya:

19

Program Pascasarjana Magister Ilmu Komputer STMIK Nusa Mandiri

( ) , ( )-, ( )- (2.37)

Gambar 2.4. Fungsi Bipolar Sigmoid

C. Algoritma Pelatihan

Pada dasarnya, algoritma pelatihan backpropagation akan menggerakkan bobot dengan arah gradien negatif, yakni memperbaiki bobot-bobot jaringan dengan arah yang membuat fungsi kinerja menjadi turun dengan cepat (gradient descent) (Kusumadewi, 2004). Fungsi pembelajaran yang digunakan pada penelitian ini adalah: traingd, traingdm dan trainrp.

Traingd adalah fungsi pelatihan yang melakukan update terhadap bobot dan bias tergantung pada penurunan gradiennya. Sedangkan Traingdm merupakan fungsi pelatihan untuk bobot-bobot dengan menggunakan nilai momentum yakni konstanta yang mempengaruhi besarnya perubahan bobot.

Tarinrp (Resilient Backpropagation) dapat memperkecil efek turunan parsial pada jaringan syaraf tiruan backpropagation dengan cara menggunakan tanda turunan yang mempengaruhi bobot. Pada trainrp, besarnya perubahan setiap bobot ditentukan oleh suatu faktor yang disebut faktor naik (fn) atau faktor turun (ft).

Jika gradien error berubah tanda dari epochs satu ke epochs berikutnya, bobot diturunkan sejumlah ft. Sedangkan bila gradien error bertanda sama dengan epochs sebelumnya maka akan dinaikkan sejumlah fn. Bila gradien error bernilai nol, maka nilai bobot tetap dari epochs sebelumnya.

Dokumen terkait