net = jaringan Backpropagation yang terdiri dari
n layar
PR = matriks ordo Rx2 yang berisi nilai
minimum dan maksimum R buah elemen masukannya
Si (i=1,2,...,n) = jumlah unit pada layar ke-i
(i = 1,2, ...,n)
TFi (i=1,2,...,n) = Fungsi aktivasi yang dipakai
pada layar ke-i (i = 1,2, ...,n). Default =
tansig (sigmoid bipolar)
BTF = fungsi pelatihan jaringan. Defaultnya =
traingdx
BLF = fungsi perubahan bobot/bias. default =
learngdm
PF = fungsi perhitungan error. Default = mse
Fungsi aktivasi yang dipakai MATLAB :
tansig (sigmoid bipolar)
logsig (sigmoid biner)
purelin (fungsi identitas
Contoh 15.1
Buatlah inisialisasi Backpropagation untuk melatih jaringan yang
terdiri dari 2 masukan, sebuah layar tersembunyi yang terdiri dari 3
unit, dan sebuah keluaran (sering dituliskan sebagai 2-3-1). Data yang
dipakai pelatihan tampak dalam tabel 15.1 :
Fungsi aktivasi dari unit masukan ke layar tersembunyi adalah
sigmoid bipolar dan dari layar tersembunyi ke keluaran adalah
identitas.
Penyelesaian :
*Inisialisasi Bobot
Contoh 15.2
Buatlah jaringan Backpropagation 2 – 4 – 3 – 1 (semua masukan
adalah bilangan antara -1 dan 2) dengan semua fungsi aktivasi
sigmoid bipolar. Beri bobot dan bias tampak dalam tabel 15.2 – 15.4
Pelatihan Backpropagation menggunakan metode pencarian titik
minimum untuk mencari bobot dengan error minimum. Dalam mode kelompok, bobot
diubah setelah semua pola masukan diberikan ke jaringan. Error (dan
suku perubahan bobot) yang terjadi dalam setiap pola masukan
dijumlahkan untuk menghasilkan bobot baru. Matlab menggunakan
mode pelatihan kelompok dalam iterasinya. Perubahan bobot
dilakukan per epoch.
*Pelatihan Backpropagation
Contoh 15.4
Diketahui pasangan vektor masukan dan target seperti yang tampak
pada tabel 15.5. Buatlah jaringan Backpropagation 2 – 3 – 1, dan
latihlah dengan metode penurunan tercepat. Gunakan fungsi aktivasi
sigmoid bipolar pada layar tersembunyi dan fungsi identitas pada
layar keluarannya
Penyelesaian :
Beberapa parameter pelatihan dapat kita atur sebelum pelatihan
dilakukan :
net.trainParam.show : dipakai untuk menampilkan
frekuensi perubahan mse (default : setiap 25 epoch)
net.trainParam.epochs : dipakai untuk menentukan
jumlah epoch maksimum pelatihan (default : 100 epochs).
net.trainParam.goal : dipakai untuk menentukan batas
nilai mse agar iterasi dihentikan. Iterasi akan berhenti jika mse <
batas yang ditentukan dalam net.trainParam.goal atau
jumlah epoch mencapai batas yang ditentukan dalam
net.trainParam.epochs
net.trainParam.lr : dipakai untuk menentukan laju
pemahaman (α = learning rate). Defaultnya = 0.01. Semakin
besar nilai α , semakin cepat pula proses pelatihan. Akan tetapi
jika α terlalu besar, maka algoritma menjadi tidak stabil dan
mencapai titik minimum lokal.
net.trainParam.time : dipakai untuk membatasi lama
pelatihan (dalam detik). pelatihan akan dihentikan jika lamanya
melebihi nilai yang ditentukan dari net.trainParam.time
Pada contoh 15.4, Jika kita memperbesar laju pemahaman menjadi
0.1 dan merubah mse = 0.0001, didapat :
*Metode Penurunan Gradien dengan
Momentum (traingdm)
Contoh 15.6
Ulangi contoh 15.4 jika pelatihan dilakukan dengan menggunakan
metode penurunan tercepat dengan momentum.
Penyelesaian :
Jika faktor momentum diubah menjadi 0.5, diperoleh hasil :
*Variabel Laju Pemahaman (traingda,
traingdx)
Contoh 15.7
Ulangi contoh 15.4 (toleransi 10-5) jika pelatihan dilakukan dengan
menggunakan
metode penurunan tercepat dengan variabel laju pemahaman.
metode penurunan tercepat dengan variabel laju pemahaman yang
ditambah dengan momentum
Penyelesaian :
*Resilient Backpropagation (trainrp)
Contoh 15.8
Ulangi contoh 15.4 jika pelatihan dilakukan dengan menggunakan
resilient Backpropagation dengan batas toleransi 10-5
Ulangi contoh 15.4 jika pelatihan dilakukan dengan menggunakan
gradien conjugate dengan batas toleransi 10-5
a. Metode Fletcher-Reeves
b. Metode Polak-Ribiere
c. Metode Powel Beale
Penyelesaian :
Contoh 15.10
Selesaikanlah masalah peramalan contoh 7.3 (lihat bab 7 tentang teori
Backpropagation) hingga toleransi 10-5
Tidak ada komentar:
Posting Komentar