Sidang Tugas Akhir September 2009 Implementasi Metode Ant Colony Optimization untuk Pemilihan Fitur pada Kategorisasi Dokumen Teks DOSEN PEMBIMBING Chastine Fatichah, S.Kom, M.Kom MAHASISWA Yudis Anggara P. (5105.100.153)
Latar Belakang Internet menjadi sumber informasi utama Dokumen Teks yang semakin banyak ex. Blog, online paper, etc. Perlu kategorisasi agar memudahkan pencarian. Dimensi feature space pada dokumen teks sangat besar Jumlah fitur yang digunakan dalam kategorisasi harus dikurangi.
Tujuan Mengurangi dimensi feature space tanpa mengurangi akurasi classifier. Membuat suatu classifier yang dapat dipakai untuk menguji feature subset yang dihasilkan.
Pemilihan Fitur Jumlah fitur harus dikurangi agar classifier dapat berjalan secara efisien Fitur-fitur pada feature space tidak semuanya berguna. Akurasi classifier tidak boleh turun secara signifikan Metode yang digunakan, antara lain conformity dan uniformity, ant colony optimization
Ant Colony Optimization (ACO) Terinspirasi dari kehidupan koloni semut. Salah satu cabang swarm intelligence. Memanfaatkan pheromone sebagai media pertukaran informasi antar agent. Menggunakan heuristic information untuk mencapai tujuan lokal. Menggunakan mekanisme positive feedback dan pheromone evaporation untuk mencapai tujuan global.
ACO (Cont.)
Pemilihan Fitur Berbasis ACO Konsep: Menggunakan proses iteratif untuk membuat feature subset. Heuristic information yang digunakan adalah classifier performance. Mekanisme positive feedback dan pheromone evaporation diimplementasikan pada akhir iterasi.
Pemilihan Fitur Berbasis ACO 1. Membuat representasi graph Graph harus fully connected, tiap vertex merepresentasikan fitur dan mengandung informasi heuristic information dan nilai pheromone.
Cont. 2. Inisialisasi awal sistem ACO Untuk tiap fitur, nilai pheromone = 1, dan heuristic information = 0 3. Pembuatan feature subset Tiap ant memulai dengan memilih satu fitur secara acak, kemudian peluang suatu fitur dipilih berikutnya adalah:
Cont. Rumus diatas digunakan untuk menghitung Rumus diatas digunakan untuk menghitung peluang sebuah fitur i dipilih oleh seekor ant k pada langkah t. adalah nilai pheromone dan adalah heuristic information.
Cont. 4. Menghitung pheromone tiap ant Pheromone yang dihasilkan oleh tiap ant dihitung setelah semua ant selesai membuat feature subset, rumusnya: Dimana adalah feature subset yang dihasilkan oleh ant k pada iterasi t, adalah panjangnya dan adalah akurasinya
Cont. 5. Memeriksa jumlah iterasi Apabila iterasi sudah mencapai maksimum iterasi maka sistem dihentikan dan feature subset dari best ant dihasilkan sebagai output. Jika belum, maka dilanjutkan ke langkah 6.
Cont. 6. Mengupdate jumlah pheromone tiap fitur. Pheromone yang dihasilkan oleh seekor ant k ditambahkan ke semua fitur yang dipilih oleh ant k tersebut. Setelah semua ant selesai menambahkan pheromone-nya, kemudian best ant menambahkan pheromone-nya sekali lagi.
Cont. 7. Generate populasi ant baru Mulai melakukan pemilihan fitur pada iterasi selanjutnya, kembali ke langkah 3 dan dilakukan seterusnya sampai mencapai iterasi maksimum.
Nearest Neighbourhood Classifier (NN-Classifier) Mengategorisasikan suatu obyek kedalam kategori obyek lain yang paling mirip dengannya. Kemiripan suatu obyek dengan obyek lainnya ditentukan dengan menghitung jarak antar obyek. Pada kategorisasi teks, kemiripan suatu dokumen dengan dengan dokumen lain dinyatakan dengan similarity.
Cont. 1. Membuat matriks vektor model Matriks vektor model adalah matriks bobot frekuensi dengan kolom menyatakan id term dan baris menyatakan dokumen.
Cont. 2. Mengategorisasi dokumen tes Tiap dokumen tes dihitung similaritynya terhadap semua dokumen train, dokumen tes dan dokumen train diperoleh dari matriks vektor model pada langkah 1
Implementasi ACO Bagan sistem pemilihan fitur ACO:
Cont. Input : Dataset yang digunakan harus memenuhi constraint sbb: Kolom memiliki format: 1. Id dokumen 2. Id kategori 3. Id term 4. Frekuensi term Id fitur dan id dokumen harus urut Dokumen training adalah dokumen pada id 1 n, sedangkan dokumen tes adalah dokumen pada id n+1 max dokumen Output : Output yang dihasilkan adalah feature subset berupa kumpulan Id term yang disimpan dalam bentuk vektor.
Implementasi Subsistem ACO 1. Inisialisasi Subsistem Deklarasi variabel-variabel yang digunakan, termasuk struktur data penyimpanan feature subset, pheromone, dan akurasi feature subset.
Cont. 2. Pembuatan feature subset Pada langkah ini, semua ant pada sebuah iterasi i mulai membentuk feature subset secara bergiliran. Pada iterasi pertama, feature subset dipilih secara acak, sedangkan pada iterasi selanjutnya menggunakan langkah sebagai berikut:
Cont. Hitung vektor heuristic Vektor heuristic adalah vektor yang tiap elemennya adalah nilai rata-rata akurasi dari id fitur yang sama dengan indeks tiap elemennya. Hitung peluang semua fitur. Pilih fitur dengan peluang terbesar
Cont. 2. Tiap kali seekor ant memilih satu fitur kemudian menambahkannya ke feature subset sebelumnya, feature subset yang baru tersebut dites akurasinya menggunakan subsistem NN-Classifier. Seekor ant berhenti memilih fitur apabila tidak mampu memperbaiki akurasi classifier sampai 40 kali berturut-turut.
Cont. 3. Setiap kali seekor ant selesai menghasilkan feature subset akhir dan akurasinya, dihitung jumlah pheromone yang dihasilkannya.
Cont. 4. Update pheromone tiap ant. Pada Tugas Akhir ini, digunakan dua metode untuk update pheromone. Metode pertama, pheromone yang dihasilkan tiap ant langsung ditambahkan ke fitur-fitur yang dipilih ant tersebut. Metode kedua, pheromone yang akan ditambahkan ke nilai pheromone pada iterasi sebelumnya adalah rata-rata nilai pheromone tiap fitur pada iterasi sekarang.
Cont. 4. Setelah pheromone tiap fitur diupdate, ditambahkan lagi dengan pheromone yang dihasilkan oleh best ant pada tiap fitur yang dilewatinya. Hal ini bertujuan agar best feature subset memiliki peluang terpilih lebih besar pada iterasi selanjutnya memilih.
Implementasi Subsistem NN- Classifier 1. Membuat matriks vektor model Matriks vektor model dibuat dengan cara memetakan dataset menjadi format vektor model. 2. Matriks data train adalah dokumen pada matriks vektor model dengan id dokumen 1 sampai id dokumen n dimana n adalah jumlah dokumen training yang diinginkan, dokumen sisanya pada matriks vektor model menjadi dokumen tes.
Cont. 3. Mengategorisasi tiap dokumen tes. Tiap dokumen tes dihitung similaritynya terhadap semua dokumen train, dokumen train yang digunakan adalah dokumen train pada langkah 2 yang sudah dikurangi fiturnya sesuai dengan feature subset yang diinputkan.
Cont. 4. Menghitung akurasi feature subset yang dihasilkan dengan rumus: jumlah dokumen tes yang dikategorisasi benar x 100% jumlah semua dokumen tes
Uji Coba Data input adalah dataset dari Tugas AkhirYuliyanti (TC angkatan 2004). Jumlah fitur pada dataset sebanyak 6522 fitur dan jumlah dokumen 207 dokumen yang dibagi menjadi 16 kategori. Parameter input sistem: Parameter max_iterasi 50 Nilai jml_ant 40 α 1 β 1 ρ 0.2 Ф 0.8 jml_dok_training 129
Skenario Uji Coba Skenario I: Update pheromone menggunakan metode pertama. Skenario II:Update pheromone menggunakan metode kedua. Proses tiap skenario digambarkan melalui scatter plot id ant vs pheromone yang dihasilkan. Scatter plot digambarkan tiap 10 iterasi. Pheromone dipilih sebagai indikator pengamatan karena jumlah pheromone yang dihasilkan oleh seekor ant dapat menunjukkan kualitas feature subset yang dihasilkannya.
Pelaksanaan Skenario I iterasi 1 Pada gambar diatas tiap ant pada iterasi 1 memilih feature secara acak dan menghasilkan nilai pheromone yang bervariasi antara 45-91.
Pelaksanaan Skenario I iterasi 10 Pada gambar diatas tiap ant mulai konvergen dalam memilih feature, dan rentang nilai pheromone yang dihasilkan mulai mengecil antara 65,5-67,5.
Pelaksanaan Skenario I iterasi 20 Pada gambar diatas terjadi anomali dimana konvergensi ant dalam memilih feature semakin berkurang dibandingkan dengan gambar sebelumnya, hal ini ditunjukkan dengan rentang nilai pheromone yang semakin besar, antara 65-76.
Pelaksanaan Skenario I iterasi 30 Pada gambar diatas pheromone yang dihasilkan oleh ant pada iterasi ini meningkat pesat dengan rentang nilai antara 75-86 namun konvergensi berkurang ditunjukkan dengan grafik scatter yang makin menyebar.
Pelaksanaan Skenario I iterasi 40 Pada gambar diatas konvergensi ant menguat dibandingkan gambar sebelumnya namun terjadi penurunan nilai maksimum pheromone dibandingkan gambar sebelumnya, dari 86 menjadi 76.5.
Pelaksanaan Skenario I iterasi 50 Pada gambar diatas terjadi anomali pada id ant 23, dimana jumlah pheromone yang dihasilkan jauh lebih sedikit dibandingkan ant lainnya.
Pelaksanaan Skenario II iterasi 1 Pada gambar diatas ant memilih feature secara random dan nilai pheromone yang dihasilkan memiliki rentang antara 53-90.
Pelaksanaan Skenario II iterasi 10 Pada gambar diatas ant mulai memilih secara konvergen dan nilai pheromone yang dihasilkan meningkat pesat dibandingkan gambar sebelumnya dengan rentang nilai antara 75-94.
Pelaksanaan Skenario II iterasi 20 Pada gambar diatas meskipun nilai maksimum pheromone yang dihasilkan lebih kecil dibandingkan gambar sebelumnya, namun nilai rata-rata pheromone tiap ant menjadi lebih besar karena hampir semua ant menghasilkan pheromone dengan nilai >92.
Pelaksanaan Skenario II iterasi 30 Pada gambar diatas meskipun tidak terjadi kenaikan nilai maksimum pheromone dibandingkan gambar sebelumnya namun rata-rata nilai pheromone yang dihasilkan semakin besar, hal ini bisa dilihat dari nilai minimum pheromone yang semakin besar.
Pelaksanaan Skenario II iterasi 40 Pada gambar diatas nilai rata-rata pheromone yang dihasilkan meningkat pesat dibandingkan gambar sebelumnya karena sebagian besar ant menghasilkan pheromone lebih dari 94,5.
Pelaksanaan Skenario II iterasi 50 Pada gambar diatas meskipun nilai rata-rata pheromone tidak bertambah secara signifikan, namun terjadi kenaikan nilai maksimum pheromone dibandingkan gambar sebelumnya, dari 94,7 menjadi 96.
Hasil Uji Coba Skenario I Best ant adalah ant dengan id ant 38 pada iterasi ke-5. Pheromone yang dihasilkan oleh best ant adalah 88,5675. Feature subset yang dihasilkan oleh best ant mengandung jumlah fitur sebanyak 718 fitur. Sehingga total pengurangan dimensi feature space oleh best ant adalah 88,9911%. Akurasi best feature subset adalah 88,462% Nilai minimum pheromone yang dihasilkan adalah 46,3692.
Hasil Uji Coba Skenario II Best ant adalah ant dengan id ant 6 pada iterasi ke-26. Pheromone yang dihasilkan oleh best ant adalah 95,9173. Feature subset yang dihasilkan oleh best ant mengandung jumlah fitur sebanyak 328 fitur. Sehingga total pengurangan dimensi feature space oleh best ant adalah 94,97% Akurasi best feature subset adalah 96,154%. Nilai minimum pheromone yang dihasilkan adalah 53,3248.
Evaluasi Hasil Uji Coba Tidak seperti pada skenario I yang cenderung stagnan, pada skenario II rata-rata pheromone yang dihasilkan oleh tiap ant terus meningkat. Hal ini dapat dilihat dari indikator mayoritas nilai pheromone yang dihasilkan, nilai maksimum pheromone dan nilai minimum pheromone yang terus meningkat pada tiap gambar.
Evaluasi (Cont.) Sistem Feature Selection pada skenario II lebih selektif dalam memilih fitur dibandingkan dengan skenario I, hal ini dapat dibuktikan dengan dimensi feature subset yang dihasilkan pada skenario II lebih kecil namun memiliki akurasi yang lebih besar daripada skenario I.
Evaluasi (Cont.) Update pheromone menggunakan metode II dapat memberikan hasil yang lebih baik daripada menggunakan metode I. Hal ini dikarenakan pada metode I, pheromone pada tiap fitur diupdate dengan cara ditambahi langsung oleh tiap ant yang memilihnya sehingga menyebabkan penambahan jumlah pheromone pada suatu fitur yang terlalu cepat. Penambahan jumlah pheromone pada suatu fitur yang terlalu cepat menyebabkan ant-ant terlalu cepat menjadi konvergen dalam memilih fitur pada iterasiiterasi awal. Padahal pada iterasi-iterasi awal, informasi yang disimpan pada vektor heuristic belum cukup banyak untuk bisa menentukan fitur-fitur mana yang representatif.
Kesimpulan Implementasi metode ACO dalam feature selection dapat mengurangi dimensi feature space sampai menjadi kurang dari 10% dari dimensi awal. Feature subset yang dihasilkan oleh sistem feature selection yang mengimplementasikan metode ACO dapat menghasilkan akurasi sampai 96%. Metode update pheromone yang lebih baik adalah menghitung nilai rata-rata pheromone tiap fitur terlebih dahulu baru kemudian ditambahkan ke nilai pheromone iterasi sebelumnya.
Saran Perlu dilakukan optimasi agar runtime sistem dapat selesai dalam waktu yang lebih singkat. Perlu dilakukan uji coba yang lebih mendalam untuk menentukan nilai parameter-parameter input yang dapat memberikan hasil yang lebih baik. Sistem feature selection perlu dicoba menggunakan dataset dan metode classifier yang lain.
Daftar Pustaka Mehdi Hosseinzadeh Aghdam, Nasser Ghassem Aghaee, Mohammad Ehsan Basiri. Text Feature Selection Using Ant Colony Optimization. Science Direct, March 2009. Yuliyanti. Fuzzy Support Vector Machine untuk Klasifikasi Multi Kelas pada Dokumen Berbahasa Indonesia. Institut Teknologi Sepuluh Nopember.2008. Andrea Roli. Ant Colony Optimization. AironewsVol.7 no.3 (Pages1-3), Autumn 2002. http://en.wikipedia.org/wiki/ant_colony_optimization.html http://en.wikipedia.org/wiki/k-nearest_neighbor_algorithm.html http://www.usenix.org/events/sec02/full_papers/liao/liao_html/node4.html