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