ANALISIS DAN IMPLEMENTASI CUCKOO SEARCH VIA LEVY FLIGHTS UNTUK LEARNING MULTI LAYER PERCEPTRON (STUDI KASUS: PENGENALAN
TULISAN TANGAN KARAKTER NUMERIK)
Endang Vatu Rokman¹, Agung Toto Wibowo², M. Syahrul Mubarok³
¹Teknik Informatika, Fakultas Teknik Informatika, Universitas Telkom
Abstrak
Artificial Neural network (ANN) merupakan suatu metode yang sangat baik untuk permasalahan klasifikasi. Multi Layer Perceptron (MLP) merupakan ANN berdasarkan arsitekturnya, sedangkan Cuckoo Search (CS) merupakan algoritma optimasi, dikemukakan oleh Dr. Xin-She Yang dan Suash Deb, sekitar Desember 2009, dimana berdasarkan [8] dapat diimplementasikan sebagai algoritma learning MLP dengan hasil yang baik. Algoritma ini menggunakan teori Lévy Flights di dalam prosesnya.
Dari hasil pengujian yang dilakukan, CS menghasilkan rata-rata akurasi: training 94.71%, validasi 87.74%, & testing 84.70% untuk skenario ke-1 (60% data training : 20% data validasi : 20% data testing), rata-rata akurasi: training 95.79%, validasi 82.67%, & testing 81.03% untuk skenario ke-2 (33.33% data training : 33.33% data validasi : 33.33% data testing), rata-rata akurasi:
training 95.86%, validasi 81.93%, & testing 80.75% untuk skenario ke-3 (30% data training : 30%
data validasi : 40% data testing). Berdasarkan hasil pengujian yang didapatkan, CS sebagai algoritma alternatif MLP dengan hasil yang cukup menjanjikan. Hal lain yang dapat disimpulkan yaitu preprocessing data sangat berpengaruh terhadap hasil yang diperoleh. Data yang baik akan memudahkan pengaturan setting parameter CS sehingga CS mampu mendapatkan hasil yang
“baik” & “cepat”. Begitu juga sebaliknya, preprocessing yang kurang baik akan menghasilkan akurasi yang kurang bagus.
Kata Kunci : klasifikasi, mlp, cuckoo search, lévy flights
Abstract
Artificial Neural network (ANN) is a method that suitable for classification problem. Multi Layer Perceptron (MLP) is ANN based on its architecture, meanwhile, Cuckoo Search (CS) is optimation algorithm, introduced by Dr. Xin-She Yang and Suash Deb, about December 2009, thats based on [8] its CS can be implemented for learning algorithm with good result. This algorithm was used Lévy Flights theorm in its process.
From experiment result, CS was produced accuration average: training 94.71%, validation 87.74%,
& testing 84.70% for 1st scenario (60% training data : 20% validation data : 20% testing data), accuration average: training 95.79%, validation 82.67%, & testing 81.03% for 2nd scenario (33.33% training data : 33.33% validation data : 33.33% testing data), accuration average:
training 95.86%, validation 81.93%, & testing 80.75% for 3rd scenario (30% training data : 30%
validation data : 40% testing data). Based on experiment result, CS as alternative algorithm for learn MLP is produce promising result. Other things thats can be conclude is data preprocessing very influential toward output result. Good data will be easy to setting up CS parameter so CS can meet ”best solution” & ”fast” in period of time. Beside that, poor preprocessing will be produce poor accuration result.
Keywords : classification, mlp, cuckoo search, lévy flights
Powered by TCPDF (www.tcpdf.org)
Fakultas Teknik Informatika Program Studi S1 Teknik Informatika
1. Pendahuluan
1.1 Latar Belakang
Komputer merupakan alat yang sangat memudahkan dalam pengolahan berbagai data dan dapat menerima input melalui keyboard, mouse, microphone, dan citra atau image melalui tulisan tangan dalam bentuk numerik yang dihasilkan setelah dilakukan proses scanning. Kendala yang dihadapi ketika memperoleh data dari tulisan tangan dalam bentuk numerik adalah gaya atau style penulisan masing- masing individu berbeda-beda yang mengakibatkan citra hasil dari penulisan masing-masing individu tersebut tidak mudah dikenali. Solusi yang ditawarkan untuk menyelesaikan permasalahan tersebut dengan membuat suatu sistem yang dapat mengenali karakter numerik hasil dari tulisan tangan tersebut.
Permasalahan mengenali tulisan tangan dalam bentuk numerik tersebut adalah tentang pengenalan pola. Metode berdasarkan pengenalan pola adalah Artificial Neural Network (ANN) atau jaringan syaraf tiruan (JST) karena ANN memodelkan arsitektur dan cara kerja sistem syaraf pada otak manusia. Multi Layer Perceptron (MLP) merupakan salah satu ANN berdasarkan arsitekturnya dan dapat diimplementasikan untuk menyelesaikan permasalahan yang cukup kompleks, seperti pengenalan pola pada image atau lebih khususnya pengenalan tulisan tangan karakter numerik, permasalahan klasifikasi, serta mudah diimplementasikan. Untuk dapat mengenali pola, sistem yang akan dibangun tersebut perlu melakukan proses learning, seperti halnya pada manusia contohnya ketika balita mampu mengenali benda, misalnya meja, maka telah lama sebelumnya balita tersebut diajari mungkin oleh orang tua ataupun saudara balita tersebut, bahwa benda yang berbentuk seperti itu disebut meja. Hal yang sama juga dilakukan pada sistem pengenalan pola tersebut, perlu dilakukan learning.
Proses learning yang baik memiliki performansi yang optimal, dapat berupa akurasi yang tinggi dalam mengenali pola ataupun error rate antara target dan output yang diharapkan pada MLP seminimal mungkin. Ada berbagai macam variasi algoritma yang digunakan untuk mendapatkan learning yang baik, salah satunya menggunakan Nature-Inspired Metaheuristric Algorithm. Salah satu Nature-Inspired Metaheuristric Algorithm yang dikemukakan oleh Dr. Xin-She Yang dan Suash Deb, sekitar Desember 2009, untuk masalah optimasi yang disebut Cuckoo Search (CS). Algoritma ini menggunakan teori Lévy Flights di dalam prosesnya. Berdasarkan [11] CS memiliki akurasi yang lebih baik jika dibandingkan dengan Genetic Algorithm (GA) dan Particle Swarm Optimisation (PSO) untuk beberapa fungsi objektif yang diuji. Sedangkan pada kasus pengenalan image menggunakan MLP, CS berperan sebagai learning algorithm untuk MLP. Sumber terbaru yang menguatkan bahwa CS dapat diimplementasikan pada MLP dengan hasil yang baik yaitu pada [8] yang menghasilkan rata-rata akurasi training 96.91% dan 92.14% untuk dua studi kasus berbeda. Berdasarkan hasil pada [8] tersebut, maka dalam tugas akhir (TA) ini akan dibangun sistem yang dapat mengenali pola karakter numerik hasil dari tulisan tangan yang menerapakan metode MLP menggunakan CS sebagai algoritma pembelajaran untuk meningkatkan akurasi learning dari MLP.
2
1.2 Perumusan Masalah
Rumusan masalah pada TA ini adalah bagaimana menganalisis dan mengimplementasikan CS pada MLP sebagai algortima learning alternatif untuk meng-update bobot serta bagaimana setting parameter CS yang baik sehingga dapat menghasilkan MLP yang memiliki performansi tinggi dalam mengenali tulisan tangan karakter numerik.
Batasan masalah pada tugas akhir ini sebagai berikut :
1. Studi kasus yang digunakan pada tugas akhir ini yaitu image karakter numerik 0 sampai 9 hasil scanning tulisan tangan 30 individu, dimana tiap individu menuliskan numerik 0 sampai 9 sebanyak satu kali.
2. Sebelum data digunakan oleh MLP, dilakukan tahap preprocessing, antara lain croping untuk mendapatkan tiap karakter numerik. Tiap karakter numerik di-crop menjadi 150 pixel x 150 pixel.
3. Setelah tahap preprocessing, dilakukan tahap feature extraction menggunakan Principal Component Analysis (PCA) untuk mendapatkan komponen prinsip dari image tersebut. PCA tidak dianalisis lebih dalam, hanya digunakan sebagai ”tool” untuk mendapatkan input bagi MLP.
4. Optimasi yang akan dilakukan oleh CS, optimasi secara evolusi, yaitu optimasi bobot dari MLP, bukan optimasi arsitektur MLP, seperti banyaknya jumlah input layer, jumlah hidden layer, serta jumlah output layer. Arsitektur (banyaknya jumlah layer) sudah ditentukan diawal, input layer, hidden layer, dan output layer masing-masing berjumlah satu serta arsitektur MLP, seperti jumlah neuron input, jumlah neuron hidden, dilakukan dengan cara trial- error.
1.3 Tujuan
Tujuan yang ingin dicapai pada tugas akhir ini yaitu mengetahui arsitektur MLP (jumlah neuron input dan jumlah neuron hidden) yang sesuai pada studi kasus TA ini, menerapkan CS, mengetahui setting parameter CS untuk diimplementasikan pada MLP sehingga MLP memiliki bobot yang menghasilkan akurasi training dan akurasi testing yang maksimal, dalam artian setidaknya mendekati hasil pada [8].
1.4 Metodologi Penyelesaian Masalah a. Studi Literatur
Mencari, mengumpulkan, memahami, serta menganalisis referensi dan literatur yang relevan berkaitan dengan image recognition, JST, khususnya MLP, serta Cuckoo Search.
b. Observasi
- Analisis input:
Data yang diinputkan berupa image yang mungkin terdapat noise dan sebagainya, maka perlu dilakukan preprocessing.
- Analisis proses:
Arstitektur MLP yang dibangun harus ditentukan diawal, sehingga proses optimasi yang dilakukan menjadi lebih mudah. Proses yang
Fakultas Teknik Informatika Program Studi S1 Teknik Informatika
terjadi pada sistem yang akan dibangun meliputi: preprocessing data, feature extraction, dan update bobot MLP oleh CS.
- Analisis output:
Output yang dihasilkan oleh sistem berupa tingkat akurasi sistem dalam mengenali numerik yang telah diuji.
c. Pengembangan - Pemodelan:
Data berupa image akan dimodelkan berupa matriks 2 dimensi, dimana setiap baris menunjukkan satu data karakter numerik dan kolom menunjukkan dimensi data masing karakter numerik.
- Desain:
Mendesain tahap-tahap sistem yang akan dibangun berupa preprocessing (penyesuaian dimensi data menjadi 150 pixel x 150 pixel, mengubah format image menjadi gray scale), feature extraction (reduksi dimensi yang tidak diperlukan), dan training MLP menggunakan CS (update bobot MLP menggunakan algoritma CS).
- Coding:
Coding preprocessing data untuk mendapatkan input bagi PCA.
Coding PCA modified untuk feature extraction.
Coding CS untuk meng-update bobot MLP.
- Analisis hasil implemenasi:
Melakukan pengujian sistem yang telah dibangun menggunakan data uji kemudian dilakukan analisis hasil yang didapatkan, seperti jumlah neuron pada hidden layer yang sesuai hasil optimasi yang didapatkan, bobot yang menghasilkan akurasi learining yang tinggi, serta setting parameter CS yang baik untuk kasus pengenalan tulisan tangan karakter numerik.
d. Penyusunan Laporan
Menyusun dokumentasi TA, antara lain buku TA, jurnal TA, dan poster TA.
38
5. Simpulan dan Saran
5.1 Simpulan
Dari hasil observasi dan percobaan yang telah dilakukan, didapatkan beberapa kesimpulan, antara lain:
a. Komposisi data training yang lebih banyak daripada data validasi dan data testing cenderung menghasilkan akurasi testing yang lebih baik. Hasil secara keseluruhan dari tiga skenario yang telah diujikan, yaitu skenario ke-1: rata- rata akurasi training = 94.71%, rata-rata akurasi validasi = 87.74% dan rata- rata akurasi testing = 84.70%, skenario ke-2: rata-rata akurasi training = 95.79%, rata-rata akurasi validasi = 82.67% dan rata-rata akurasi testing = 81.03%, dan skenario ke-3: rata-rata akurasi training = 95.86%, rata-rata akurasi validasi = 81.93% dan rata-rata akurasi testing = 80.75%.
b. Arsitektur MLP dan parameter CS yang menghasilkan akurasi rata-rata testing terbaik yang telah didapatkan pada tugas akhir ini untuk tiap skenario percobaan adalah:
Skenario 1: ni = 9; nh = 35; nest = 35; pa = 0.55; rate = 0.01;
Skenario 2: ni = 9; nh = 65; nest = 10; pa = 0.25; rate = 0.01;
Skenario 3: ni = 9; nh = 65; nest = 15; pa = 0.85; rate = 0.01;
Sedangkan, parameter terbaik berdasarkan rata-rata dari semua skenario yaitu menggunakan:
ni = 9; nh = 35; nest = 35; pa = 0.85; rate = 0.01;
c. Jumlah nest yang lebih besar cenderung menghasilkan akurasi yang lebih baik jika dibandingkan dengan jumlah nest yang lebih sedikit. Tetapi tidak selamanya terjadi demikian, adakalanya jumlah nest yang lebih kecil memiliki akurasi yang lebih baik, tergantung paramater lain, yaitu pa dan rate.
d. Algoritma learning yang menggunakan Nature-Inspired Metaheuristic Algorithm jika digunakan pada MLP, memiliki hasil yang cukup menjanjikan.
Solusi yang dihasilkan dengan proses yang ”cukup cepat” dan akurasi yang
”dapat diterima”, karena hanya menggunakan propagasi maju yaitu membandingkan individu yang sebelum di-update dan individu setelah di- update. Hasil yang didapatkan juga akan bertambah lebih baik lagi jika preprocessing data lebih bagus.
Fakultas Teknik Informatika Program Studi S1 Teknik Informatika
5.2 Saran
Saran untuk beberapa penelitian selanjutnya adalah sebagai berikut:
a. Preprocessing diperbaiki, lebih detail, salah satunya teknik pengambilan data mentah meliputi: kualitas tinta diusahakan seragam dengan ujung alat tulis tidak terlalu tajam supaya hasil tulisan yang didapat tidak terlalu tipis.
b. Menggunakan ekstraksi fitur lain, misalnya LDA atau kombinasi antara PCA dan LDA supaya diperoleh hasil yang lebih baik. Untuk ekstraksi fitur LDA dan PCA dapat menjadi topik TA tersendiri, yaitu membandingkan hasil kedua metode tersebut berdasarkan cara pengambilan matriks proyeksi untuk diproyeksikan terhadap dataset, misalnya data dibagi menjadi tiga bagian, data training, data testing, dan data validasi. Selama ini cara pengambilan matriks proyeksi untuk dataset, tidak sama. Pengambilan matriks proyeksi ada yang dilakukan dengan cara mengambil dari data training, kemudian matriks proyeksi tersebut diproyeksikan terhadap data validasi dan data testing. Cara lain untuk mendapatkan matriks proyeksi yaitu dengan cara mengambil dari dataset kemudian matriks proyeksi tersebut diproyeksikan terhadap data training, data validasi, dan data testing.
c. Dapat dilakukan pengujian lain yaitu menguji hasil implementasi Nature- Inspired Metaheuristic Algorithm untuk update bobot MLP, salah satunya Bat Algorithm, lebih baru daripada CS, untuk studi kasus yang sama atau lebih kompleks, semisal pengenalan plat mobil atau motor atau pengenalan nomor rekening listrik digital.
d. Bagi Anda yang membaca TA ini: if you are interesting about envolving ANN, specially this topic, and want to discuss more about it or send advice to me, please contact via email: [email protected] or [email protected] . Insya Alloh i’ll reply your email if i can answer it.
Remember friend, there are no accident. Thank for reading my TA. Hope you success with your own TA
40
Daftar Pustaka
[1] Antonov, Anton, Stokke, B.G., Moksnes, Arne, & Roeskaft, Eivin. 2008.
Does the cuckoo benefit from laying unusually strong eggs?. Animal Behaviour.
[2] Firmanto, Ari. 2011. Implementasi Principal Component Analysis dan Backpropagation Neural Network dalam Pengklasifikasian Terjemahan Ayat-Ayat Ilmu Pengetahuan dalam Alquran. Bandung: Institut Teknologi Telkom.
[3] Hartanto, Taufan. 2011. Pemecahan Cutting Stock Problem Menggunakan Cuckoo Search via Lévy Flights. Bandung: Institut Teknologi Telkom.
[4] Payne, R.B., Sorenson, M.D., & Klitz, K. 2005. The Cuckoos. Oxford University Press.
[5] Pinkus, A. 1999. Approximation theory of the MLP model in neural networks. Acta Numerica, 8, 143-196.
[6] Suyanto. 2008. Evolutionary Computation Komputasi Berbasis “Evolusi”
dan “Genetika”. Bandung: Informatika Bandung.
[7] Suyanto.2008. Soft Computing Membangun Mesin Ber-IQ Tinggi.
Bandung: Informatika Bandung.
[8] Valian, Ehsan, Shahram Mohanna and Saeed Tavakoli. 2011. Improved Cuckoo Search Algorithm for FeedForward Neural Network Training.
[9] Wikipedia. Lévy flight. Diperoleh dari
http://en.wikipedia.org/wiki/L%C3%A9vy_flight, 13 November 2011.
[10] Yambor, Wendy S. 2000. Analysis of PCA-Based and Fisher Discriminant-Based Image Recognition Algorithms. Colorado State University: Computer Science Department.
[11] Yang, X.S. and Deb, Suash. 2009. Cuckoo Search via Levy Flights.
[12] Yang, X.S and Deb, Suash. 2010. Engineering Optimisation by Cuckoo Search.
[13] Yang, X. S. 2010. Nature-Inspired Metaheuristic Algorithms. Second Edition. Luniver Press.
Powered by TCPDF (www.tcpdf.org)
Fakultas Teknik Informatika Program Studi S1 Teknik Informatika