• Tidak ada hasil yang ditemukan

II. TINJAUAN PUSTAKA

2.4. Jaringan Syaraf Tiruan

Jaringan syaraf tiruan (Artificial Neural Networks) adalah salah satu cabang ilmu kecerdasan buatan (Artificial Intelligence) dan merupakan alat untuk memecahkan masalah terutama di bidang-bidang yang melibatkan pengelompokan dan pengenalan pola (pattern recognition) (Puspitaningrum, 2006).

Jaringan syaraf tiruan (JST) merupakan salah satu representasi dari otak manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran. JST diimplementasikan dengan menggunakan program komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran. Metode JST merupakan metode matematik dengan mensimulasikan suatu teknologi intelegensi atau kecerdasan buatan. Sistem JST meliputi basis data, model sistem dan fungsi optimasi (Kusumadewi, 2003).

Jaringan syaraf tiruan mampu mempelajari pasangan input dan output yang diberikan, kemudian belajar beradaptasi dengan lingkungan sehingga dapat memecahkan masalah-masalah yang tidak dapat dipecahkan dengan metode komputasi konvensional. Selain itu JST mampu memecahkan masalah dimana hubungan input dan output tidak diketahui.

Pada umumnya JST tersusun dari tiga jenis lapisan noda, yaitu lapisan masukan (input layer), lapisan tersembunyi (hidden layer), dan lapisan keluaran (output layer). Noda merupakan suatu unit komputasi yang paling sederhana pada setiap lapisan yang dihubungkan dengan setiap noda pada lapisan berikutnya. Hubungan antar noda diekspresikan oleh suatu bilangan yang disebut pembobot (weight). Setiap noda pada suatu layer akan menjadi masukan pada lapisan berikutnya sampai akhirnya menghasilkan keluaran pada output layer.

Metode yang populer digunakan dalam JST yaitu metode

backpropagation. Backpropagation merupakan algoritma pembelajaran yang

terawasi dan biasanya digunakan oleh perceptron dengan banyak lapisan untuk mengubah bobot-bobot yang terhitung dengan neuron-neuron yang ada pada lapisan tersembunyinya. Algoritma backpropagation menggunakan error output untuk mengubah nilai bobot-bobot dalam arah mundur (backward). Untuk mendapatkan error ini, tahap perambatan maju (forward propagation) harus

dikerjakan terlebih dahulu. Pada saat perambatan maju, neuron-neuron diaktifkan dengan menggunakan fungsi aktivitasi sigmoid, yaitu :

f(x) =

(

1+ex

)

1 ...(2)

Algoritma propagasi balik dapat dibagi ke dalam dua bagian : 1. Algoritma pelatihan

Terdiri dari tiga tahap: tahap umpan maju pola pelatihan input, tahap pemropagasi balikan error, dan tahap pengaturan bobot.

2. Algoritma aplikasi (validasi)

Pada tahap ini hanya terjadi tahap umpan maju saja.

Algoritma Pelatihan a. Inisialisasi awal

Tahapan ini meliputi, penentuan angka pembelajaran ( ) dan penentuan syarat kondisi berhenti. Jika dalam penentuan kondisi berhenti menggunakan nilai ambang, maka perlu ditetapkan nilai toleransi error. Jika digunakan banyaknya epoch sebagai kondisi berhenti, maka perlu ditetapkan terlebih dahulu nilai epoch maksimum. Bobot awal sebaiknya diambil nilai random yang cukup kecil.

Nilai laju pelatihan (learning rate) harus dipilih antara 0-0.9. Nilai laju pelatihan menentukan kecepatan pelatihan sampai sistem mencapai keadaan optimal. Prinsip dasar algoritma backpropagation adalah memperkecil galat hingga mencapai minimum global dan menghindari minimum lokal. Minimum lokal merupakan suatu keadaan, dimana galat sistem turun tetapi bukan merupakan solusi yang baik untuk jaringan tersebut.

Pemilihan nilai learning rate yang besar akan membuat sistem jaringan melompati nilai minimum lokalnya dan akan ber-osilasi sehingga tidak tercapai konvergensi. Sebaliknya nilai learning rate yang kecil menyebabkan sistem jaringan terjebak dalam minimum lokal dan memerlukan waktu yang lama selama proses pelatihan. Untuk menghindari keadaan tersebut maka ditambahkan suatu nilai konstanta momentum antara 0-0.9 pada sistem

