ANALISA PERBANDINGAN ALGORITMA PELATIHAN PROPAGASI BALIK DAN ALGORITMA PELATIHAN LEVENBERG-MARQUARDT (STUDI KASUS: PREDIKSI CUACA KOTA MAKASSAR)
ANALISA PERBANDINGAN ALGORITMA PELATIHAN PROPAGASI BALIK DAN ALGORITMA PELATIHAN LEVENBERG-MARQUARDT (STUDI KASUS: PREDIKSI CUACA KOTA MAKASSAR)
Lisye (1 , Stefany Yunita Bara’langi (2
1,2 Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Atma Jaya Makassar Alamat e-mail: lisyelisyee@gmail.com 1 , fbaralangi@lecturer.uajm.ac.id 2
ABSTRACT
Artificial Neural Network can solve a problem based on its experience and training. The purpose of this research is analyzing the comparison of two training that is Backpropagation Training (BP) and Levenberg-Marquardt (LM) Training to determine the speed and accuracy of each training. The case that be used is the weather prediction at Makassar City which is obtained from BMKG. The advantage of BP is the runtime execution to get SSE’s value faster than LM that has difference 410.48974 ms. The advantage of LM is can obtain the smallest SSE’s value on training process than BP, that is 0.0264.
Keywords: Artificial Neural Network, Levenberg-Marquardt, weather prediction, Backpropagation
1. PENDAHULUAN
disebut dengan Propagasi Balik termasuk metode pelatihan terawasi dimana terdapat
Jaringan Syaraf Tiruan (JST) adalah pasangan masukan-target serta didesain algoritma yang memiliki cara kerja mirip untuk operasi jaringan feed forward dengan otak manusia. JST disebut tiruan multilapis. Algoritma Levenberg-Marquardt karena jaringan syaraf ini diimplementasikan (LM) merupakan pengembangan algoritma dengan program komputer yang mampu BP standar untuk mempercepat proses menyelesaikan proses perhitungan (Atiliani, pelatihan dengan teknik optimasi numerik 2013). JST dapat mempelajari pola latihan (Retnani, 2013). Algoritma BP memiliki yang diberikan kepadanya sehingga ketika kelemahan dan algoritma LM dikembangkan diberi masalah baru, dapat diselesaikan untuk mengatasi kelemahan algoritma BP menggunakan pola latihan tersebut. namun algoritma LM juga memiliki JST memiliki nilai tertentu yang kelemahan lain. Pemilihan jenis algoritma menunjukkan seberapa besar koneksi antara pelatihan yang tepat pada JST akan sangat neuron , nilai ini disebut bobot. JST mempengaruhi performa JST dari segi memerlukan algoritma pelatihan untuk tingkat keakuratan hasilnya maupun dari segi mendapatkan
keseimbangan
antara
kecepatan eksekusi program. Hal tersebut kemampuan jaringan untuk menanggapi membuat algoritma BP dan algoritma LM secara benar pola-pola masukan pada saat layak untuk dilakukan analisa perbandingan. pelatihan dan kemampuan untuk memberikan Adapun studi kasus yang digunakan penilaian yang layak dari suatu pola masukan dalam penelitian ini adalah prediksi cuaca lain yang serupa (Purnamasari, 2013). Proses yang bersifat time series .
Analisa pelatihan tersebut menghasilkan suatu bobot perbandingan yang dilakukan terhadap kedua yang akan digunakan pada masukan yang jenis algoritma pelatihan berdasarkan lain. Tanpa pelatihan yang tepat maka JST keakuratan dan kecepatannya. Tingkat tidak akan mampu menyelesaikan masalah- keakuratan dinilai dengan melihat nilai SSE masalah yang kompleks. Oleh karena itulah, (Sum of Squared Error) yang dihasilkan JST membutuhkan pelatihan sebagai proses kedua jenis algoritma pelatihan (Yuniar et al., pembelajarannya. 2013). Nilai SSE dipengaruhi oleh beberapa Menurut Utami dan Ulama (2015), parameter seperti jumlah neuron, nilai algoritma Backpropagation atau yang sering learning rate , nilai parameter Marquardt,
Lisye, Bara’langi, Analisa Perbandingan Algoritma Pelatihan Propagasi Balik dan 33 Lisye, Bara’langi, Analisa Perbandingan Algoritma Pelatihan Propagasi Balik dan 33
diperlukan pemilihan konfigurasi jaringan akurat hasilnya. Kecepatan algoritma juga
yang tepat seperti pemilihan jumlah lapis diuji dalam beberapa penelitian yang
tersembunyi, neuron, nilai momentum, dilakukan oleh Nugraha et al., 2013 dan
learning-rate dan fungsi aktivasi. Algoritma Retnani, 2013. Kecepatan pelatihan diukur
pelatihan juga sangat mempengaruhi hasil dari lamanya waktu eksekusi program untuk
dari JST nantinya, maka pemilihan algoritma mencapai konvergensi dan dapat dilihat dari
pelatihan yang tepat sangat dibutuhkan. hasil analisa Big-Oh. Selain itu terdapat
Fungsi yang digunakan pada penelitian penelitian berskala international yang
ini yaitu sigmoid biner karena memiliki nilai dilakukan oleh Sharma dan Venugopalan
fungsi yang terletak antara 0 dan 1 sehingga pada tahun 2014 dimana penelitian ini
sangat mudah untuk didiferensialkan menggunakan nilai SSE (keakuratan) dan
(Yulianti, 2014). Fungsi aktivasi ini yang nilai
akan digunakan pada penelitian karena membandingkan algoritma Gradient Descent
epoch (kecepatan)
untuk
berdasarkan penelitian yang dilakukan oleh based backpropagation, Gradient Descent
Redjeki pada tahun 2014 memperoleh bahwa with
tingkat rata-rata akurasi aktivasi sigmoid backpropogation .
biner lebih baik dibandingkan dengan Pada penelitian ini juga dilakukan
sigmoid bipolar.
pengujian terhadap beberapa parameter yang
(1) digunakan pada
f(x) =
algoritma pelatihan
Propagasi Balik dan algoritma pelatihan
2.2 Propagasi Balik
pelatihan Propagasi Balik dilakukan uji coba Propagasi Balik atau Backpropagation untuk mengetahui pengaruh perubahan
(BP) merupakan suatu teknik pembelajaran jumlah neuron lapisan tersembunyi terhadap
atau pelatihan supervised learning yang nilai SSE dan waktu eksekusi program.
paling banyak digunakan (Agustin, 2012). Selain itu dilakukan juga uji coba perubahan
Metode ini merupakan salah satu metode nilai learning rate terhadap nilai SSE dan
yang sangat baik dalam menangani masalah waktu eksekusi program. Pada algoritma
pengenalan pola-pola kompleks. Secara rinci pelatihan Levenberg-Marquardt dilakukan
algoritma pelatihan jaringan backpropagation uji coba perubahan jumlah neuron lapisan
dapat diuraikan sebagai berikut : tersembunyi dan parameter Marquardt
1. Inisialisasi bobot (setiap bobot diberi terhadap nilai SSE dan waktu eksekusi
nilai acak antara 0 – 1) program.
2. Selama kondisi berhenti belum terpenuhi lakukan langkah 3 –4
2. TINJAUAN PUSTAKA
3. Lakukan Langkah 4 – 14 sebanyak
2.1 Jaringan Syaraf Tiruan jumlah pelatihan yang diinginkan
4. Untuk keluaran lapisan dan setiap lapisan Jaringan Syaraf Tiruan (JST) adalah
tersembunyi lakukan langkah 5 – 14 paradigma pemrosesan suatu informasi yang
5. Hitung masukan setiap node pada lapisan terinspirasi oleh sistem sel syaraf biologi
tersembunyi
(Sukarno et al., 2014). Hal yang ingin dicapai
dengan melatih JST adalah untuk mencapai 0𝑗 +∑ 𝑖=1 𝑥 𝑖 ∗𝑣 𝑖𝑗 (2)
z_in j = 𝑣 𝑛
dimana: z_in j = jumlah total masukan keseimbangan
antara
kemampuan
untuk node ke-j
memorisasi dan generalisasi. Yang dimaksud n = jumlah node pada lapisan kemampuan memorisasi adalah kemampuan tersembunyi sebelumnya, untuk lapisan
JST untuk mengambil kembali secara tersembunyi yang pertama n adalah sempurna sebuah pola yang telah dipelajari. jumlah node masukan Kemampuan generalisasi adalah kemampuan
x i = nilai node ke-i yang dikeluarkan oleh JST untuk menghasilkan respon yang bisa
lapisan tersembunyi sebelumnya, untuk diterima terhadap pola-pola yang sebelumnya lapisan tersembunyi yang pertama xi telah dipelajari.
adalah masukan yang diterima oleh JST memiliki masalah utama yaitu
sistem
pada proses pelatihan dan pembentukan
34 JURNAL TEMATIKA VOL. 5, NO. 1, MARET 2017, ISSN: 2303 3878 34 JURNAL TEMATIKA VOL. 5, NO. 1, MARET 2017, ISSN: 2303 3878
2.3 Levenberg-Marquardt
node ke-i dan node ke-j
6. Hitung keluaran setiap node pada lapisan Levenberg-Marquardt merupakan salah satu
Antiliani
(2013), Algoritma
tersembunyi dengan fungsi aktivasi: jenis dari algoritma pelatihan jaringan syaraf z j = f(z_in j )
(3) tiruan Backpropagation dengan dua jenis dimana: z j = keluaran dari node ke-j
7. Hitung masukan setiap node pada perhitungan mundur. Parameter yang
perhitungan, yakni perhitungan maju dan
keluaran lapisan =
digunakan pada pelatihan LM terdiri dari y_in k 𝑤 0𝑘 +∑ 𝑖=1 𝑧 𝑖 ∗𝑤 𝑗𝑘 (4) parameter
Levenberg-Marquardt ( η), dimana: y_in k = jumlah total masukan
parameter faktor Tau (τ) dan maksimum untuk node ke-k
epoch . Perhitungan Levenberg-Marquardt n = jumlah node pada lapisan
dijelaskan sebagai berikut: tersembunyi sebelum keluaran lapisan
1. Inisialiasasi bobot dan bias dengan w jk = bobot yang menghubungkan antara
bilangan acak, epoch maksimum, dan node ke-j dan node ke-k
target minimal (target biasanya dihitung
8. Hitung keluaran pada setiap node pada dengan menggunakan Sum of Squared keluaran lapisan
Error /SSE). y k = f(y_in k ) (5) 2. Menentukan parameter yang dibutuhkan,
dimana: y k = keluaran dari node ke-k
antara lain:
9. Hitung error setiap node pada keluaran
a. Inisialisasi epoch = 0 lapisan dengan fungsi deaktivasi.
b. Parameter Levenberg-Marquardt 𝛿 𝑘 = (𝑡 𝑘 −𝑦 𝑘 )* f’(y_in k )
(6) ( η) yang nilainya harus lebih besar dimana: 𝛿 𝑘 = error pada node ke-k
dari nol.
t k = target ke-k
c. Parameter faktor Tau (τ) yang
10. Hitung perubahan bobot pada setiap node digunakan sebagai parameter yang di setiap keluaran lapisan
dikalikan atau dibagi dengan ∆𝑤 𝑗𝑘 = 𝛼∗𝛿 𝑘 ∗𝑧 𝑗 (7) parameter Levenberg-Marquardt.
dimana: ∆𝑤 3. 𝑗𝑘 = perubahan bobot yang Perhitungan Feedforward/tiap-tiap unit menghubungkan node ke-j dan node ke-
masukan (X i , i = 1, 2, 3, ..., n) menerima k
sinyal masukan dan meneruskan sinyal α = learning rate yang merupakan nilai tersebut ke semua unit pada lapisan
antara 0 – 1. tersembunyi. Tiap-tiap unit lapisan Perubahan bias dengan rumus berikut,
tersembunyi (Z j , j = 1, 2, ..., p) ∆𝑤 0𝑘 = 𝛼∗𝛿 𝑘 (8) menjumlahkan sinyal-sinyal masukan
11. Hitung error setiap node pada lapisan tersembunyi dengan fungsi deaktivasi
berbobot ( 𝑣 ij ) dan bias ( 𝑏1 j ).
fungsi aktivasi untuk dimana: j = error pada node ke-j
𝛿 = (∑ 𝑚 𝑗 𝑘=1 𝛿 𝑘 ∗𝑤 𝑗𝑘 ) ∗ 𝑓′(𝑧_𝑖𝑛 𝑗 ) (9) Gunakan
𝛿 menghitung sinyal keluaran.
12. Hitung perubahan bobot pada setiap node z j = f(z_in j ) (15) pada setiap lapisan tersembunyi
Kemudian kirimkan sinyal tersebut ke ∆𝑣 semua unit di lapisan atasnya.
𝑖𝑗 = 𝛼∗𝛿 𝑗 ∗𝑥 𝑖 (10) 4. Tiap-tiap unit lapisan keluaran (Y k , k = 1, dimana: ∆𝑣 𝑖𝑗 = perubahan bobot yang
2, 3, ..., m) menjumlahkan sinyal-sinyal menghubungkan node ke-i dan node ke-j
masukan berbobot ( 𝑤 jk ) dan bias ( 𝑏2 k ). Hitung perubahan bias dengan rumus
berikut, 𝑦 𝑖𝑛 𝑘 = 𝑏2 𝑘 +∑ 𝑖=1 𝑧 𝑖 𝑤 𝑗𝑘 (16)
fungsi aktivasi ∆𝑣 untuk
Gunakan
13. Update bobot pada setiap node pada y k = f(y_in k ) (17)
menghitung sinyal keluaran.
keluaran lapisan Kemudian kirimkan sinyal tersebut ke w jk (new) = w jk (old) + ∆𝑤 𝑗𝑘
(12) semua unit di lapisan atasnya.
5. Menghitung error dan SSE. Rumus setiap lapisan tersembunyi
14. Update bobot pada setiap node pada
untuk error:
v ij (new) = v ij (old) + ∆𝑣 𝑖𝑗 (13)
e r =t r –y r
r = masukan ke-r
Analisa Perbandingan Algoritma Pelatihan Propagasi Balik dan Algoritma Pelatihan
Rumus untuk menghitung SSE:
1. Tahap Pengumpulan Dataset. Pada tahap SSE = ∑(𝑒 2 𝑟 ) (19) ini dilakukan pengumpulan data-data
6. Hitung error neuron untuk tiap unit yang akan digunakan dalam penelitian. lapisan keluaran (Y k , k=1,2,3, ..., m)
Data ini terdiri dari data suhu udara, 𝛿2 𝑘 = (𝑡 𝑟 −𝑦 𝑟 )𝑓′(𝑦 𝑖𝑛 𝑘 )
(20) tekanan udara, kecepatan angin, 𝜑2 𝑗𝑘 = 𝛿2 𝑘 𝑧 𝑗 (21) kelembaban udara dan curah hujan. Data
𝛽2 ini diperoleh dari BMKG Kota Makassar.
2. Tahap Perancangan Arsitekur JST. memperbaiki nilai 𝑊 jk
Kemudian hitung koreksi bobot untuk
Tahap ini meliputi: Δ𝑤 a. jk = 𝜑2 jk (23) Pembentukan arsitektur jaringan
Hitung juga koreksi bias untuk syaraf tiruan, seperti pembentukan memperbaiki nilai 𝛽2 k :
jumlah lapisan dan neuron. Δ𝑏2 k = 𝛽2 k
(24) b. Penentuan nilai bobot, bias, dan
7. learning rate Hitung error neuron untuk tiap unit awal. lapisan tersembunyi (Z j , j=1,2,3,... p)
3. Tahap Training Algoritma. Pada tahap
𝛿𝑖𝑛 ini dilakukan proses training algoritma
𝑗 = ∑ 𝑘=1 𝛿2 𝑘 𝑤 𝑗𝑘 (25) Propagasi
Balik dan algoritma 𝛿1 𝐽 = 𝛿 𝑖𝑛 𝑗 𝑓 ′ (𝑧 𝑖𝑛 𝑗 ) 1 − (𝑧 𝑖𝑛 𝑗 )
(26) Levenberg-Marquardt untuk 𝜑1 ij = 𝛿1 j 𝑥 j
(27) memperoleh bobot yang diinginkan. 𝛽1 j = 𝛿1 j
(28) 4. Tahap Testing Algoritma. Pada tahap ini Kemudian hitung koreksi bobot (yang
dilakukan proses testing dengan nantinya digunakan untuk memperbaiki
bobot-bobot yang nilai 𝑉 ij yaitu :
menggunakan
dihasilkan dari proses training. Δ𝑉 ij = 𝜑1 ij (29) 5. Tahap Implementasi. Tujuannya untuk
Hitung juga koreksi bias yang nantinya menguji dan mengimplementasikan digunakan untuk memperbaiki 𝑏1 j :
program yang telah dibuat pada tahap 𝛥𝑏1 j = 𝛽1 j
(30) sebelumnya.
8. Membentuk matriks jacobian J(x). X
6. Tahap Pengujian. Tahap ini dilakukan merupakan matriks yang berisi nilai
pengujian kedua jenis algoritma bobot dan bias dari keseluruhan jaringan.
pelatihan dan menganalisa pengujian 𝑗 [𝜑1 11 …𝜑1 np 𝛽1 1 … 𝛽1 p 𝜑2 11 … 𝜑2 pm 𝛽2 1 kedua algoritma tersebut.
…𝛽2 m ]
9. Menghitung bobot baru
4. HASIL DAN PEMBAHASAN
10. Menghitung SSE Jika SSE baru <= SSE lama , maka
Pada tahap awal ini, penulis
a. η = 𝜂/τ (33) mengumpulkan data masukan berupa data
b. 𝑒𝑝𝑜𝑐ℎ = 𝑒𝑝𝑜𝑐ℎ+1 (34) bulanan curah hujan, suhu udara, tekanan
c. Kembali ke langkah 3 udara, kecepatan angin dan kelembaban Jika SSE baru >SSE lama , maka
udara. Data-data tersebut diperoleh dari Balai
a. η=η∗τ (35) Besar Meteorologi, Klimatologi, dan
b. Kembali ke langkah 9 Geofisika Wilayah IV Makassar berupa data
11. Proses pelatihan berhenti jika epoch ≥ tahun 2006 hingga tahun 2016. Data bulanan epoch maksimal atau error
≤ target error. yang diperoleh penulis merupakan data yang diukur setiap hari lalu dirata-ratakan
3. METODOLOGI PENELITIAN membentuk data bulanan. Adapun beberapa
contoh dari data-data tersebut sebagai Metode perancangan yang akan
berikut:
digunakan adalah metode terstruktur. Penulis
Tabel 1 Curah hujan
memilih metode terstruktur karena metode
Bulan
ini memiliki cara kerja yang sistematis dan Tahun
Jan Feb Mar Apr Mei Jun Jul Aug Sep Okt Nov Des
sesuai dengan penelitian yang dilakukan oleh
penulis. Tahapan-tahapan dalam metode ini
36 JURNAL TEMATIKA VOL. 5, NO. 1, MARET 2017, ISSN: 2303 3878
X V 11 Z 2010 873 429 279 230 144 124 100 57 231 223 238 760 1 1 V 12 2011 562 529 595 386 162 8
Suhu Udara
Tekanan Udara
Z 3 W 2 2013 982 418 336 270 137 275 94
X 3 W 3 2014 836 313 311 282 105 134 30
Kecepatan Angin
Z 4 W 4 Y 2015 962 355 306 204 9
Kelembaban Udara
V Curah Hujan 05 Sebelumnya
X 5 V 06 W 0
Data-data yang diperoleh penulis lalu Z 6
dinormalisasi untuk menghasilkan nilai 0-1
Bias
b menggunakan Normalisasi Min-Max. Selain 2
data curah hujan, terdapat pula data suhu
Gambar 1 Arsitektur JST
udara, tekanan udara, kecepatan angin dan kelembaban udara yang dinormalisasi. Data-
Pada Gambar 1 terdapat bobot yang data yang telah dinormalisasi tersebut akan
menghubungkan antar neuron. Bobot yang digunakan sebagai masukan pada proses
menghubungkan neuron lapisan masukan training dan testing algoritma Propagasi
dan neuron lapisan tersembunyi disimbolkan Balik dan algoritma Levenberg-Marquardt.
dengan V 11 dan seterusnya. Bobot yang Data training digunakan sebagai data latihan
menghubungkan neuron lapisan tersembunyi untuk melatih kedua algoritma agar dapat
dan neuron lapisan keluaran disimbolkan mengenali pola yang ada dan memperoleh
dengan W 1 dan seterusnya. Fungsi aktivasi bobot yang sesuai. Data testing digunakan
yang digunakan pada kedua algoritma sebagai data percobaan untuk mengetahui
training yaitu fungsi aktivasi sigmoid biner. sebagus apa bobot yang didapatkan dari
proses training. Data training diambil
4.3 Perancangan
Proses Training
sebanyak 70% dari total data yang ada.
Algoritma Propagasi Balik dan
Proses training menggunakan 88 data curah
Algoritma Levenberg-Marquardt
hujan yang diambil dari Januari 2006 hingga Proses training algoritma Propagasi Desember 2010 dan Januari 2013 hingga Juni Balik dan algoritma Levenberg-Marquardt 2015. Proses training juga menggunakan 87 dilakukan untuk mendapatkan bobot yang data suhu udara, tekanan udara, kecepatan optimal berdasarkan error yang diinginkan. angin, kelembaban udara yang diambil dari Selain itu, proses training bertujuan Februari 2006 hingga Desember 2010 dan mendapatkan arsitektur jaringan dan Januari 2013 hingga Juni 2015. Data testing parameter yang sesuai untuk menghasilkan diambil sebanyak 30% dari total data yang nilai SSE terkecil. Proses training ini ada. Proses testing menggunakan 38 data menggunakan 88 data curah hujan, 87 data curah hujan, suhu udara, tekanan udara, suhu udara, tekanan udara, kecepatan angin, kecepatan angin dan kelembaban udara yang dan kelembaban udara. diambil dari sisa data yang ada yang tidak
digunakan pada proses training.
4.3.1 Proses
Training Algoritma Propagasi Balik
4.2 Perancangan Arsitektur Jaringan Syaraf Tiruan
Proses training dengan keluaran berupa curah hujan ini menggunakan SSE
P ada tahap proses perencanaan, dan jumlah epoch sebagai syarat berhentinya dirancang arsitektur jaringan syaraf tiruan
proses dan bobot terakhir yang diperoleh yang akan digunakan dalam proses training.
merupakan bobot optimal. Proses training Pada perancangan arsitektur jaringan syaraf
akan berhenti apabila SSE yang diperoleh tiruan, penulis menggunakan 3 lapisan yaitu
lebih kecil daripada target error yang sebuah lapisan masukan, sebuah lapisan
ditentukan di awal. Selain itu, proses training tersembunyi dan sebuah lapisan keluaran.
juga akan berhenti apabila jumlah epoch telah melebihi maksimal epoch. Epoch dihitung ketika semua data masukan pada proses training telah digunakan dan akan diulang
Analisa Perbandingan Algoritma Pelatihan Propagasi Balik dan Algoritma Pelatihan Analisa Perbandingan Algoritma Pelatihan Propagasi Balik dan Algoritma Pelatihan
error dan jumlah epoch. Proses training mempengaruhi nilai SSE pada algoritma
algoritma Levenberg-Marquardt hampir Propagasi Balik yaitu jumlah neuron, nilai
serupa dengan proses training algoritma learning rate , target error dan jumlah epoch.
Propagasi Balik dalam hal syarat berhentinya Pada proses training, kedua algoritma
proses. Namun langkah-langkah dan rumus pelatihan akan diukur waktunya dalam satuan
yang digunakan dalam memperoleh bobot milisecond (ms). Parameter waktu akan
optimal berbeda. Secara umum gambaran dijadikan salah satu dari elemen penguji
proses training algoritma Levenberg- selain nilai SSE. Parameter waktu dalam
Marquardt dapat dilihat pada Gambar 3. pengujian tentunya sangat bergantung pada spesifikasi perangkat laptop yang digunakan penulis dalam melakukan proses training kedua algoritma pelatihan tersebut. Fungsi aktivasi yang digunakan pada proses training adalah fungsi aktivasi sigmoid biner. Secara umum gambaran proses training algoritma Propagasi Balik dapat dilihat pada Gambar 2.
Mulai
Inisiasi data training suhu udara, tekanan udara, kecepatan angin,
kelembaban udara dan curah hujan sebelumnya
Inisiasi nilai learning rate, target error, jumlah neuron di lapisan tersembunyi, max epoch, bobot awal acak, epoch=1
Hitung maju, hitung error, hitung SSE
SSE ≤ target error atau epoch ≥ max
YA
Selesai
epoch++ epoch?
TIDAK
Hitung perambatan balik, hitung perubahan bobot
Gambar 3 Proses training algoritma
Levenberg-Marquardt
Bobot baru
Gambar 2 Proses training algoritma
4.4 Proses Testing Algoritma Propagasi Propagasi Balik
Balik dan Algoritma Levenberg- Marquardt
4.3.2 Proses Training
Algoritma
Levenberg-Marquardt
Proses testing bertujuan untuk mengetahui tingkat keakuratan bobot-bobot
yang dihasilkan dari proses training. Nilai Levenberg-Marquardt
Proses training pada algoritma
curah hujan yang akan dihasilkan pada proses melatih data dan melakukan pengenalan pola
bertujuan
untuk
testing akan diuji keakuratannya dengan sehingga dapat memperoleh bobot optimal
menghitung selisih antara target dengan nilai berdasarkan error yang diinginkan. Proses
curah hujan yang dihasilkan. Semakin kecil training ini menggunakan SSE dan jumlah
nilai selisih yang diperoleh maka semakin epoch sebagai syarat berhentinya proses.
tinggi keakuratannya, demikian juga Beberapa parameter yang mempengaruhi
sebaliknya. Secara umum, proses testing nilai SSE yaitu jumlah neuron, nilai
dapat dilihat pada Gambar 4.
38 JURNAL TEMATIKA VOL. 5, NO. 1, MARET 2017, ISSN: 2303 3878
Mulai
Pada tahap training algoritma Propagasi
Balik memiliki langkah-langkah sebagai
Inisiasi bobot, parameter
yang dibutuhkan dan target error
berikut:
1. Penentuan parameter dan bobot awal yang akan digunakan pada proses training. Jumlah neuron pada lapisan tersembunyi:
Masukkan data testing
4 Nilai learning rate (α): 1 Maksimum epoch : 1000
Proses normalisasi data dan hitung maju
Target error : 0.01 Setelah itu akan ditentukan bobot awal setiap neuron dan bias pada lapisan masukan dan lapisan tersembunyi secara
Hitung error dan SSE
acak dengan range 0-1.
2. Tentukan data masukan yang akan digunakan dalam proses training. Penulis
akan menggunakan 3 data yang sudah dinormalisasi sebagai percobaan.
Proses denormalisasi
3. Data pertama akan dilakukan proses
hitung maju menggunakan Persamaan 2.
Tampilkan hasil uji dan
SSE
Pada proses ini langkah pertama akan dihitung sinyal input yang masuk pada lapisan tersembunyi.
Selesai
z_in 1 =
Gambar 4 Proses testing
4.5 Tahap Implementasi
0.597759674*0.474556173 = mengimplementasikan program yang telah
dirancang ke dalam studi kasus yang
0.617413623 + digunakan. Program dibuat menggunakan
z_in 2 =
0.322580645*0.610795122 + software Netbeans 6.7 dengan bahasa
0.41509434*0.213190484 + pemograman Java. Penyimpanan data pada
+ program menggunakan array. Penulis akan
0.833333333*0.83781681 + melakukan proses perhitungan manual pada
0.597759674*0.690430413 = tahap training algoritma Propagasi Balik dan
algoritma Levenberg-Marquardt. Proses
0.94075132 + training menggunakan arsitektur jaringan
z_in 3 =
0.322580645*0.60357807 + seperti Gambar 5.
v 14 z_in 4 =
X 3 w 2 0.322580645*0.016459027 +
v 01
X 4 w 4 0.8*0.475967543
v 02
Z 4 w 0 0.833333333*0.103984919 +
v 03
X 5 v 04 0.597759674*0.526763849 =
b 2 1.892106628
Selanjutnya akan dihitung keluaran dari setiap neuron lapisan tersembunyi dengan
Gambar 5 Arsitektur jaringan
fungsi aktivasi menggunakan Persamaan
implementasi proses training
Analisa Perbandingan Algoritma Pelatihan Propagasi Balik dan Algoritma Pelatihan
3. Nilai e adalah konstanta matematika δ in4 =δ*w 4 *z 4 * (1 –z 4 ) = -0.001865657 yang bernilai 2.71828182845904523536 .
Lalu hitung perubahan bobot tiap neuron
1 z 1 = 1+ 𝑒 −𝑧_𝑖𝑛1 = 0.8866832175
yang menghubungkan lapisan masukan
1 z dan lapisan tersembunyi menggunakan 2 = 1+ 𝑒 −𝑧_𝑖𝑛2 = 0.904756734
Persamaan 10 dan 11. z 3 =
Δv 11 =α*δ 1 *x 1 = -0.000242036
1 Demikian juga dengan Δv 12 , Δv 13 , Δv 14 . z 4 = 1+ 𝑒 −𝑧_𝑖𝑛4 = 0.86899554 Δv 21 =α*δ 1 *x 2 = -0.000311451
Setelah itu hitung sinyal input yang masuk Demikian juga den gan Δv 22 , Δv 23 , Δv 24 . ke lapisan keluaran menggunakan
Δv 31 =α*δ 1 *x 3 = -0.00060025 Persamaan 4.
Demikian juga dengan Δv 32 , Δv 33 , Δv 34 . y_in
Δv 41 =α*δ 1 *x 4 = -0.000625261 0.356279169+0.8866832175*0.3100813
Demikian juga dengan Δv 42 , Δv 43 , Δv 44 . 14+0.904756734*0.202613717
Δv 51 =α*δ 1 *x 5 = -0.000448507 0.946982937*0.348562118
Demikian juga dengan Δv 52 , Δv 53 , Δv 54 . 0.86899554*0.679713494 = 1.735335753
Δv 01 =α*δ 1 = -0.000750313 Lalu hitung keluaran dari neuron lapisan
Demikian juga dengan Δv 02 , Δv 03 , Δv 04 . keluaran menggunakan Persamaan 5.
7. Hitung bobot baru berdasarkan perubahan
diperoleh dengan
Jika sudah mendapat nilai dari lapisan menggunakan Persamaan 12 dan 13. keluaran maka dapat dihitung error dan
v 11(baru) =v 11(lama) + Δv 11 = 0.756913301 SSE. Hitung error dan SSE menggunakan
Demikian juga dengan v 12(baru) , v 13(baru) , Persamaan 18 dan 19.
v 14(baru) , v 21(baru) , v 22(baru) , v 23(baru) , v 24(baru) , Error = 0.66089613 - 0.85009365 = -
v 31(baru) , v 32(baru) , v 33(baru) , v 34(baru) , v 41(baru) , 0.18919752
v 42(baru) , v 43(baru) , v 44(baru) , v 51(baru) , v 52(baru) , SSE =
v 53(baru) , v 54(baru) , v 01(baru) , v 02(baru) , v 03(baru) (−0.18919752) ,
5. Lakukan pengecekan apakah SSE yang w 1(baru) =w 1(lama) + Δw 1 = 0.288699543 diperoleh lebih kecil sama dengan target Demikian juga dengan w . SSE yang diperoleh tidak lebih 2(baru) , w error 3(baru) ,
v 04(baru) .
w 4(baru) ,w 0(baru) .
kecil sama dengan 0.01 sehingga akan dilakukan tahap perambatan balik untuk
8. Untuk data kedua dilakukan operasi yang memperbaiki bobot.
sama dengan data pertama. Bobot dan bias awal menggunakan nilai bobot dan bias
6. Tahap perambatan balik menggunakan Persamaan 6 hingga 11. Hitung error tiap
baru yang didapatkan dari hasil neuron pada lapisan keluaran dengan
perhitungan data pertama. Demikian seterusnya hingga data ketiga (1 epoch).
Persamaan 6.
δ Proses training ini akan terus berlanjut = error* - 0.18919752*0.85009365*(1-0.85009365)
y*(1-y)
hingga syarat berhenti terpenuhi yaitu SSE lebih kecil sama dengan target error
= -0.024110279 Kemudian hitung perubahan bobot pada
atau jumlah epoch lebih dari 1000. neuron yang menghubungkan lapisan
9. Pada perhitungan data kedua, diperoleh SSE sebesar 0.22486826358. Nilai SSE
tersembunyi dan lapisan keluaran dengan Persamaan 7 dan 8.
dan jumlah epoch belum sesuai dengan syarat berhentinya proses
1 1 = -0.021381771 training Δw . =α*δ*z
2 Δw Perhitungan data kedua ini menghasilkan 2 =α*δ*z = -0.021813938 Δw 3 =α*δ*z 3 = -0.022832023
bobot dan bias baru.
Proses training dilanjutkan Δw dengan =α*δ*z 4 = -0.020951725 Δw 0 = α * δ = -0.024110279 perhitungan data ketiga namun belum Setelah itu hitung error tiap neuron pada
juga mencapai syarat terhentinya proses training . Ketika data ketiga telah dihitung
lapisan tersembunyi
menggunakan
Persamaan 9. maka epoch akan bertambah satu menjadi
dua. Lalu kembali menggunakan data δ pertama dalam perhitungan maju. Data
δ in1 =δ*w 1 *z 1 * (1 –z 1 ) = -0.000750313
in2 =δ*w 2 *z 2 * (1 –z 2 ) = -0.000420956
δ in3 =δ*w 3 *z 3 * (1 –z 3 ) = -0.00042193
pertama ini telah mencapai SSE yang diharapkan yaitu 0.00489195093884142.
40 JURNAL TEMATIKA VOL. 5, NO. 1, MARET 2017, ISSN: 2303 3878
SSE tersebut lebih kecil dari 0.01 dan
+ jumlah epoch tidak lebih dari 1000
0.833333333*0.103984919 + sehingga proses training selesai dan
mendapatkan bobot yang optimal. 1.892106628
Setelah perhitungan manual untuk Selanjutnya akan dihitung keluaran dari proses training algoritma Propagasi Balik
setiap neuron lapisan tersembunyi dengan selesai, selanjutnya perhitungan manual
fungsi aktivasi menggunakan Persamaan untuk proses training algoritma Levenberg-
15. Nilai e adalah konstanta matematika Marquardt. Langkah-langkah proses training
bernilai untuk algoritma Levenberg-Marquardt dapat
yang
2.718281828459045235360287471352 . diuraikan sebagai berikut:
1 z 1 = 1+ 𝑒 −𝑧_𝑖𝑛1 = 0.8866832175
1. Penentuan parameter dan bobot awal yang
akan digunakan pada proses training. z 2 = 1+ 𝑒 −𝑧_𝑖𝑛2 = 0.904756734 Jumlah neuron padalapisan tersembunyi:
η) : 0.1 = 0.86899554 1+ 𝑒 −𝑧_𝑖𝑛4 Faktor tau (τ) : 10
Nilai parameter Marquardt (
Setelah itu hitung sinyal input yang masuk Maksimum epoch : 2
ke lapisan keluaran menggunakan Target error : 0.01
Persamaan 16.
Setelah itu akan ditentukan bobot awal
= setiap neuron dan bias pada lapisan
y_in
0.356279169+0.8866832175*0.3100813 masukan dan lapisan tersembunyi secara
0.202613717 + acak dengan range 0-1.
0.679713494 = digunakan dalam proses training. Penulis
2. Tentukan data masukan yang akan
akan menggunakan 3 data yang sudah Lalu hitung keluaran dari neuron lapisan dinormalisasi sebagai percobaan.
keluaran menggunakan Persamaan 17.
3. Data pertama akan dilakukan proses
1 y= 1+ 𝑒 −𝑦_𝑖𝑛 = 0.85009365
hitung maju menggunakan Persamaan 14.
4. Jika sudah mendapat nilai dari lapisan Pada proses ini langkah pertama akan
keluaran maka dapat dihitung error dan dihitung sinyal input yang masuk pada
SSE. Hitung error dan SSE menggunakan lapisan tersembunyi.
Persamaan 17 dan 18. z_in 1 =
Error = 0.66089613 - 0.85009365 = - 0.322580645*0.757155337
5. Setelah mendapatkan SSE maka 0.833333333*0.58899791
dibandingkan denga target error. SSE 0.597759674*0.474556173
tersebut masih lebih besar daripada target 2.058783861 error yang ditetapkan di awal proses z_in 2 =
training sehingga dilanjutkan tahap 0.322580645*0.610795122
pembentukan matriks Jacobian. Untuk 0.41509434*0.213190484
mendapatkan perubahan bobot, buat 0.8*0.296751482
Jacobian menggunakan 0.833333333*0.83781681
matriks
Persamaan 20 hingga 31. Matriks 0.597759674*0.690430413
Jacobian ini akan digunakan untuk 2.251231789
mendapatkan bobot baru. Ukuran matriks z_in 3 =
Jacobian yang terbentuk adalah 1x29. 0.322580645*0.60357807
6. Langkah selanjutnya setelah mendapat 0.833333333*0.86371502
matriks Jacobian adalah menghitung 0.597759674*0.84073685 = 2.882667266
bobot menggunaka z_in 4 =
perubahan
Persamaan 32. Pertama, buat transpose 0.322580645*0.016459027
dari matriks Jacobian. 0.41509434*0.581409664
Analisa Perbandingan Algoritma Pelatihan Propagasi Balik dan Algoritma Pelatihan Analisa Perbandingan Algoritma Pelatihan Propagasi Balik dan Algoritma Pelatihan
−2.42036327681𝐸 − 4 -1 (J J + η I) J
7. Setelah itu transpose dari matriks
Jacobian dikalikan dengan matriks [ 0.0445088196851688 ] 29𝑥1 Jacobian menghasilkan matriks berikut:
14. Untuk mendapatkan bobot baru, bobot J T J=
lama dikurangi dengan perubahan bobot 5.8581583917𝐸 − 8 ⋯ 5.8355634605𝐸 − 6 3.2866696208𝐸 − 8 ⋯ 3.27399292815𝐸 − 6 yang diperoleh dari tahap ke 13.
0.6105444422044491 w baru = 8. Setelah itu buat matriks identitas sesuai 0.6033268065587046
ordo hasil kali transpose matriks ⋮ Jacobian dengan matriks Jacobian.
[ 0.3117703493148312] 29𝑥1 Matriks identitas sebagai berikut:
15. Setelah memperoleh bobot baru maka
10 0⋯0 bobot baru tersebut akan menjadi bobot
lama untuk perhitungan selanjutnya. Lalu
lakukan
hitung maju dengan 00 1⋯0 ⋮ ⋮ ⋮⋱⋮ menggunakan data pertama, gunakan
[ 0 0 0 ⋯ 1] 29x29 Persamaan 14 hingga 17.
9. Kemudian matriks identitas dikalikan z_in 1 = 2.0546726673662357 dengan parameter Marquardt menjadi
z_in 2 = 2.2489252396027126 matriks berikut ini:
z_in 3 = 2.8803553834172444
0.1 0 0 ⋯ 0 z_in 4 = 1.881884120900208
10. Lalu tambahkan hasil tersebut dengan y_in = 1.544933774444029
y = 0.8241808065833971 Jacobian, hasilnya sebagai berikut:
perkalian transpose Jacobian dan
16. Setelah mendapat keluaran dari hitung J T J+ηI=
maju, lakukan perhitungan nilai error
0.100000018 ⋯ 3.273992𝐸 − 6 dan SSE baru. 3.29426937𝐸 − 8 1.84822𝐸 − 8 ⋯ 3.28156𝐸 − 6 Error = -0.16328467658339707
11. Setelah mendapat hasil penjumlahan,
17. Lakukan pengecekan apakah SSE baru ≤ maka dilakukan perhitungan invers,
SSE lama. Jika ya, lakukan kembali menghasilkan matriks berikut ini:
perhitungan tahap 5 hingga tahap 16 (J T
J -1 + η I) =
dengan parameter Marquardt dibagi
⋯ −3.1945𝐸 − 4 dengan faktor Tau.. Jika tidak, lakukan −3.21430𝐸 − 6 −1.8033𝐸 − 6 ⋯ −3.2019𝐸 − 4 kembali perhitungan tahap 13 hingga
tahap 16 dengan parameter Marquardt
12. Hasil perhitungan invers kemudian dikali dengan faktor Tau. dikalikan dengan transpose matriks
18. Perhitungan dilanjutkan dengan tahap 5 Jacobian, hasilnya sebagai berikut:
hingga tahap 16 karena SSE baru ≤ SSE
(J -1 J + η I) J
lama. Perhitungan dilanjutkan dengan −0.0023616142020403286
nilai parameter Marquardt yang telah −0.0013249634330595385 berubah. Setelah itu diperoleh bobot baru
sebagai berikut:
w baru =
13. Hasil perkalian pada tahap ke 12
0.6091348988897222 kemudian dikalikan dengan nilai error
sehingga mendapatkan perubahan bobot
seperti berikut ini: [ 5.679858239571178𝐸 − 6] 29𝑥1
42 JURNAL TEMATIKA VOL. 5, NO. 1, MARET 2017, ISSN: 2303 3878
19. Setelah itu dilakukan hitung maju lagi digunakan maka proses testing dapat dimulai. menggunakan bobot baru yang diperoleh
Tahap-tahap proses testing sebagai berikut: dan menggunakan data kedua lalu
1. Penentuan bobot-bobot yang akan menghasilkan nilai SSE baru.
digunakan pada proses testing.
20. Hasil perhitungan memperoleh SSE baru
2. Penentuan data masukan proses testing. > SSE lama sehingga dilanjutkan ke
3. Data masukan tersebut kemudian tahap 13 hingga tahap 16. Parameter
dinormalisasi menggunakan metode Marquardt yang digunakan adalah
normalisasi Min-Max. Setelah itu hitung parameter Marquardt yang dikalikan
maju menggunakan Persamaan 2 hingga dengan faktor Tau. Tahap ini
5. Hasil dari perhitungan maju adalah menghasilkan nilai SSE baru.
sebagai berikut:
21. Perhitungan di atas menghasilkan SSE z_in 1 = 2.526001858 baru > SSE lama sehingga harus
z_in 2 = 2.059225005 mengulang tahap 13 hingga tahap 16
z_in 3 = 2.256779836 dengan parameter Marquardt yang
z_in 4 = 1.974248509 semakin besar karena dikalikan dengan
z_in 5 = 2.226048321 faktor Tau. Percobaan yang dilakukan
z_in 6 = 1.692698679 penulis, pengulangan tahap 13 hingga
z 1 = 0.925944663
tahap 16 terjadi sebanyak 19 kali hingga
z 2 = 0.886876441
mendapatkan SSE baru ≤ SSE lama.
z 3 = 0.905233748
Kemudian proses training dilanjutkan
z 4 = 0.878066713
menggunakan data ketiga. Hasil
z 5 = 0.902564393
perhitungan maju menggunakan data
z 6 = 0.844578733
ketiga menghasilkan nilai SSE. y_in = 1.954034843
22. Setelah data ketiga selesai maka kembali
y = 0.875885934
lagi menggunakan data pertama dan
4. Setelah mendapat nilai keluaran berupa
epoch telah menjadi 2. Syarat
curah hujan, maka akan dihitung
selisihnya dengan target keluaran. terpenuhi yaitu epoch ≥ maksimal epoch
berhentinya proses training telah
Error = 0.740325866 – 0.875885934 = - sehingga bobot akhir diperoleh pada
tahap ini. SSE = (-0.135560068) 2 = 0.018376532 Setelah memperoleh bobot optimal
5. Setelah memperoleh nilai error dan SSE dan arsitektur jaringan yang sesuai dari
maka nilai keluaran curah hujan yang masing-masing algoritma pelatihan, maka
diperoleh lalu didenormalisasi sehingga selanjutnya dilakukan proses testing. Penulis
menghasilkan nilai berikut: akan melakukan perhitungan manual proses
Nilai keluaran curah hujan: 860.1199876 testing . Secara umum, proses testing kedua
Berdasarkan kategori curah hujan maka algoritma memiliki tahap-tahap yang serupa.
cuaca yang dihasilkan adalah hujan Perbedaan hanya terletak pada bobot awal
sangat lebat.
dan arsitektur jaringan yang akan digunakan pada tahap testing. Masing-masing algoritma
4.6 Tahap Pengujian
pelatihan baik algoritma Propagasi Balik Tahap ini terdiri dari analisa algoritma maupun algoritma Levenberg-Marquardt dan pengujian terhadap kedua algoritma menghasilkan bobot optimal dan arsitektur pelatihan. Tujuan dari tahap evaluasi ini jaringan yang berbeda pada proses training. adalah untuk mengetahui perbedaan yang Pada proses testing digunakan bobot awal terdapat pada kedua jenis algoritma pelatihan yang diperoleh dari bobot optimal masing- yaitu algoritma Propagasi Balik dan masing
algoritma Levenberg-Marquardt. Perbedaan menggunakan bobot optimal yang dihasilkan kedua jenis algoritma pelatihan dapat dilihat algoritma Propagasi Balik untuk dilakukan dari segi efesiensi algoritma maupun dari segi perhitungan manual proses testing. Pada keluaran yang dihasilkan. Kinerja kedua jenis proses testing ini digunakan data yang tidak
dievaluasi menggunakan digunakan pada proses training. Setelah parameter SSE dan waktu eksekusi program. memilih arsitektur jaringan yang ingin Beberapa parameter yang akan diuji
algoritma
Analisa Perbandingan Algoritma Pelatihan Propagasi Balik dan Algoritma Pelatihan Analisa Perbandingan Algoritma Pelatihan Propagasi Balik dan Algoritma Pelatihan
akan digunakan sebesar 0.1, 0.01, 0.001. lapisan tersembunyi, nilai learning rate, dan
Nilai learning rate yang akan diuji coba nilai parameter Marquardt.
adalah 0.01, 0.05, 0.1, 0.5 dan 1. Pengujian perubahan nilai learning rate akan
4.6.1 Analisa Algoritma
menggunakan arsitektur jaringan yang menghasilkan nilai SSE terkecil dari setiap
Analisa algoritma dapat dilihat dari
target error.
segi efisiensi algoritma.
Penulis
Tabel 2 Hasil proses training algoritma menggunakan order waktu proses (Big-Oh)
Propagasi Balik
untuk menguji efisiensi algoritma Propagasi Balik dan algoritma Levenberg-Marquardt.
Jumlah
neuron Learning Target
error SSE (mean) Epoch (mean) (mean)
Waktu
Analisa Big-Oh menguji kompleksitas
lapisan
rate
algoritma dan menekankan pada bagian
tersembunyi
operasi aktif yaitu operasi yang paling sering
dieksekusi. Operasi pada algoritma Propagasi
1 Balik dan algoritma Levenberg-Marquardt 25.966
1.83E-04
ada yang serupa namun ada juga yang Berdasarkan Tabel 2 diperoleh nilai berbeda. Penulis akan melakukan analisa SSE minimum dari ketiga jenis target error. Big-Oh pada bagian operasi yang berbeda Setiap nilai minimum SSE diperoleh jumlah diantara algoritma Propagasi Balik dan neuron pada lapisan tersembunyi yang algoritma Levenberg-Marquardt. Algoritma
sehingga menghasilkan Propagasi Balik memiliki order O(n ) dan arsitektur jaringan yang berbeda pula. Setiap algoritma Levenberg-Marquardt memiliki percobaan yang dihasilkan telah melalui 30 order
2 berbeda-beda
O(n 4 ). Algoritma
Levenberg-
kali uji coba dan nilai SSE, epoch, waktu Marquardt memiliki kompleksitas yang lebih yang diambil adalah rata-rata dari 30 kali uji besar daripada algoritma Propagasi Balik. coba tersebut. Setelah memperoleh arsitektur
4.6.2 Pengujian Algoritma Propagasi
jaringan untuk setiap target error maka akan
diuji pengaruh nilai learning rate terhadap
Balik dan Algoritma Levenberg-
nilai SSE dan waktu yang dihasilkan. Nilai
Marquardt
learning rate yang akan diuji adalah 0.01, Tahap pengujian algoritma Propagasi
0.05, 0.1, 0.5, dan 1. Nilai learning rate yang Balik dan algoritma Levenberg-Marquardt
berbeda-beda tersebut akan diuji pada setiap akan dilakukan dengan membandingkan nilai
data dengan SSE minimum untuk ketiga jenis SSE yang diperoleh sesuai dengan arsitektur
target error.
jaringan dan parameter algoritma masing- Untuk proses training algoritma masing. Selain itu, akan dilakukan pengujian
Levenberg-Marquardt, penulis melakukan terhadap data testing menggunakan bobot-
beberapa percobaan dengan merubah jumlah bobot optimal yang dihasilkan kedua
neuron lapisan tersembunyi mulai dari 3 algoritma pelatihan. Tingkat akurasi yang
neuron hingga 15 neuron. Hal ini dilakukan dihasilkan dari proses testing juga akan
untuk mencari nilai SSE terkecil. Selain itu, menjadi parameter pengujian bagi kedua
pengujian juga dilakukan dengan mengubah algoritma pelatihan tersebut.
nilai target error dan parameter Marquardt. Untuk proses training algoritma
Target error yang akan digunakan sebesar Propagasi Balik, penulis melakukan beberapa
0.1, 0.01, 0.001. Nilai parameter Marquardt percobaan dengan melakukan perubahan
yang akan diuji coba adalah 0.01, 0.05, 0.1, pada jumlah neuron lapisan tersembunyi
0.5 dan 1. Pengujian perubahan nilai mulai dari 3 neuron hingga 15 neuron. Tidak
parameter Marquardt akan menggunakan terdapat ketentuan mengenai jumlah neuron
arsitektur jaringan yang menghasilkan nilai yang harus digunakan pada lapisan
SSE terkecil dari setiap target error. tersembunyi, maka dari itu penulis mencoba
Pada Tabel 3 diperoleh nilai SSE untuk melakukan pengujian terhadap
minimum dari ketiga jenis target error. Setiap perubahan jumlah neuron pada lapisan
nilai minimum SSE diperoleh jumlah neuron tersembunyi. Selain itu, pengujian juga
pada lapisan tersembunyi yang berbeda-beda dilakukan terhadap perubahan nilai target
sehingga menghasilkan arsitektur jaringan
44 JURNAL TEMATIKA VOL. 5, NO. 1, MARET 2017, ISSN: 2303 3878 44 JURNAL TEMATIKA VOL. 5, NO. 1, MARET 2017, ISSN: 2303 3878
jumlah neuron yang sedikit pada lapisan nilai SSE, epoch, waktu yang diambil adalah
tersembunyi. Nilai target error yang rata-rata dari 30 kali uji coba tersebut. Setelah
lebih kecil menggunakan arsitektur memperoleh arsitektur jaringan untuk setiap
jaringan dengan jumlah neuron yang target error maka akan diuji pengaruh nilai
lebih banyak pada lapisan tersembunyi. parameter Marquardt terhadap nilai SSE dan
3. Nilai learning rate dan parameter waktu yang dihasilkan. Nilai parameter
Marquardt dipengaruhi oleh jumlah Marquardt yang akan diuji adalah 0.01, 0.05,
neuron pada lapisan tersembunyi dan
0.1, 0.5, dan 1. Nilai parameter Marquardt target error. Jika target error besar dan yang berbeda-beda tersebut akan diuji pada
jumlah neuron sedikit maka nilai setiap data dengan SSE minimum untuk
learning rate dan parameter Marquardt ketiga jenis target error.
besar. Jika target error kecil dan jumlah Tabel 3 Hasil proses training algoritma
neuron banyak maka nilai learning rate Levenberg-Marquardt
dan parameter Marquardt kecil.
Jumlah
neuron Parameter Faktor Target SSE (mean) Epoch Waktu
5. KESIMPULAN
lapisan
Marquardt Tau Error (mean) (mean)
tersembunyi
Kesimpulan yang diperoleh penulis
dari analisa perbandingan algoritma pelatihan
Propagasi Balik dan algoritma pelatihan Levenberg-Marquardt pada jaringan syaraf
8 0.1 10 0.001 1.62E-04
Adapun tampilan program untuk
tiruan adalah:
proses testing algoritma Propagasi Balik
1. Jumlah neuron pada lapisan tersembunyi dapat dilihat pada Gambar 6.
mempengaruhi nilai SSE dan waktu eksekusi program. Semakin banyak jumlah neuron maka waktu eksekusi program semakin lama dan nilai SSE semakin kecil untuk beberapa kasus. Pengujian
tersebut menggunakan konfigurasi jaringan dengan 5 neuron pada lapisan input dan 1-unit bias, 15 neuron pada lapisan tersembunyi dan 1 unit bias, serta 1 neuron pada lapisan keluaran.
2. Pada proses training, algoritma Levenberg-Marquardt
dengan menggunakan parameter Marquardt 0.1 dan faktor Tau 10 menghasilkan nilai
Gambar 6 Tampilan testing algoritma BP SSE yang lebih kecil yaitu 0.001905758 dibandingkan algoritma Propagasi Balik
Berdasarkan penelitian pada proses yang menggunakan learning rate 0.1 training dengan menggunakan 88 data dan
dengan nilai SSE 0.0021932 untuk target proses testing dengan menggunakan 38 data,
0.01. Namun waktu eksekusi penulis memperoleh beberapa kesimpulan
error
program yang dihasilkan algoritma yaitu:
Propagasi Balik yaitu 124.2 ms lebih
1. Jumlah neuron pada lapisan tersembunyi cepat daripada algoritma Levenberg- mempengaruhi nilai SSE dan waktu
Marquardt yaitu 901.333 ms dalam eksekusi program. Semakin banyak
memperoleh nilai SSE tersebut. jumlah neuron maka waktu eksekusi
program semakin lama dan nilai SSE
6. DAFTAR PUSTAKA
semakin kecil untuk beberapa kasus. [1] Agustin, M. 2012. Penggunaan Jaringan
2. Target error mempengaruhi jumlah Syaraf Tiruan Backpropagation untuk
neuron pada lapisan tersembunyi. Nilai Seleksi Penerimaan Mahasiswa Baru target error yang besar dapat dicapai
pada Jurusan Teknik Komputer di Analisa Perbandingan Algoritma Pelatihan Propagasi Balik dan Algoritma Pelatihan
Politeknik Negeri Sriwijaya . Tesis. Adaptive Gain (BPGD/AG) dalam Semarang. Universitas Diponegoro.
Prediksi Jumlah Pengangguran di Provinsi
Tengah. Skripsi. [2] Atiliani, A. 2013. Pelatihan Jaringan
Jawa
Surakarta. Universitas Sebelas Maret. Syaraf Tiruan Multi Layer Perceptron
Menggunakan Genetic
[6] Sharma, B. and Venugopalan, K. 2014. Levenberg
Algorithm
Comparison of Neural Network Training Surakarta. Universitas Sebelas Maret.
Marquardt .
Skripsi.
Functions for Hematoma Classification in Brain CT Images. IOSR Journal of
[3] Nugraha, P. A., Saptono, R. dan Sulistyo, Computer Engineering (IOSR-JCE).
M. E. 2013. Perbandingan Metode
16/2: 31-35
Probabilistik Naive Bayesian Classifier dan Jaringan Syaraf Tiruan Learning
[7] Utami, A. T. W. dan Ulama, B. S. S. Vector Quantization dalam Kasus
2015. Penerapan Backpropagation untuk Klasifikasi Penyakit Kandungan. Jurnal
Meningkatkan Efektivitas Waktu dan ITSMART . 2/2: 20-33.
Akurasi pada Data Wall-Following Robot Navigation . Jurnal Sains dan Seni ITS.
[4] Purnamasari, R. W. 2013. Implementasi
4/2: 280.
Jaringan Syaraf Tiruan Backpropagation sebagai Sistem Deteksi Penyakit
[8] Yuniar, R. J., Rahadi, D. dan Setyawati, Tuberculosis (TBC). Skripsi. Semarang.
O. 2013. Perbaikan Metode Prakiraan Universitas Negeri Semarang.
Cuaca Bandara Abdulrahman Saleh dengan Algoritma Neural Network
[5] Retnani, W. I. 2013. Perbandingan Backpropagation . Jurnal EECCIS. 7/1:
Algoritma Backpropagation Levenberg
Backpropagation Gradient Descent
46 JURNAL TEMATIKA VOL. 5, NO. 1, MARET 2017, ISSN: 2303 3878