2.7 Jaringan Syaraf Tiruan Backpropagation
Jaringan syaraf tiruan backpropagation merupakan salah satu model dari jaringan syaraf tiruan dengan layar jamak. Metode ini melatih jaringan untuk
mendapatkan keseimbangan antara kemampuan jaringan mengenali pola selama pelatihan serta memberikan respon yang benar terhadap pola masukan yang serupa
tapi tidak sama dengan pola yang dipakai selama pelatihan. Algoritma yang digunakan yaitu pembelajaran yang terawasi dan perceptron yang digunakan dengan
banyak lapisan. Bobot-bobot yang terhubung dengan neuron-neuron yang ada pada lapisan tersembunyinya diubah dalam arah mundur backward menggunakan error
output. Untuk mendapatkan error ini, tahap perambatan maju forward propagation harus dikerjakan terlebih dahulu dan neuron-neuron diaktifkan dengan menggunakan
fungsi aktivasi.
2.7.1 Fungsi Aktivasi pada Backpropagation
Dalam backpropagation, fungsi aktivasi yang dipakai harus memenuhi beberapa syarat yaitu kontinu, terdiferensial dengan mudah, dan fungsi tersebut
merupakan fungsi tidak turun. Terdapat 3 fungsi aktivasi yaitu:
1. Fungsi sigmoid biner
Fungsi ini merupakan fungsi yang umum digunakan dan digambarkan pada Gambar 2.5. Range dalam fungsi sigmoid biner adalah
dan didefinisikan
sebagai:
5
dengan turunan:
6
Gambar 2.5 Fungsi sigmoid biner
2. Fungsi sigmoid bipolar
Fungsi sigmoid bipolar hampir sama dengan fungsi sigmoid biner, hanya saja output dari fungsi ini memiliki range antara
,1] yang digambarkan pada
Gambar 2.6. Fungsi sigmoid bipolar dirumuskan sebagai:
7
dengan turunan 8
Fungsi ini sangat dekat dengan fungsi hyperbolic tangent. Keduanya memiliki range antara
. Untuk fungsi hyperbolic tangent dirumuskan sebagai:
9
dengan turunan
�
� �
10
Gambar 2.6 Fungsi sigmoid bipolar
3. Fungsi identitas
Fungsi identitas juga disebut sebagai fungsi linier, dimana nilai outputnya akan sama dengan nilai input. Fungsi ini digambarkan pada Gambar 2.7 dan
dirumuskan sebagai berikut. 11
Gambar 2.7 Fungsi identitas �
� �
�
� �
2.7.2 Pelatihan dan Pengujian Backpropagation
Pada pelatihan backpropagation meliputi 3 fase, yaitu: Fase I :
Propagasi maju Selama propagasi maju, sinyal masukan
dipropagasikan ke layar tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari
setiap unit layar tersembunyi tersebut selanjutnya dipropagasikan
maju lagi ke layar tersembunyi di atasnya menggunakan fungsi aktivasi yang ditentukan. Demikian seterusnya hingga menghasilkan keluaran
jaringan . Selanjutnya keluaran tersebut dibandingkan dengan target
yang harus dicapai . Selisih
adalah kesalahan yang terjadi. Jika kesalahan ini lebih kecil dari batas toleransi yang ditentukan maka
iterasi dihentikan. Namun, jika kesalahan masih lebih besar dari batas toleransinya, maka bobot pada setiap garis akan dimodifikasikan untuk
mengurangi kesalahan yang terjadi. Fase II : Propagasi mundur
Berdasarkan kesalahan , dihitung faktor
yang dipakai untuk mendistribusikan kesalahan di unit
ke semua unit tersembunyi yang terhubung langsung dengan
. juga dipakai untuk
mengubah bobot garis yang berhubungan langsung dengan unit keluaran. Dengan cara yang sama, dihitung faktor
di setiap unit dilayar tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari
unit tersembunyi di layar di bawahnya. Demikian seterusnya hingga faktor di unit yang tersembunyi yang berhubungan dengan unit masukan
dihitung.
Fase III : Perubahan bobot Setelah semua faktor
dihitung, bobot semua baris dimodifikasi bersamaan. Perubahan bobot suatu garis didasarkan atas faktor
neuron di layar atasnya.
Ketiga fase tersebut diulang-ulang terus hingga kondisi penghentian iterasi dipenuhi. Iterasi akan dihentikan jika jumlah iterasi yang dilakukan sudah melebihi
jumlah maksimum iterasi yang ditetapkan. Algoritma pelatihan untuk jaringan backpropagation secara umum adalah
sebagai berikut. Langkah 1: Inisialisasi nilai bobot
Pada langkah ini, nilai bobot pada tiap-tiap lapisan diinisialisasikan ke dalam sembarang nilai yang kecil.
Fase I : Propagasi maju Langkah 2: Hitung semua keluaran di unit tersembunyi
. Untuk mendapatkan nilai lapisan keluaran, perhitungan dilakukan dari lapisan ke
lapisan. Keluaran pada unit lapisan tersembunyi adalah 12
∑
13
dengan merupakan fungsi aktivasi. Hitung semua keluaran jaringan di unit
lapisan keluaran .
14 ∑
15
dengan merupakan fungsi aktivasi.
Fase II : Propagasi mundur Langkah 3: Hitung perubahan pada bobot.
Untuk menghitung perubahan bobot, vektor ouput pada tiap-tiap lapisan dibandingkan dengan nilai output yang diharapkan target.
1. Pada lapisan keluaran
Hitung faktor unit keluaran berdasarkan keluaran di setiap unit keluaran
.
16
merupakan unit kesalahan yang akan dipakai dalam perubahan bobot layar di bawahnya.
Hitung suku perubahan bobot yang akan dipakai nanti untuk merubah bobot
dengan laju pembelajaran .
17
2. Pada lapisan tersembunyi
Hitung faktor unit tersembunyi berdasarkan kesalahan di setiap unit
tersembunyi .
18
∑
Faktor unit tersembunyi:
19
Hitung suku perubahan bobot yang akan dipakai nanti untuk merubah bobot
dengan laju pembelajaran .
20
Fase III : Perubahan bobot Langkah 4: Hitung semua perubahan nilai bobot.
Perubahan bobot yang menuju ke unit keluaran.
21
Perubahan bobot yang menuju ke unit tersembunyi. 22
Setelah tahap pelatihan selesai, tahap selanjutnya yaitu tahap pengujian jaringan. Pada tahap pengujian, langkah yang dilakukan hanya sampai pada fase I
yaitu propagasi maju saja, tidak ada fase II propagasi mundur apalagi fase III perubahan bobot. Seluruh bobot masukan diambil dari nilai bobot terakhir dari
tahap pelatihan. Pada tahap pengujian ini, jaringan diharapkan dapat mengenali pola berdasarkan data baru yang diberikan.
2.7.3 Pembagian Data