mencapai epoh maksimum, maka selesai; jika tidak maka kembali ke langkah 1.
Nilai toleransi
yang digunakan adalah 1
2.3.4 Algoritme Pelatihan Lavenberg-Marquardt
Algoritme pelatihan Lavenberg-Marquardt LM merupakan algoritme pelatihan yang memiliki kemampuan memperoleh nilai konvergen yang cepat
dibandingkan dengan algoritme pelatihan lain dalam kasus fungsi aproksimasi Beale et al 2011. Langkah dasar dari algoritme Lavenberg-Marquardt LM
adalah penentuan matriks Hessian untuk mencari bobot-bobot dan bias koneksi yang digunakan dalam pelatihan JST Warsito 2007. Matriks Hessian adalah
turunan kedua dari fungsi kinerja terhadap setiap komponen bobot dan bias. Untuk memudahkan komputasi, matriks Hessian diubah dengan pendekatan
iterative pada setiap epoch selama algoritme pelatihan berjalan. Proses perubahannya dilakukan dengan menggunakan fungsi gradien. Apabila fungsi
kinerja yang digunakan berbentuk jumlah kuadrat error SSE, maka matriks Hessian dapat diestimasi dengan persamaan berikut:
15
Dimana: : parameter Marquardt
I : matriks identitas J : matriks Jakobian yang terdiri dari turunan pertama error jaringan
terhadap masing-masing komponen bobot dan bias. Matriks Jakobian tersusun dari turunan pertama fungsi error terhadap
masing-masing komponen bobot dan bias koneksi jaringan Hagan 1994. Nilai parameter Marquardt
dapat berubah pada setiap epoch. Jika setelah berjalan satu epoch nilai fungsi error menjadi lebih kecil, nilai
akan dibagi oleh faktor . Bobot dan bias baru yang diperoleh akan dipertahankan dan pelatihan dapat
dilanjutkan ke epoch berikutnya. Sebaliknya, jika setelah berjalan satu epoch nilai fungsi error menjadi lebih besar maka nilai
akan dikalikan faktor . Nilai perubahan bobot dan bias dihitung kembali sehingga menghasilkan nilai yang
baru.
Algoritme pelatihan dengan metode Levenberg-Marquardt dapat dijabarkan sebagai berikut:
Langkah 0 : Inisialisasi bobot awal dengan bilangan acak kecil
Inisialisasi epoch 0, MSE 0 Tetapkan maksimum epoch parameter LM , faktor dan target
error. Langkah 1 :
Jika kondisi penghentian belum terpenuhi epoch epoch maksimum atau MSE target error, lakukan langkah berikutnya.
Langkah 2 : Epoch = epoch + 1
Untuk setiap data pelatihan, lakukan langkah 3 – 4.
Langkah 3 : Unitneuron output Y menerima target pola yang berhubungan dengan pola input
pelatihan. Jika diberikan N pasangan input data pelatihan X
r
, t
r
, r = 1,2,…,N, dengan X
r
adalah input dan tr adalah target yang akan dicapai. Kesalahan pada suatu data pelatihan ke-r didefinisikan sebagai:
e
r
= t
r
- y
r
16 dengan :
e
r
: kesalahan pada unit output t
r
: keluaran yang diinginkan target y
r
: keluaran actual.
e adalah vektor kesalahan berukuran N x 1 yang tersusun dari e
r
,
r = 1,2,…,N. e
dapat dituliskan sebagai: .
Misal bobot dan bias koneksi dinyatakan dalam vektor w, w merupakan vektor berukuran 2+np+1x1 dapat dituliskan sebagai:
.
Kesalahan suatu pelatihan jaringan oleh vektor bobot dan bias koneksi w pada
suatu data pelatihan ke-r menjadi:
e
r
w = t
r
– y
r
= t
r
– f x
r
, w 17
Vektor kesalahan oleh vektor bobot dan bias koneksi w menjadi ew berukuran Nx1 yang tersusun dari e
r
w
, dengan r = 1,2,…,N. Hitung fungsi jumlah kuadrat error dengan persamaan:
18
Hitung matriks Jacobian untuk vektor bobot dan bias koneksi: 19
untuk r = 1,2,…N a.
Hitung matriks Hessian untuk vektor bobot dan bias koneksi. 20
b. Hitung perubahan vektor bobot dan bias dengan persamaan berikut:
21 c.
Hitung vektor bobot dan bias baru.
22
d. Hitung kesalahan yang terjadi oleh bobot dan bias koneksi yang baru.
23 e.
Bandingkan Ew dengan Ewbaru.
Jika Ew = Ewbaru maka didapatkan dan kembali ke langkah a.
Jika Ew Ewbaru maka didapatkan
24 25
Kembali ke langkah 2.
2.4 K-fold Cross Validation