Penerapan Metode Active Learning pada Klasifikasi Pola Berbasis Contoh
-
Upload
setyo-nugroho -
Category
Documents
-
view
5.093 -
download
3
description
Transcript of Penerapan Metode Active Learning pada Klasifikasi Pola Berbasis Contoh
Seminar Nasional Teknologi Informasi 2005 1
PENERAPAN METODE ACTIVE LEARNING PADA
KLASIFIKASI POLA BERBASIS CONTOH
Setyo Nugroho 1)
Agus Harjoko 2)
1)
Jurusan Teknik Informatika, STMIK STIKOM Balikpapan
Jl. Kapten P Tendean 2A, Balikpapan 76111 Indonesia email : [email protected]
2) Program Pascasarjana Ilmu Komputer, Universitas Gadjah Mada
Yogyakarta, Indonesia email : [email protected]
ABSTRACT Pada pengklasifikasi pola hasil pembelajaran berbasis
contoh, kelengkapan training data set (contoh data
pelatihan) memegang peran penting dalam menentukan
kualitas pengklasifikasi pola yang dihasilkan. Salah satu
kesulitan dalam sistem pembelajaran berbasis contoh ini
adalah memilih data mana yang akan digunakan sebagai
training data set dari sejumlah besar data contoh yang
tersedia.
Metode active learning dapat membantu mengatasi hal
ini dengan cara melakukan seleksi secara otomatis data
mana yang akan digunakan sebagai bagian dari training
data set. Dengan demikian jumlah data yang digunakan
untuk pelatihan dapat diminimalkan dan hanya data yang
benar-benar perlu saja yang akan digunakan sebagai
training data set untuk proses pembelajaran.
Pada penelitian ini dilakukan eksperimen untuk
menerapkan metode active learning pada jaringan syaraf
tiruan yang disusun untuk menghasilkan sistem pendeteksi
wajah manusia pada citra digital. Hasil eksperimen
menunjukkan bahwa metode active learning dapat
mengurangi jumlah data yang diperlukan untuk proses
training.
Key words active learning, deteksi wajah, jaringan syaraf tiruan,
klasifikasi pola
1. Pendahuluan
Pada pengklasifikasi pola yang diperoleh dari
pembelajaran dengan berbasis contoh (example-based
learning), kelengkapan contoh data pelatihan (training
data set) memegang peranan yang sangat penting dalam
menentukan kualitas pengklasifikasi pola yang dihasilkan.
Salah satu kesulitan yang dihadapi dalam sistem
pembelajaran berbasis contoh ini adalah memilih data
mana yang akan digunakan sebagai training data set dari
sejumlah besar data contoh yang tersedia. Semakin
lengkap data contoh yang digunakan semakin bagus juga
sistem yang diperoleh. Namun semakin besar jumlah
training data set, semakin besar juga waktu dan biaya
komputasi yang diperlukan untuk pelatihan.
Pada penelitian ini dilakukan eksperimen untuk
menerapkan metode active learning pada jaringan syaraf
tiruan yang dilatih dengan menggunakan algoritma
Quickprop untuk menghasilkan sistem pendeteksi wajah
manusia pada citra digital.
2. Klasifikasi Pola
Tujuan dari klasifikasi pola adalah untuk memberikan
keputusan terhadap suatu pola masukan untuk
diklasifikasikan ke dalam salah satu kelas yang ada.
Deteksi wajah dapat dipandang sebagai masalah
klasifikasi pola dimana dengan input berupa citra masukan
akan ditentukan output berupa label kelas dari citra
tersebut. Dalam hal ini terdapat dua label kelas, yaitu
wajah dan non-wajah [12].
2.1 Active Learning
Penelitian tentang metode active learning antara lain
telah dilakukan oleh Hasenjager [6], Plutowski dan White
[7], Cohn, Atlas, dan Ladner [2], Zhang [15], Adejumo
dan Engelbrecht [1], Sung [12] dan Vijayakumar[13].
Sedangkan penelitian tentang penerapan metode active
learning untuk deteksi wajah telah dilakukan oleh Sung
[12] dan Rowley [8].
Dalam active learning atau query learning, pelajar
(student) ikut berperan aktif dalam memilih contoh data
yang akan digunakan untuk training, sedangkan dalam
pelatihan tradisional atau passive learning pelajar hanya
menerima contoh data secara pasif. Tujuan dari active
learning adalah untuk menghasilkan training data set yang
Seminar Nasional Teknologi Informasi 2005 2
sesedikit mungkin namun memiliki nilai informasi yang
tinggi. Hal ini sangat berguna dalam keadaan di mana
tersedia data contoh yang jumlahnya sangat banyak,
sedangkan sebagian data tersebut mungkin bersifat
redundan, sehingga membuat proses training menjadi tidak
efisien [6].
2.2 Supervised Learning dengan Multi-Layer
Perceptron
Salah satu metode yang banyak digunakan untuk
klasifikasi pola adalah dengan menggunakan jaringan
syaraf tiruan. Jaringan syaraf tiruan adalah suatu sistem
pemrosesan informasi yang cara kerjanya memiliki
kesamaan tertentu dengan jaringan syaraf biologis [5].
Multi-Layer Perceptron adalah jaringan syaraf tiruan
feed-forward yang terdiri dari sejumlah neuron yang
dihubungkan oleh bobot-bobot penghubung. Neuron-
neuron tersebut disusun dalam lapisan-lapisan yang terdiri
dari satu lapisan input (input layer), satu atau lebih lapisan
tersembunyi (hidden layer), dan satu lapisan output
(output layer). Lapisan input menerima sinyal dari luar,
kemudian melewatkannya ke lapisan tersembunyi pertama,
yang akan diteruskan sehingga akhirnya mencapai lapisan
output.
Setiap neuron i di dalam jaringan adalah sebuah unit
pemrosesan sederhana yang menghitung nilai aktivasinya
yaitu si terhadap input eksitasi yang juga disebut net input
neti.
∑∈
−=
)(ipredj
iijji wsnet θ (1)
dimana pred(i) melambangkan himpunan predesesor dari
unit i, wij melambangkan bobot koneksi dari unit j ke unit
i, dan θ i adalah nilai bias dari unit i.
Tujuan dari pembelajaran supervised learning adalah
untuk menentukan nilai bobot-bobot koneksi di dalam
jaringan sehingga jaringan dapat melakukan pemetaan
(mapping) dari input ke output sesuai dengan yang
diinginkan. Pemetaan ini ditentukan melalui satu set pola
contoh atau data pelatihan (training data set).
Setiap pasangan pola p terdiri dari vektor input xp dan
vektor target tp. Setelah selesai pelatihan, jika diberikan
masukan xp seharusnya jaringan menghasilkan nilai output
tp. Besarnya perbedaan antara nilai vektor target dengan
output aktual diukur dengan nilai error yang disebut juga
dengan cost function:
∑∑∈
−=
Pp n
pn
pn stE
2)(
2
1 (2)
di mana n adalah banyaknya unit pada output layer.
Tujuan dari training ini pada dasarnya sama dengan
mencari suatu nilai minimum global dari E.
Salah satu algoritma pelatihan jaringan syaraf tiruan
yang banyak dimanfaatkan dalam bidang pengenalan pola
adalah backpropagation. Algoritma ini umumnya
digunakan pada jaringan syaraf tiruan yang berjenis multi-
layer feed-forward, yang tersusun dari beberapa lapisan
dan sinyal dialirkan secara searah dari input menuju
output. Secara matematis, ide dasar dari algoritma
backpropagation ini sesungguhnya adalah penerapan dari
aturan rantai (chain rule) untuk menghitung pengaruh
masing-masing bobot terhadap fungsi error [9].
Algoritma Quickprop merupakan pengembangan dari
algoritma backpropagation yang diusulkan oleh Fahlman
[4]. Pada algoritma Quickprop dilakukan pendekatan
dengan asumsi bahwa kurva fungsi error terhadap masing-
masing bobot penghubung berbentuk parabola yang
terbuka ke atas, dan gradien dari kurva error untuk suatu
bobot tidak terpengaruh oleh bobot-bobot yang lain.
Dengan demikian perhitungan perubahan bobot hanya
menggunakan informasi lokal pada masing-masing bobot.
Eksperimen dengan masalah XOR dan encoder/decoder
oleh Fahlman [4], dan eksperimen dari Schiffmann [10]
menunjukkan bahwa algoritma Quickprop dapat
meningkatkan kecepatan training.
3. Cara Penelitian
Dalam penelitian ini digunakan data yang terdiri dari
satu set citra untuk pelatihan (training data set) dan satu
set citra untuk pengujian (testing data set). Untuk data
pelatihan digunakan citra wajah berukuran 20x20 pixel
sebanyak 3000 buah. Sedangkan untuk citra non-wajah
diperoleh dari file-file citra yang tidak terdapat wajah
manusia di dalamnya.
Sistem ini menggunakan jaringan syaraf tiruan (JST)
dengan arsitektur yang diadaptasi dari penelitian Rowley
[8], namun lebih disederhanakan. Lapisan input terdiri dari
400 unit input, yang menerima masukan dari nilai
grayscale pixel 20x20 dari subcitra yang akan dideteksi.
Lapisan output terdiri dari sebuah unit dengan nilai
keluaran berkisar antara –1 dan 1. Pada training data set
didefinisikan nilai 1 untuk data wajah dan –1 untuk data
non-wajah.
Lapisan tersembunyi (hidden layer) terdiri dari total
25+16=41 unit. Bagian pertama terhubung dengan lapisan
input yang membentuk 25 area berukuran 4x4 pixel.
Bagian kedua terhubung dengan lapisan input yang
membentuk 16 area berukuran 5x5 pixel. Secara
keseluruhan jaringan ini memiliki 883 bobot penghubung,
sudah termasuk bias. Jaringan ini lebih sederhana
dibandingkan dengan sistem [8] yang jumlah bobot
penghubungnya mencapai 4357.
3.1 Pelatihan dengan Metode Active Learning
Pelatihan dilakukan secara bertahap dengan
menggunakan metode active learning seperti yang
Seminar Nasional Teknologi Informasi 2005 3
digunakan oleh Sung [12] dan Rowley [8]. Selama
pelatihan digunakan semua data wajah yang ada sebanyak
3000 data wajah. Namun karena data non-wajah yang
tersedia sangat banyak, mencapai lebih dari satu milyar
data, maka dilakukan seleksi secara bertahap terhadap data
non-wajah.
Pada tahap pertama training digunakan 1000 data non-
wajah yang dipilih secara random. Pada setiap tahap
berikutnya, data training non-wajah ditambah sebanyak
200 data. Data tambahan tersebut diseleksi hanya untuk
data non-wajah yang belum dapat dideteksi dengan benar
oleh detektor hasil training tahap sebelumnya, yaitu data
non-wajah yang dideteksi sebagai wajah (false positive).
Dengan cara ini jumlah data training yang digunakan
untuk jaringan syaraf tiruan tidak terlalu besar, sehingga
memori yang diperlukan untuk pelatihan lebih kecil dan
waktu yang diperlukan untuk proses training juga lebih
singkat. Gambar 2 menunjukkan metode active learning
yang digunakan untuk sistem pendeteksi wajah.
3.2 Detektor Wajah
Bagian detektor wajah menggunakan arsitektur
jaringan syaraf yang sama dengan yang digunakan untuk
training. Bobot penghubung yang digunakan diambil dari
bobot terakhir yang dihasilkan pada proses training. Hasil
deteksi akan diputuskan sebagai wajah jika output dari
JST lebih dari 0, dan diputuskan sebagai non-wajah jika
output JST kurang dari atau sama dengan 0.
Posisi wajah bisa berada di mana saja pada citra yang
akan dideteksi. Untuk itu digunakan window berukuran
20x20 pixel yang akan digeser melalui seluruh daerah
citra. Daerah citra yang dilewati oleh window tersebut
akan diperiksa satu persatu apakah ada wajah atau tidak di
area tersebut.
Untuk mengantisipasi ukuran wajah yang bervariasi di
dalam citra yang dideteksi, citra diperkecil secara bertahap
dengan skala perbandingan 1:1,2 sebagaimana dilakukan
pada [8]. Pada setiap ukuran citra yang diperkecil, window
20x20 pixel akan digeser melalui seluruh area citra.
Sebelum digunakan sebagai training data set, citra
akan melalui tahap-tahap preprocessing berupa histogram
equalization untuk memperbaiki kontras citra, masking,
untuk menghilangkan bagian sudut-sudut citra dengan
tujuan mengurangi variasi citra sehingga memperkecil
dimensi data. Setelah itu dilakukan normalisasi pada nilai
intensitas grayscale citra sehingga memiliki range antara
-1 sampai dengan 1. Tahap-tahap preprocessing yang sama
juga dilakukan pada saat pendeteksian wajah. Gambar 3
menunjukkan contoh citra wajah yang telah mengalami
preprocessing.
4. Hasil Percobaan
Untuk mengukur unjuk kerja detektor wajah,
digunakan dua parameter, yaitu detection rate dan false
positive rate [14]. Detection rate adalah perbandingan
antara jumlah wajah yang berhasil dideteksi dengan
jumlah seluruh wajah yang ada. False positive rate adalah
banyaknya subcitra non-wajah yang dideteksi sebagai
wajah.
Pengujian dilakukan dengan data uji citra yang berasal
dari Massachusetts Institute of Technology (MIT) yang
terdiri dari 23 file citra yang secara keseluruhan berisi 149
wajah (data uji MIT-23). Kumpulan citra ini pertama kali
dipublikasikan pada [12]. Contoh hasil deteksi dapat
dilihat pada gambar 4. Pada data uji ini diperoleh hasil
detection rate sebesar 71,14% dan false positives
sebanyak 62. Hasil ini diperoleh dari training yang
menggunakan 3000 data wajah dan 5200 data non-wajah
yang diperoleh melalui metode active learning.
Tabel 1 dan gambar 5 menunjukkan pengaruh
banyaknya data training yang digunakan terhadap hasil
deteksi. Tabel ini berdasarkan hasil deteksi pada suatu
citra berisi 15 wajah dan memiliki total 790.797 window
yang dideteksi. Terlihat bahwa semakin banyak data
training non-wajah yang digunakan, semakin kecil angka
false positive yang dihasilkan. Hal ini menunjukkan bahwa
dengan data yang semakin lengkap, hasil belajar sistem
akan semakin baik.
Tabel 2 menunjukkan perbandingan antara hasil
training yang menggunakan metode active learning untuk
memilih contoh data non-wajah, dengan hasil training
yang menggunakan data yang dipilih secara random untuk
data non-wajah. Pada eksperimen pertama digunakan 3000
data wajah dan 3000 data non-wajah. Sedangkan pada
eksperimen kedua digunakan 3000 data wajah dan 5200
data non-wajah. Terlihat bahwa teknik active learning
memberikan hasil yang lebih baik.
5. Kesimpulan dan Saran
Dari penelitian ini dapat diambil kesimpulan bahwa
pada sistem pendeteksi wajah, metode active learning
dapat digunakan untuk memilih data contoh yang lebih
tepat, sehingga meminimalkan jumlah data training yang
digunakan.
Pada penelitian ini seleksi data training hanya
dilakukan pada contoh data non wajah karena jumlahnya
jauh lebih banyak daripada contoh data wajah. Untuk
penelitian selanjutnya seleksi data training mungkin dapat
digunakan juga pada contoh data wajah.
Seminar Nasional Teknologi Informasi 2005 4
REFERENSI [1] A. Adejumo, A.P. Engelbrecht, 1999, “A Comparative
Study of Neural Network Active Learning Algorithms”,
Proceedings of the International Conference on Artificial
Intelligence, 32-35.
[2] D. A. Cohn, L. Atlas, R.E. Ladner, ”Improving
generalization with active learning", 1994, Machine
Learning 15(2), 201-221.
[3] A. P. Engelbrecht, 2001, “Selective Learning for Multilayer
Feedforward Neural Networks”, International Work-
Conference on Artificial and Natural Neural Networks,
IWANN 2001: 386-393.
[4] S.E. Fahlman, 1988, “An Empirical Study of Learning
Speed in Back-Propagation Networks”, Technical Report
CMU-CS-88-162, Carnegie Mellon University, USA.
[5] L. Fausett, 1994, “Fundamentals of Neural Networks:
Architectures, Algorithms, and Applications”, Prentice-Hall
Inc., USA.
[6] M. Hasenjager, H. Ritter, 2002, “Active Learning in Neural
Networks”, New Learning Paradigms in Soft Computing,
Springer, Berlin.
[7] M. Plutowski, H. White, 1993, “Selecting concise training
sets from clean data”, IEEE Transactions on Neural
Networks, 4, 305-318 (1993).
[8] H. Rowley, S. Baluja, T. Kanade, 1998, “Neural Network-
Based Face Detection”, IEEE Trans. Pattern Analysis and
Machine Intelligence, vol. 20, no. 1.
[9] D.E. Rumelhart, G.E. Hinton, R.J. Williams, 1986,
“Learning Internal Representations by Error Propagation”,
Parallel Distributed Processing, chapter 8, MIT Press,
Cambridge, MA.
[10] W. Schiffmann, M. Joost, R. Werner, 1993, “Comparison
of Optimized Backpropagation Algorithms”, Proc. of the
European Symposium on Artificial Neural Networks
(ESANN) ’93, Brussels.
[11] K.K. Sung, 1996, “Learning and Example Selection for
Object and Pattern Detection”, AITR 1572, Massachusetts
Institute of Technology AI Lab.
[12] K.K. Sung, T. Poggio, 1994, “Example-Based Learning for
View-Based Human Face Detection”, Technical Report AI
Memo 1521, Massachusetts Institute of Technology AI Lab.
[13] S. Vijayakumar, H. Ogawa, February 1999, “Improving
generalization ability through active learning”, IEICE
Transactions on Information and Systems, Vol. E82D No.2,
480-487.
[14] M.H. Yang, D. Kriegman, N. Ahuja, 2002, “Detecting
Faces in Images: A Survey”, IEEE Trans. Pattern Analysis
and Machine Intelligence, vol. 24, no. 1.
[15] B. T. Zhang, 1994, “Accelerated Learning by Active
Example Selection”, International Journal of Neural
Systems, 5(1), 67-75.
Setyo Nugroho, memperoleh gelar ST dari ITS (Institut
Teknologi Sepuluh Nopember) Surabaya di bidang Teknik
Elektro - Komputer pada tahun 1998, dan MKom dari UGM
(Universitas Gadjah Mada) Yogyakarta di bidang Ilmu
Komputer pada tahun 2004. Saat ini sebagai staf pengajar di
Jurusan Teknik Informatika, STMIK STIKOM Balikpapan.
Agus Harjoko, memperoleh gelar Drs dari UGM (Universitas
Gadjah Mada) Yogyakarta dalam bidang Elektronika dan
Instrumentasi pada tahun 1986. Gelar M.Sc. dan Ph.D. diperoleh
pada tahun 1990 dan 1996 dari University of New Brunswick,
Canada dalam bidang Computer Science. Saat ini bekerja
sebagai staff akademik pada program studi Elektronika dan
Instrumentasi, Universitas Gadjah Mada, Yogyakarta.
Tabel 1 Pengaruh Jumlah Data Training
pada Unjuk Kerja Deteksi Wajah
Jumlah data training
wajah non-
wajah total
Detect
ion
Rate
False
Positive
1000 1000 2000 15/15 42
1000 1200 2200 15/15 32
1000 1400 2400 15/15 31
1000 1600 2600 15/15 24
1000 1800 2800 15/15 23
1000 2000 3000 15/15 19
1000 2200 3200 15/15 10
1000 2400 3400 15/15 5
1000 2600 3600 15/15 4
1000 2800 3800 15/15 2
1000 3000 4000 15/15 2
1000 3200 4200 15/15 2
1000 3400 4400 15/15 2
1000 3600 4600 15/15 1
1000 3800 4800 15/15 1
1000 4000 5000 15/15 1
Tabel 2 Hasil Kinerja Metode Active Learning
Seleksi Data secara
Random
Seleksi Data
dengan Active
Learning
Jumlah
Data
Training
Detection
Rate
False
Positive
Detection
Rate
False
Positive
6000 62,42% 1160 71,14% 201
8200 63,76% 732 71,14% 62
Seminar Nasional Teknologi Informasi 2005 5
Gambar 1 Arsitektur jaringan syaraf tiruan untuk sistem pendeteksi wajah
Gambar 2 Teknik active learning untuk sistem pendeteksi wajah
Gambar 3 Contoh citra wajah yang telah mengalami proses
resizing, histogram equalization, dan masking
Gambar 4 Contoh hasil deteksi
Gambar 5 Grafik false positive terhadap
jumlah contoh data non-wajah dari tabel 1
False Positive Hasil Deteksi
JST Detektor Wajah
Training JST
Data Training untuk JST
Bobot JST Hasil Training
Pilih random
Koleksi Contoh Data Non-Wajah
Koleksi Contoh
Data Wajah
Hidden Layer
Input Layer
grid 5x5 pixel
input 20x20 pixel
grid 4x4
Output
0
5
10
15
20
25
30
35
40
45
1000
1200
1400
1600
1800
2000
2200
2400
2600
2800
3000
3200
3400
3600
3800
4000
Jumlah data non-wajah
Fals
e P
osit
ive