• Tidak ada hasil yang ditemukan

Jaringan Syaraf Tiruan Propagasi Balik / Back Propagation

BAB II LANDASAN TEORI

2.2 Jaringan Syaraf Tiruan

2.2.1 Jaringan Syaraf Tiruan Propagasi Balik / Back Propagation

Jaringan Syaraf Tiruan BackPropagation pada umumnya membandingkan perhitungan keluaran Jaringan Syaraf Tiruan dengan target keluaran dan menghitung nilai error untuk setiap unit jaringan. BackPropagation adalah salah satu algoritma yang menggunakan metode terawasi (supervised learning), dan termasuk jaringan MLP (Multi Layer Perceptron) / Jaringan Lapis Majemuk.Metode ini merupakan salah satu metode yang sangat baik dalam menangani masalah pengenalan pola-pola kompleks. Di dalam jaringan ini, setiap unit yang berada di lapisan input berhubungan dengan setiap unit yang ada di lapisan tersembunyi. Sedangkan setiap unit di lapisan tersembunyi berhubungan dengan setiap unit di lapisan output.

Dalam pola pelatihannya, jaringan ini akan diberi input-an yang akan diteruskan ke dalam layar tersembunyi dan menuju hingga output. Ketika hasil keluaran ternyata tidak sesuai dengan harapan maka keluaran akan kembali disebarkan mundur (backward) pada lapisan tersembunyi

hingga menuju input. Tahap selanjutnya adalah dengan melakukan perubahan bobot. Iterasi ini terus dilakukan hingga ditemukan penyelesaian yang optimal (Siang, 2005).

1. Arsitektur Back Propagation

Gambar 2.5 Ilustrasi Arsitektur Back Propagation (Siang, 2005) Gambar 2.5 merupakan arsitektur jaringan syaraf tiruan back propagation dengan n buah input ditambah sebuah bias, sebuah lapis tersembunyi yang terdiri dari p unit ditambah sebuah bias, dan sebuah lapis unit keluaran.

2. Fungsi Aktivasi

Dalam jaringan syaraf tiruan back propagation, fungsi aktivasi yang dipakai harus memenuhi beberapa syarat, yaitu : kontinu, terdeferensial dengan mudah dan merupakan fungsi yang tidak turun. Salah satu fungsi yang memenuhi ketiga syarat tersebut sehingga sering dipakai adalah fungsi sigmoidbiner yang memiliki range(0,1).

= + −� dengan turunan = ( − ) (2.6) Fungsi lain yang sering dipakai adalah sigmoid bipolardengan range(-1,1).

= + −� dengan turunan =( + � )( − � ) (2.7) Fungsi sigmoid memiliki nilai maksimum = 1. Maka untuk pola yang targetnya > 1, pola masukkan dan keluaran harus terlebih dahulu ditransformasi sehingga semua polanya memiliki range yang sama seperti fungsi sigmoid yang dipakai. Alternatif lain adalah menggunakan fungsi aktivasi sigmoid hanya pada lapis yang bukan lapis keluaran. Pada lapis keluaran, fungsi aktivasi yang dipakai adalah fungsi identitas : = .

3. Proses Pelatihan Back Propagation

Proses Pelatihan Jaringan Syaraf Tiruan Back Propagation terdiri dari 3 proses yaitu propagasi maju, propagasi mundur, perubahan bobot. Ketiga proses tersebut diulang-ulang sampai kondisi penghentian terpenuhi. Umumnya penghentian yang dipakai adalah iterasi dan error. Iterasi akan dihentikan jika iterasi melebihi iterasi yang ditentukan. Atau jika error sudah lebih kecil dari yang ditentukan.

1. Propagasi Maju

Selama propagasi maju, sinyal masukkan =

dipropagasikan ke lapis tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari setiap unit lapis tersembunyi (= ) tersebut selanjutnya dipropagasikan maju lagi ke lapis tersembunyi di atasnya. Demikian seterusnya hingga mendapatkan luaran jaringan = .

Berikutnya, luaran jaringan = dibandingkan dengan target yang harus dicapai = . Selisih − adalah error yang terjadi. Jika nilai error lebih kecil dari yang telah ditentukan, maka iterasi dihentikan, jika tidak, maka bobot setiap garis dimodifikasi untuk mengurangi error yang terjadi.

2. Propagasi Mundur

Berdasarkan error − , dihitung faktor � = , , … , yang dipakai untuk mendistribusikan error di unit ke semua unit tersembunyi yang terhubung langsung dengan .