tersebut. Pada kondisi demikian nilai learning rate dapat ditingkatkan dan osilasi pada sistem dapat diminimumkan.

Kerjakan langkah-langkah berikut selama kondisi berhenti bernilai FALSE: b. Laju pembelajaran

Feedforward :

1. Tiap-tiap unit input (Xi, i=1,2,3,...,n) menerima sinyal xi dan meneruskan sinyal tersebut ke semua unit pada lapisan yang ada di atasnya (lapisan tersembunyi).

2. Tiap-tiap unit tersembunyi (Zj, j=1,2,3,...,p) menjumlahkan sinyal-sinyal

input terbobot : z_inj = v0j + = n i i ij v x 1 ... (3) untuk menghitung sinyal outputnya menggunakan fungsi aktivasi :

zj = f(z_inj) ... (4) sinyal tersebut akan dikirimkan ke semua unit di lapisan atasnya (unit-unit

output).

3. Tiap-tiap unit output (Yk, k=1,2,3,....,m) menjumlahkan sinyal-sinyal input terbobot dari lapisan tersembunyi.

y_ink =w0k + = p i i jk w z 1 ... (5) fungsi aktivasi untuk menghitung sinyal outputnya:

yk= f(y_ink) ... (6) sinyal tersebut dikirimkan ke semua unit output.

Backpropagation

4. Tiap-tiap unit output (Yk, k=1,2,3,...,m) menerima target pola yang berhubungan dengan pola input pembelajaran, informasi errornya dihitung :

k = (tk – yk) f’ (y_ink) ………. (7) kemudian menghitung koreksi bobot yang nantinya akan digunakan untuk memperbaiki nilai wjk:

wjk= k zj ……… (8) penghitungan koreksi bias yang nantinya akan digunakan untuk memperbaiki nilai w0k:

w0k= k ……….. (9) kirimkan k ini ke unit-unit yang ada di lapisan bawahnya.

5. Tiap-tiap unit tersembunyi (Zj, j=1,2,3,....,p) akan menjumlahkan delta inputnya, yaitu delta input dari lapisan output :

_inj = = m k k jk w 1 δ ………. (10)

mengkalikan nilai hasil penjumlahan delta input dengan turunan dari fungsi aktivasinya untuk menghitung informasi error :

j = _inj f’(z_inj) ……….. (11) menghitung koreksi bobot yang nantinya akan digunakan untuk memperbaiki nilai vij :

vjk = j xi ……….. (12)

menghitung koreksi bias yang nantinya akan digunakan untuk memperbaiki nilai v0j :

v0j = j ... (13) 6. Tiap-tiap unit output (Yk, k= 1,2,3,....,m) memperbaiki bias dan bobotnya

(j=0,1,2,3,..., p):

wjk(baru) = wjk (lama) + wjk ... (14) Tiap-tiap unit tersembunyi (Zj, j = 1,2,3,....,p) memperbaiki bias dan bobotnya (i = 0,1,2,...,n):

vij (baru) = vij (lama) + vij ... (15) c. Tes kondisi berhenti.

Jika syarat berhenti program terpenuhi, maka iterasi akan dihentikan secara otomatis.

Kinerja jaringan dapat dinilai berdasarkan nilai RMSE (Root Mean Square

Error) pada proses generalisasi terhadap contoh data input-output baru, nilai

RMSE sesuai dengan persamaan berikut (Fu, 1994) :

RMSE = (p-a)2/n ... (16) Dimana :

p = nilai prediksi jaringan

n = jumlah contoh data pada set validasi

Setelah JST terlatih untuk memecahkan suatu masalah, kemudian harus dilakukan validasi yang merupakan proses pengujian kinerja jaringan terhadap contoh yang belum diberikan selama proses pelatihan. Proses validasi dilakukan dengan memasukkan suatu set contoh input-output yang hampir sama dengan contoh set input-output yang diberikan selama proses pelatihan. Kinerja JST yang dihasilkan selama proses selama proses pelatihan diperoleh dari nilai galat yang dihasilkan pada proses validasi. Proses validasi hanya dilakukan untuk 1 epoch. Jika JST telah berhasil selama proses pelatihan dan validasi maka sistem tersebut sudah dapat digunakan untuk aplikasi selanjutnya.

Dokumen terkait