� juga dipakai untuk mengubah bobot garis yang berhubungan langsung dengan unit luaran.

Dengan cara yang sama, dihitung faktor � di setiap unitlapis tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari unit tersembunyi di bawahnya. Demikian seterusnya hingga semua faktor � di unit tersembunyi yang berhubungan langsung dengan unit masukkan dihitung.

3. Perbaikan Bobot

Setelah semua faktor � dihitung, bobot semua garis dimodifikasi bersamaan. Perubahan bobot suatu garis didasarkan atas faktor �neuron di lapis atasnya.

Algoritma pelatihan untuk jaringan dengan satu layar tersembunyi (dengan fungsi aktifasi sigmoid biner) adalah sebagai berikut (Siang, 2005) :

Langkah 0: Inisialisasi semua bobot dengan bilangan acak kecil. Langkah 1: jika kondisi penghentian belum terpenuhi maka lakukan langkah 2-9.

Langkah 2: untuk setiap pasang data pelatihan, lakukan langkah 3-8

Fase I : Propagasi Maju

Langkah 3: tiap unit masukan menerima sinyal kemudian meneruskan ke unit tersembunyi di atasnya.

Langkah 4: hitung semua keluaran di unit tersembunyi (j = 1, 2,

… , p)

_ = + ∑= (2.8)

Langkah 5: hitung semua keluaran di unit tersembunyi (k = 1, 2,

… , m).

_ = + ∑ = (2.10)

= _ (2.11)

Fase II : Propagasi Mundur

Langkah 6: hitung faktor � unit keluaran berdasarkan error setiap unit keluaran (k = 1, 2, … , m).

� = − − (2.12)

Hitung suku perubahan bobot dengan laju percepatan

∆ = � ; = , , … , ; = , , … , (2.13) Langkah 7: hitung faktor � unit tersembunyi berdasarkan errordi setiap unit tersembunyi = = , , … ,

�_ = ∑ = � (2.14)

� = �_ ( − ) (2.15)

Hitung suku perubahan bobot

∆ = � ; = , , … , ; = , , … , (2.16)

Fase III : Perubahan Bobot

Langkah 8: Hitung semua perubahan bobot

Perubahan bobot garis yang menuju ke unit keluaran:

� = + ∆ ( = , , … , ; = , , … , ) (2.17)

Perubahan bobot garis yang menuju ke unit tersembunyi:

� = + ∆ ( = , , … , ; = , , … , ) (2.18)

Langkah 9: bandingkan kondisi penghentian

Jaringan Syaraf Tiruan Back Propagation memiliki kelemahan tentang berapa epoch yang harus dilalui untuk memperoleh hasil yang diinginkan.

Faktor-faktor penting dari Jaringan Syaraf Tiruan Back Propagation agar jaringan bekerja dengan maksimal adalah:

Nguyen dan widrow (1990) mengusulkan cara membuat inisialisasi bobot dan bias ke unit tersembunyi sehingga menghasilkan iterasi yang lebih cepat.

Misal:

n = jumlah unit masukan p = jumlah unit tersembunyi

= factor skala = .7 √

Algoritma inisialisasi:

Langkah 1: Inisisalisasi semua bobot ( ) dengan bilangan acak dalam interval [-0.5, 0.5].

Langkah 2: hitung ‖ ‖ = √ + + ⋯ + (2.20) Langkah 3: bobot yang dipakai sebagai inisialisasi = =

‖ ‖ (2.21)

Langkah 4: bias yang dipakai sebagai inisialisasi = =

bilangan acak antara – dan . 2. Jumlah Unit Tersembunyi

Jaringan dengan sebuah lapis tersembunyi sudah cukup bagi Jaringan Syaraf Tiruan Back Propagation untuk mengenali sembarang kelas antara masukan dan target dengan tingkat ketelitian yang ditentukan.

Jika jaringan memiliki lebih dari 1 lapis tersembunyi maka algoritma pelatihan perlu direvisi. Dalam Fase I, keluaran harus dihitung untuk tiap lapis, dimulai dari lapis tersembunyi paling bawah. Kemudian dalam fase II, faktor � perlu dihitung untuk tiap lapis tersembunyi, dimulai dari lapis keluaran.

3. Jumlah Pola Pelatihan

Jumlah pola pelatihan ditentukan oleh banyaknya bobot dan tingkat akurasi yang diinginkan.

Dokumen terkait