PENGEMBANGAN ALGORITMA CAT SWARM OPTIMIZATION (CSO) UNTUK KLASIFIKASI Nalendra Dhanasaputra, Budi Santosa Jurusan Teknik Industri Institut Teknologi Sepuluh Nopember (ITS) Surabaya Kampus ITS Sukolilo Surabaya 60111 Email:
[email protected];
[email protected]
Abstrak Baru-baru ini ditemukan satu algoritma baru dalam teknik optimasi yang meniru perilaku hewan. Algoritma baru ini diusulkan oleh Shu Chuan Chu (2006) dan diberi nama Cat Swarm Optimization (CSO). Algoritma ini memiliki sejumlah kelebihan dalam menyelesaikan permasalahan-permasalahan optimasi dibandingkan dengan teknik-teknik yang terdahulu seperti Particle Swarm Optimization (PSO) dan PSO with Weighting Factor. Dalam penelitian ini, CSO diterapkan dalam data mining, khususnya untuk kasus klasifikasi. Teknik klasifikasi yang digunakan dalam penelitian ini adalah dengan pendekatan Multiple Regression Linear Model (MRLM). Dalam klasifikasi menggunakan pendekatan MRLM, CSO diterapkan untuk mengestimasi koefisien dari MRLM. Algoritma CSO dapat menghasilkan klasifikasi yang lebih baik dalam hal jumlah iterasi yang dibutuhkan untuk mencapai titik optimal dan memiliki tingkat akurasi yang lebih baik dibanding metode yang ada sebelumnya. Kata kunci: Cat Swarm Optimization, Klasifikasi, Multiple Regression Linear Model.
Abstract Recently found a new algorithm optimization technique that mimics animal behavior. This new algorithm is proposed by Shu Chuan Chu (2006) and given the name Cat Swarm Optimization (CSO). This algorithm has a number of advantages in solving the problems of optimization techniques with tools such as Particle Swarm Optimization (PSO) and PSO with Weighting Factor. In this research, CSO is applied in data mining, particularly in the case of classification. Classification technique used in this research is Multiple Linear Regression Model (MRLM) approach. In the classification MRLM approach, CSO is applied to estimate coefficients of MRLM. With the CSO developed algorithm, which can produce better classification in terms of the number of iterations required to reach the optimal point and have a better level of accuracy than the previous method.
Keywords: Cat Swarm Optimization, Classification, Multiple Regression Linear Model. 1. Pendahuluan Baru-baru ini ditemukan satu algoritma baru dalam teknik optimasi yang meniru perilaku hewan. Algoritma baru ini diusulkan oleh Shu Chuan Chu (2006) dan diberi nama Cat Swarm Optimization (CSO). Algoritma ini memiliki sejumlah kelebihan dalam menyelesaikan permasalahanpermasalahan optimasi dibandingkan dengan teknik-teknik yang terdahulu seperti Particle Swarm Optimization (PSO) dan PSO with Weighting Factor. Selama ini, algoritma tersebut masih digunakan untuk unconstrained minimization problem dan belum pernah diaplikasikan di bidang lain. Akan menjadi sesuatu yang baru dan menarik jika penerapan CSO bisa diterapkan dalam data mining, khususnya untuk kasus klasifikasi. Konsep data mining semakin populer sebagai alat manajemen informasi dimana
diharapkan dapat mengungkap struktur pengetahuan yang bisa menuntun pengambilan keputusan. Jika jumlah atribut meningkat dan juga jumlah data bertambah banyak maka tugas pengambilan keputusan ini tidak bisa dilakukan secara manual atau sangat sulit dilakukan secara manual. Sehingga, alasan ongkos dan akurasi menjadi penting sehingga kita perlu mengembangkan metoda supervised learning ini dan menjalankannya lewat program komputer (Santosa,2006). Dengan dikembangkannya algoritma CSO, diharapkan dapat menghasilkan klasifikasi yang lebih cepat dan memiliki tingkat akurasi yang lebih baik dibanding metode yang ada sebelumnya. Klasifikasi bertujuan menempatkan data baru ke dalam kelas yang telah tersedia sebelumnya. Misalnya, sebuah bank ingin memprediksi apakah nasabah yang ingin meminjam uang patut untuk diberikan pinjaman. Pihak bank bisa memutuskan akan memberi
pinjaman dengan melihat data-data yang dimiliki oleh nasabah, seperti data gaji, pengeluaran, lokasi tempat tinggal, jenis pekerjaan, umur nasabah, dan sebagainya. Dalam data mining, data-data tersebut dinamakan variabel. Permasalahan yang dihadapi dalam penelitian ini adalah bagaimana mengembangkan algoritma Cat Swarm Optimization sehingga dapat digunakan dalam kasus klasifikasi. Kemudian, untuk mengevaluasi hasilnya akan digunakan pendekatan lain sebagai pembanding. Dalam penelitian ini performansi algoritma CSO akan dilihat apakah dapat memberikan hasil yang baik untuk kasus klasifikasi seperti halnya performansi algoritma CSO yang diterapkan pada kasus unconstrained minimization problem. Penelitian ini menggunakan data nyata yang telah umum digunakan dalam penelitianpenelitian seperti data Iris, data Breast Cancer, dan lain-lain. Laporan Tugas Akhir ini terdiri atas enam bab dengan sistematika penulisan sebagai berikut. Pendahuluan berisi tentang hal-hal yang mendasari dilakukannya penelitian serta pengidentifikasian masalah penelitian. Tinjauan pustaka menguraikan teori, temuan, dan bahan penelitian lain yang diperoleh dari acuan. Tinjauan pustaka akan menjadi landasan untuk melakukan kegiatan penelitian tugas akhir. Bab pengembangan model menguraikan metodologi penelitian yang dilakukan serta tahapan pengembangan model Cat Swarm Optimization untuk klasifikasi dua kelas. Pada bab pengujian model akan ditampilkan uji coba contoh numerik, data pengujian, serta bagaimana pengujian model dilakukan sesuai dengan kerangka penelitian yang telah dibuat. Bab analisis dan pembahasan akan dilakukan analisis terhadap hasil uji coba model. Analisis berisi uraian mengenai bagaimana model yang dikembangkan dapat memberikan perbaikan ataupun kelebihan terhadap model klasifikasi yang telah ada sebelumnya. Bab terakhir adalah kesimpulan dan sara yang berisi tentang kesimpulan hasil penelitian dan saran-saran yang berkaitan dengan penelitian selanjutnya. 2. Tinjauan pustaka Tinjauan pustaka menguraikan teori, temuan, dan bahan penelitian lain yang diperoleh dari acuan yang akan dijadikan
landasan untuk melakukan kegiatan penelitian tugas akhir. 2.1 Heuristic Mengutip dari situs whatis.techtarget.com, heuristic sebagai kata sifat adalah proses menggali pengetahuan atau hasil yang diinginkan dengan terkaan cerdas, bukan dengan mengikuti formula yang tetap. Heuristic memiliki 2 kegunaan: 1. Menjelaskan pendekatan untuk belajar dengan mencoba tanpa perlu memiliki hipotesis atau cara pembuktian bahwa hasil yang diperoleh akan menerima ataupun menolak hipotesis. Dengan kata lain, pembelajaran secara trial and error. 2. Menyinggung pada penggunaan pengetahuan umum yang diperoleh melalui pengalaman. Misalnya pemain catur menggunakan pendekatan heuristic . Sebagai kata benda, heuristic adalah aturan spesifik atau argumen yang diturunkan dari pengalaman. 2.2 Data Mining Pengenalan pola adalah suatu disiplin ilmu yang mempelajari bagaimana kita mengelompokkan obyek ke berbagai kelas dan bagaimana dari data bisa kita temukan kecenderungannya. Data mining adalah kegiatan yang meliputi pengumpulan, pemakaian data historis untuk menemukan keteraturan, pola atau hubungan dalam set data berukuran besar (Santosa, 2006). Beberapa alasan pentingnya menggunakan data mining, diantaranya adalah: • Jumlah data yang sangat besar, dimana dari data tersebut dapat diperoleh informasi yang dapat dipergunakan untuk menemukan pola tersembunyi. Dan pattern ini dapat digunakan dalam menentukan strategi bisnis. • Persaingan yang semakin meningkat. Perusahaan menghadapi global competition, dimana kunci suksesnya adalah dengan mempertahankan existing customer dan meningkatkan value-nya. • Teknologi yang semakin berkembang, sehingga algoritma data mining digunakan dalam suatu program komputer sehingga perhitungannya menjadi lebih cepat dan akurat, serta dapat digunakan pada data yang kompleks sekalipun. Menurut Olson (2008), classification adalah metode yang dibuat untuk mempelajari fungsi-fungsi yang memetakan tiap item data ke
baru termasuk dalam suku Jawa, Batak, Bali, atau Ambon. Untuk melakukan hal tersebut, diperlukan pembelajaran terhadap data-data yang telah terkumpul sebelumnya. Misalnya sebelumnya kita memiliki 200 buah data cirriciri mahasiswa beserta labelnya. Hasil pembelajaran ini adalah sebuah fungsi pemisah yang akan mampu memasukkan data baru ke dalam kelas yang seharusnya.
dalam kelas yang telah ditentukan. Dengan adanya set kelas, jumlah atribut, dan set pembelajaran (learning set), metode klasifikasi dapat secara otomatis memprediksi kelas dari data baru yang belum terklasifikasi. Hal mendasar yang membedakan antara teknik klasifikasi dengan teknik klastering. Teknik klastering bertujuan mengelompokkan data yang belum memiliki label menjadi sejumlah K kelompok. Teknik klastering akan mengelompokkan data berdasarkan kemiripan. Semakin mirip satu data dengan yang lain, maka akan dijadikan satu klaster atau kelompok. Sedangkan teknik klasifikasi bertujuan menempatkan data baru ke dalam kelas yang telah tersedia sebelumnya.
Gambar 2. 1 Klasifikasi Dua Set Obyek Dari Dua Kelas (sumber: Santosa, 2006)
Klasifikasi dua kelas dapat dilihat seperti pada gambar 2.1. Misalkan kita memiliki set data training (x, y) yang terdiri dua kelas, yaitu +1 dan -1. Tujuan dari klasifikasi dua kelas yaitu menemukan suatu fungsi keputusan f(x) yang secara akurat memprediksi kelas dari data test (x, y) yang berasal dari fungsi distribusi yang sama dengan data untuk training. Contoh kasus klasifikasi multi kelas adalah pada klasifikasi suku daerah. Misalnya kita ingin melakukan klasifikasi terhadap mahasiswa baru menurut suku daerahnya. Diumpamakan ada empat suku daerah, yaitu Jawa, Batak, Bali, dan Ambon. Kita akan mengklasifikasi mahasiswa baru berdasarkan ciri-ciri fisik dan non fisik yang dimiliki masing-masing mahasiswa, seperti bentuk rambut, warna rambut, bentuk rahang, bentuk hidung, bentuk bibir, warna kulit, dan dialek bahasa. Empat suku daerah yang dimisalkan di atas dinamakan label atau kelas data. Ciri-ciri fisik dan non-fisik yang dimiliki disebut atribut data. Dengan menggunakan Teknik klastering, kita mampu memprediksi apakah mahasiswa
2.3 Particle Swarm Optimization Particle Swarm optimization (PSO) adalah algoritma swarm intelligence yang berdasarkan populasi. PSO ditemukan oleh Kennedy dan Eberhart pada 1995. Ide dasar PSO adalah meniru perilaku individu dari kawanan ikan atau sekelompok burung camar yang terbang bersama-sama dalam mencari makanan atau sarang. PSO memiliki kemampuan dalam mencapai titik global maupun optimal. Karena kemudahan dalam penerapan kode dan performa yang konsisten, PSO terbukti merupakan algoritma yang baik dan efektif untuk permasalahan optimasi. Algoritma PSO diawali dengan inisialisasi sekelompok parikel. Posisi dari tiap individu, atau disebut partikel, direpresentasikan dengan vektor berukuran m-dimensi. Kemudian posisi tiap partikel dievalusi dengan fitness function yang telah ditentukan sebelumnya. Kecepatan tiap partikel berubah-ubah tergantung posisinya. Dalam PSO terdapat pertukaran informasi antar partikel. Pertukaran informasi ini tampak dalam persamaan kecepatan berikut. vi (t + 1) = vi (t ) + c1rand2 ( pi − si (t )) + c2rand2 ( pg − si (t ))
(pers. 1) Tiap partikel akan merubah kecepatan terbangnya dengan mempertimbangkan posisi terbaik yang pernah dilaluinya. Ini ditunjukkan dengan pi, yang berarti best position partikel i. Selain itu, kecepatan juga dipengaruhi oleh posisi terbaik diantara seluruh partikel. Ini dinotasikan dengan pg, yang berarti global best position. Vi adalah kecepatan original yang dimiliki masing-masing partikel. Sedangkan si adalah posisi partikel pada saat sekarang. c1 dan c2 adalah koefisien percepatan. Umumnya masing-masing bernilai 2. Rand1 dan rand2 adalah bilangan random. Langkah-langkah algoritma PSO original adalah sebagai berikut: langkah 1. Inisialisasi: tentukan jumlah populasi 3
langkah 2. langkah 3. langkah 4. langkah 5. langkah 6.
langkah 7. langkah 8. langkah 9. langkah 10. langkah 11. langkah 12.
Bangkitkan populasi secara acak Bangkitkan kecepatan awal. Evaluasi fitness function Simpan partikel yang memiliki nilai fitness function paling optimal Selama terminating condition belum terpenuhi, lakukan langkah 6-10. Hitung kecepatan tiap partikel Hitung posisi baru tiap partikel Evaluasi fitness function yang baru Update solusi optimal Update partikel terbaik Partikel terbaik adalah yang menjadi solusi.
2.3 Cat Swarm Optimization Menurut Shu (2006), computational intelligence adalah riset penelitian yang marak dibicarakan belakangan ini di bidang optimasi dan telah ditemukan beberapa algoritma. Yang termasuk computational intelligence diantaranya adalah Genetic Algorithm (GA), Ant Colony Optimization (ACO), Particle Swarm Optimization (PSO), dan Simulated Annealing (SA). GA dan SA merupakan kelompok area evolutionary algorithm, sedangkan ACO dan PSO berada di bawah naungan swarm intelligence. Algoritma yang diusulkan oleh Shu (2006), yaitu Cat Swarm Optimization, adalah juga merupakan algoritma yang berada di bawah bagian swarm intelligence. Evolutionary algorithm (EA) adalah algoritma optimasi metaheuristic yang berdasar pada populasi secara umum. EA menggunakan mekanismemekanisme yang diinspirasi oleh evolusi biologis: reproduksi, mutasi, rekombinasi, dan seleksi (wikipedia, 2009). Sedangkan swarm intelligence adalah teknik kecerdasan buatan yang berdasarkan pada studi dari perilaku sekelompok sistem yang tersebar dan terorganisir (Wilamowsk, Bodgan M., 2008). Menurut Liu dan Kevin M. Passino (2000), swarm intelligence adalah kecerdasan kolektif yang muncul dari sekelompok agent atau individu mahluk hidup. Contoh dari swarm intelligence yang ada di alam adalah koloni semut, kawanan burung, penggembalaan, dan kawanan ikan. Dari contoh-contoh tersebut, setiap kawanan tidak memiliki kontrol terpusat yang mengendalikan mereka. Namun, interaksi lokal antar agent di dalamnya seringkali mengarah pada kemunculan perilaku global. Cat Swarm Optimization adalah algoritma yang diusulkan oleh Shu-Chuan Chu dan Pei-Wei Tsai pada tahun 2006, yang didapat
melalui pengamatan terhadap perilaku sekumpulan kucing. Dalam ACO semut digunakan sebagai agent, dan jalur yang dilalui oleh semut-semut tersebut adalah set solusinya. Dalam PSO, posisi-posisi dari kawanan burung digunakan untuk menggambarkan set solusinya. Sedangkan, dalam CSO, sekumpulan kucing dan model perilakunya digunakan untuk menyelesaikan permasalahan optimasi. 2.3.1 Algoritma CSO Chu et al. (2006) membagi algortima CSO ke dalam dua sub model yang berdasar dari dua perilaku utama kucing. Yaitu ”seeking mode” dan ”tracing mode”. Untuk lebih jelasnya langkah-langkah algoritma CSO seperti yang disampaikan Chu et al. (2006) dalam penelitiannya akan dijabarkan dalam sub bab berikutnya. 2.3.2 Set Solusi dalam Model Bagaimanapun bentuk algortima optimasi, set solusi (hasil) harus ditampilkan dalam suatu cara tertentu. Misalnya dalam Ant Colony Optimization (ACO) semut disimulasikan sebagai agen, dan jalur yang dibentuk oleh semut menunjukkan set solusinya. Dalam CSO, digunakan kucing dan model perilaku kucing untuk menyelesaikan permasalahan optimasi. Dengan kata lain kucing digunakan untuk menggambarkan set solusi. Tahap pertama dalam CSO adalah menentukan berapa banyak kucing akan digunakan dalam iterasi, kemudian menggunakan kucing dalam CSO untuk menyelesaikan permasalahan. Setiap kucing masing-masing memiliki posisi yang tersusun dalam dimensi D, kecepatan untuk setiap dimensi, nilai kecocokan yang menunjukkan penyesuaian kucing dengan fungsi kecocokan, dan bendera untuk mengetahui apakah kucing berada dalam seeking mode atau tracing mode. Solusi akhir adalah posisi terbaik dari salah satu kucing. CSO akan menyimpan solusi terbaik hingga akhir iterasi. Seeking Mode Sub model ini digunakan untuk memodelkan situasi kucing ketika dalam keadaan beristirahat, melihat sekeliling dan mencari posisi berikutnya untuk bergerak. Dalam seeking mode, didefinisikan empat faktor penting: seeking memory pool (SMP), seeking range of the selected dimension (SRD) atau mencari rentang dimensi terpilih, counts of dimension to change (CDC) atau menghitung dimensi yang akan berubah, dan self-position considering (SPC) atau mempertimbangkan posisi.
SMP digunakan untuk mendefinisikan ukuran memori pencarian untuk masing-masing kucing, yang mengindikasikan titik-titik yang telah dicoba oleh kucing. Kucing tersebut kemudian akan memilih titik dari kelompok memori berdasarkan aturan yang akan dijelaskan kemudian. SRD menyatakan rentang perpindahan dalam dimensi terpilih. Dalam seeking mode, jika suatu dimensi diputuskan berpindah, selisih antara nilai baru dengan yang lama tidak boleh melebihi suatu rentang, yaitu rentang yang didefinisikan oleh SRD. CDC memperlihatkan berapa besar dimensi yang akan berubah. Keseluruhan faktor inilah yang memegang peran penting dalam seeking mode. SPC merupakan variabel Boolean (bernilai benar atau salah), untuk memutuskan apakah suatu titik, yang pernah menjadi posisi kucing, akan menjadi kandidat posisi untuk bergerak. Bagaimanapun nilai SPC, entah benar ataupun salah, nilai SMP tidak akan terpengaruh. Langkah-langkah seeking mode dapat dideskripsikan dalam 5 tahap. Langkah 1: Bangkitkan j tiruan dari posisi saat ini kucingk, di mana j = SMP. Jika nilai SPC benar, maka j = (SMP–1), kemudian pertahankan posisi saat ini sebagai salah satu kandidat. Langkah 2: Untuk setiap tiruan, disesuaikan dengan CDC, tambahkan atau kurangkan SRD persen dari nilai saat ini secara acak dan gantikan nilai yang sebelumnya. Langkah 3: Hitung nilai kecocokan (FS) untuk semua titik kandidat. Langkah 4: Jika semua FS tidak benarbenar sama, hitung probabilitas terpilih masingmasing titik kandidat dengan menggunakan (pers.2), sebaliknya atur probabilitas terpilih untuk semua titik sama dengan 1. Langkah 5: secara acak pilih titik untuk bergerak dari titik-titik kandidat, dan pindahkan posisi kucingk.
pi =
FSi − FSb
FS max − FSmin
, dimana 0 < i <j (pers.2)
Jika tujuan fungsi kecocokan adalah untuk menemukan solusi minimal, FSb = FSmax, sebaliknya FSb = FSmin. Tracing Mode Tracing mode adalah sub model yang menggambarkan keadaan ketika kucing sedang mengikuti jejak targetnya. Sekali kucing memasuki tracing mode, kucing tersebut akan bergerak sesuai dengan kecepatannya untuk tiap
dimensi. Tahapan tracing mode dapat dijabarkan dalam 3 langkah sebagai berikut: Langkah 1: Perbarui nilai kecepatan untuk setiap dimensi (vk,d) berdasarkan (pers.3). Langkah 2: Periksa apakah kecepatan berada dalam rentang kecepatan maksimum. Jika kecepatan yang beru melebihi rentang, tetapkan nilai sama dengan batas. Langkah 3: Perbarui posisi kucingk berdasarkan (pers.4).
vk , d = vk , d + r1 × c1 × ( xbest , d − xk , d ) , dimana d = 1,2,...,M (pers.3) xbest ,d adalah posisi kucing yang memiliki nilai kecocokan terbesar; xk ,d adalah posisi kucingk. c1 adalah konstanta dan r1 adalah nilai acak dalam rentang [0,1].
xk , d = xk , d + vk , d
(pers.4)
2.3.3 Inti Algoritma CSO Seperti yang telah dijabarkan sebelumnya, CSO terdiri dari dua sub model. Untuk mengkombinasikan kedua mode dalam satu algoritma, perlu didefinisikan rasio campuran/mixture ratio (MR) untuk menggabungkan seeking mode dan tracing mode. Dengan mengamati perilaku kucing, dapat diketahui bahwa kucing menghabiskan sebagian besar waktunya untuk beristirahat. Selama beristirahat, kucing mengubah posisinya perlahan dan berhati-hati, terkadang bahkan tetap pada tempatnya. Untuk menerapkan perilaku ini ke dalam CSO, digunakan seeking mode. Perilaku mengejar target dipalikasikan dalam tracing mode. Karena itu maka MR harus bernilai kecil untuk memastikan bahwa kucing menghabiskan sebagian besar waktu dalam seeking mode, seperti di kehidupan nyatanya. Proses CSO dapat digambarkan dalam 6 langkah sebagai berikut: Langkah 1: Bangkitkan N kucing dalam proses. Langkah 2: Sebarkan kucing secara acak dalam ruang solusi berdimensi D dan secara acak pula pilih nilai dalam rentang kecepatan maksimum untuk menjadi kecepatan kucing. Kemudian pilih sejumlah kucing secara sembarang dan masukkan dalam tracing mode sesuai MR, sisanya dimasukkan dalam seeking mode. 5
Langkah 3: Hitung nilai kecocokan masingmasing kucing dengan memasukkan nilai posisi kucing ke dalam fungsi kecocokan, yang menunjukkan kriteria tujuan, dan simpan kucing terbaik dalam memori. Perlu diingat bahwa yang perlu disimpan adalah posisi kucing terbaik ( xbest ) karena kucing terbaik sejauh ini mewakili solusi terbaik. Langkah 4: Pindahkan kucing sesuai benderanya, jika kucingk berada dalam seeking mode, perlakukan sesuai proses seeking mode, sebaliknya perlakukan sesuai tracing mode. Proses masing-masing telah dijelaskan sebelumnya. Langkah 5: Pilih lagi sejumlah kucing dan masukkan dalam tracing mode sesuai MR, sisanya masukkan ke dalam seeking mode. Langkah 6: Perhatikan terminating condition-nya. Jika telah memuaskan, hentikan program. Sebaliknya ulangi langkah 3 hingga 5. Gambaran algoritma Cat Swarm Optimization pada kasus unconstrained minimization problem dapat dilihat pada urutan gambar 2.2 di halaman berikut. Misal untuk menyelesaikan permasalahan unconstrained minimization digunakan populasi berukuran 5 kucing. Mixture Ratio yang digunakan adalah 20%. SMP berukuran 3, yang berarti digunakan 3 kucing tiruan.
2.5 Multiple Regression Linear Model Multiple Regression Linear Model (MRLM) adalah pengembangan dari regresi linear yang menyertakan lebih dari 1 variabel prediksi. MRLM berusaha memodelkan hubungan antara dua atau lebih variabel bebas dan sebuah variabel respon dengan cara mencocokkan persamaan linear. Setiap nilai variabel bebas X dihubungkan dengan nilai variabel tak bebas Y. Populasi dari sejumlah P variabel bebas X didefinisikan sebagai berikut:
Y = c0 + c1 x1 + c2 x2 + c3 x3 + ... + c p x p (pers. 5) Dalam penelitian ini, x1, x2,…,xp merepresentasikan atribut set data dan Y adalah kelas atau label dari data terkait. Langkah-langkah klasifikasi dengan pendekatan MRLM adalah sebagai berikut (Satapathy,2008): 1. Set data disajikan dalam matriks seperti tampak berikut ini.
Gambar 2. 2 Bagan Cat Swarm Optimization (sumber: Chu, 2006)
⎡ x11 ⎢x ⎢ 21 ⎢ . ⎢ ⎣ xn1
x12 x22 .
... x1m ... x2 m . .
xn 2 ... xnm
y1 ⎤ y2 ⎥⎥ .⎥ ⎥ yn ⎦
2. Hubungan antara variabel bebas dan tak bebas pada data di atas diekspresikan dalam MRLM seperti berikut.
⎡ y1 = c0 + c1 x11 + c2 x12 + ... + cm x1m ⎤ ⎢ y = c + c x + c x + ... + c x ⎥ 0 1 21 2 22 m 2m ⎥ ⎢ 2 ⎥ ⎢ ... ⎥ ⎢ ⎣ yn = c0 + c1 xn1 + c2 xn 2 + ... + cm xnm ⎦ 3. Fitness function yang digunakan adalah meminimasi banyaknya error yang terjadi antara nilai yang diestimasi dengan label aslinya.
d i = yi − sgn(c0 + c1 x1 + c2 x 2 + ... + c m xm )
∏= ∑
n i =1
di
(pers.6)
2.6 Ukuran Performansi Metode untuk mengukur perfomansi model adalah dengan menggunakan Training Set dan Test Set seperti dijelaskan oleh (Olson,
2008), (Bramer, 2007), dan (Santosa, 2006). Untuk metode “train and test” ini, data dipisah menjadi 2 bagian yang masing-masing disebut training set dan test set. Training set digunakan untuk membangun fungsi pemisah. Fungsi pemisah ini ini kemudian digunakan untuk memprediksi klasifikasi pada test set. Jika terdapat sejumlah N data yang diuji, dan sebesar C data yang benar, maka keakurasian prediksi dari fungsi pemisah tersebut adalah p =C/N (pers.7)
yang terjadi di objek penelitian serta menetapkan tujuan yang ingin dicapai dalam penelitian yang akan dilakukan. Penetapan tujuan dilakukan agar penelitian yang dilakukan memiliki arah yang jelas. Studi Pustaka Langkah ini merupakan tahap pendalaman materi tentang permasalahan yang akan diangkat, guna mendukung pelaksanaan penelitian dengan memberikan wawasan yang cukup seputar metode CSO untuk optimasi, metode klasifikasi, dan metode klasifikasi dengan teknik-teknik heuristik. Observasi dan Analisa Algoritma CSO Bersamaan dengan tahapan studi pustaka dan literatur maka juga dilakukan observasi lanjutan untuk mendapatkan penjelasan secara lebih mendalam melalui analisa algoritma CSO.
Gambar 2. 3 Train and Test (Sumber: Santosa, 2006)
3. Pengembangan Model Bab ini menguraikan metodologi penelitian dan pengembangan metode klasifikasi CSO dengan pendekatan MRLM. 3.1. Metodologi Penelitian Metodologi penelitian pengembangan model dilakukan dengan empat tahapan utama, yaitu tahap awal, tahap pengembangan model, tahap analisa, serta tahap penarikan kesimpulan. 3.1.1. Tahap Awal Dalam tahap ini peneliti melakukan upaya identifikasi permasalahan yang terjadi pada objek penelitian melalui observasi yang dilakukan serta kemudian melakukan perumusan masalah tersebut. Identifikasi Permasalahan Pada langkah ini dilakukan proses identifikasi atas perkembangan teknik baru dalam kasus optimasi. Observasi awal objek penelitian secara langsung dilakukan untuk mengetahui kondisi yang terjadi serta permasalahan yang kiranya dapat dicarikan alaternatif pemecahannya melalui penelitian yang akan dilakukan sesuai dengan tema dan batasan penelitian. Perumusan Masalah dan Penetapan Tujuan Penelitian Setelah melakukan identifikasi permasalahan melalui observasi awal langkah selanjutnya adalah merumuskan permasalahan
3.1.2. Tahap Pengembangan Model Merupakan tahap dilakukan pengembangan model untuk klasifikasi. Algoritma Cat Swarm Optimization yang selama ini digunakan untuk menemukan solusi kasus optimasi akan dikembangkan, dimodifikasi, diberi penyesuaian sehingga bisa digunakan dalam kasus klasifikasi. Pengumpulan dan Pengolahan Data Dalam pengembangan model untuk penelitian Tugas Akhir ini, diperlukan sejumlah set data yang berfungsi untuk pembelajaran maupun pengujian validasi dari model yang dikembangkan. Data yang digunakan adalah data yang sudah umum digunakan dalam kasus Data mining, seperti data Iris, data Breast Cancer, dan sebagainya. Pengolahan data yang dilakukan adalah data pre-processing dan data cleaning. Setelah data terkumpul, data perlu diseleksi dan dibersihkan. Mungkin juga terdapat sejumlah variabel dari data yang dilakukan transformasi menjadi bentuk yang diinginkan. Pengembangan Model Setelah data terkumpul dan diolah, maka dilanjutkan dengan pengembangan model. Model CSO yang asal mulanya digunakan untuk menyelesaikan atau mencari nilai optimal, dikembangkan sehingga bisa digunakan dalam kasus klasifikasi. Model CSO klasifikasi dalam penelitian ini menggunakan pendekatan MRLM. Untuk mengembangkan model digunakan software MATLAB 7.0.4. Jumlah keseluruhan model yang dibangun dalam penelitian ini 7
sebanyak 4 buah model klasifikasi, yaitu PSOMRLM, CSO-MRLM No Modification, CSOMRLM with inertia, dan CSO-MRLM steady flag. Validasi Model CSO Tahap ini merupakan tahap evaluasi model, dimana model diuji apakah model telah mampu memberikan hasil klasifikasi yang sesuai dengan label aslinya. Model yang valid adalah model yang mampu menghasilkan akurasi yang baik. Perbandingan dengan Metode Lain Setelah model selesai dikembangkan, model diterapkan untuk set data baru. Hasil klasifikasi ini nanti akan dianalisa. Performansi diukur dari tingkat akurasi dan kecepatan komputasi. Performansi dari model CSO untuk klasifikasi kemudian dibandingkan dengan metode lain. Metode lain yang digunakan sebagai pembanding adalah model PSO klasifikasi dengan pendekatan MRLM. 3.1.3. Tahap Analisis Pada tahap ini, hasil yang diperoleh dari implementasi model dan dari perbandingan dengan metode lain akan dianalisa secara mendalam sehingga dapat diambil kesimpulan di akhir penelitian ini. Pada tahap ini dilakukan analisis dan perbandingan antara PSO klasifikasi dan CSO klasifikasi secara keseluruhan serta perbandingan modifikasi antar CSO klasifikasi. 3.1.4. Tahap Penarikan Kesimpulan Kesimpulan dan saran diberikan setelah tahap analisa dilakukan. Kesimpulan yang diberikan merupakan intisari dari penelitian yang dilakukan, mengenai perbandingan Teknik klasifikasi dengan CSO dan teknik klasifikasi pembanding. Saran yang akan diberikan adalah saran untuk peneliti yang akan melakukan penelitian lebih lanjut menggunakan Cat Swarm Optimization. 3.2. Pengembangan Model Dalam sub bab ini akan dipaparkan pengembangan model maupun modifikasi dari algoritma CSO. CSO dikembangkan dengan menggunakan pendekatan Multiple Regression Linear Model. 3.2.1. CSO pendekatan MRLM Penjelasan dari pengembangan model yang dilakukan dalam penelitian ini dapat dilihat dari flow chart maupun dari langkahlangkah algoritma berikut.
langkah 1. Bangkitkan sejumlah N kucing. Setiap kucing merepresentasikan set solusi awal, yaitu nilai-nilai koefisian persamaan MRLM. Jika data training berjumlah ntraining, maka ukuran matriks kucing memiliki dimensi sebesar N x ntraining. langkah 2. Inisialisasi posisi kucing, kecepatan, dan bendera kucing. Kucing berada pada bendera seeking sesuai rasio MR yang telah ditentukan sebelumnya. langkah 3. Hitung fungsi tujuan CSO MRLM, yaitu
d i = y i − sgn(c0 + c1 x1 + c 2 x 2 + ... + c m x m )
∏= ∑
n i =1
di
(pers.7)
langkah 4. Perbaharui kucing sesuai benderanya. langkah 4.1. Untuk kucing dengan bendera seeking, bangkitkan tiruan sebanyak SMP yang telah ditetapkan. Jika SPC bernilai benar, maka pertahankan posisi saat ini sebagai salah satu kandidat. langkah 4.2. Untuk setiap tiruan, tambahkan atau kurangkan sebesar SRD persen dari nilai saat ini. langkah 4.3. Hitung nilai kecocokan untuk semua titik kandidat seperti pada langkah 3. langkah 4.4. Jika nilai kecocokan tidak benarbenar sama, hitung probabilitas terpilihnya masing-masing kandidat. langkah 4.5. Secara acak pilih titik untuk bergerak dari titik-titik kandidat, lal pindahkan posisi kucing. langkah 4.6. Untuk kucing dalam bendera tracing, perbarui kecepatan.
v k , d = v k , d + r1 × c1 × ( x best , d − x k , d ) , dimana d = 1,2,...,M (pers.8) langkah 4.7. Perbarui posisi kucing. langkah 5. Pilih lagi sejumlah kucing dan masukkan dalam tracing mode sesuai MR, sisanya masukkan ke dalam seeking mode. langkah 6. Perhatikan terminating conditionnya. Jika telah memuaskan, hentikan program. Sebaliknya ulangi langkah 3 hingga 5.
Terminating yang digunakan berupa maksimum jumlah misclassification (%).
tiga buah variasi CSO-MRLM ditampilkan dalam penelitian ini untuk melihat mana yang paling baik diantara modifikasi CSO. CSOMRLM No Modification adalah algoritma CSO tanpa modifikasi. Pada CSO-MRLM with inertia, modifikasi dilakukan yaitu dengan tidak melakukan perubahan bendera seeking dan tracing. Kucing yang sejak awal memiliki bendera seeking akan terus berada pada bendera seeking hingga titik optimal ditemukan. Demikian halnya pada kucing yang sejak awal memiliki bendera tracing. Selain itu, pada CSOMRLM with inertia ini juga ditambahkan modifikasi berupa nilai inersia w yang nilainya berubah secara acak. Sehingga persamaan update kecepatan menjadi (pers. 10). Modifikasi pada CSOsf hampir sama dengan Csi, hanya saja pada CSOsf diberikan nilai inersia w yang konstan, yaitu 1.
v k , d = w × v k , d + r1 × c1 × ( x best , d − x k , d ) , dimana d = 1,2,...,M
Gambar 3. 1 Algoritma CSO Klasifikasi
langkah 7. Kucing yang terpilih adalah kucing yang memiliki koefisien MRLM optimal. langkah 8. Klasifikasi data testing dengan menggunakan persamaan MRLM optimal yang telah didapat. Kalikan matriks data testing dengan persamaan MRLM (pers.9). Kemudian cocokkan hasil data testing dengan label testing. Hitung jumlah titik yang tidak sama dengan label aslinya.
⎡ x11 ⎢x ⎢ 21 ⎢ ... ⎢ ⎣ xn1
x1m ⎤ ⎡ c1 ⎤ x22 x2 m ⎥⎥ ⎢ ⎥ × c2 ... ... ⎥ ⎢ ⎥ ⎥ ⎢c3 ⎥ x1n 2 xnm ⎦ ⎣ ⎦ x12
(pers.9)
(pers.10)
4. Pengujian Model Model yang telah dibuat kemudian diuji kemampuannya dengan set data sederhana sebelum digunakan dengan set data set yang lebih besar. Set data sederhana yang digunakan adalah data permasalahan AND, yang digunakan sebagai validasi dan juga sebagai contoh perhitungan. Set data yang lebih besar diantaranya adalah data iris, breast cancer, Wisconsin Diagnostic Breast Cancer (WDBC), pima, credit approval, spline, Haberman’s Survival, hepatitis, sonar, dan ionosphere. Sepuluh set data yang telah disebutkan digunakan untuk melihat kinerja CSO klasifikasi dan perbandingannya dengan PSO klasifikasi. 4.1. Deskripsi Data Uji Data yang digunakan dalam penelitian ini adalah set data kasus nyata yang telah umum digunakan dalam kasus Data mining. Dalam sub-bab ini akan dijelaskan karakteristik dari set data yang digunakan. 4.1.1.
3.2.2.
Modifikasi CSO Sepuluh set data diuji dengan empat metode yang masing-masing dinamakan PSOMRLM, CSO-MRLM No Modification, CSOMRLM with inertia, dan CSO-MRLM steady flag. PSO-MRLM digunakan sebagai pembanding performa CSO-MRLM. Sedangkan
Data permasalahan AND Problem AND adalah klasifikasi dua kelas dengan empat data. Kelas pertama ditunjukkan dengan 1, sedangkan kelas kedua ditunjukkan dengan -1. Tabel 4. 1 Permasalahan AND
X1 1
X2 1
Y 1
9
-1 1 -1
1 -1 -1
-1 -1 -1
4.1.2.
Data Iris Data iris asli memiliki tiga kelas jenis bunga dengan total data sebanyak 150. Untuk uji klasifikasi pada penelitian ini, data yang digunakan dibatasi sebanyak dua kelas, karena itu dilakukan penghapusan data dari kelas ketiga. Data iris yang yang tersisa dapat dijelaskan sebagai berikut: • Jumlah data : 100 • Jumlah atribut : 5 • Penyesuaian : Penghapusan kelas ketiga 4.1.3.
Data Breast Cancer Data Breast Cancer digunakan untuk memprediksi diagnosis kanker payudara, apakah jinak atau ganas. Data Breast Cancer asli memiliki 699 data dimana terdapat beberapa data yang masih memiliki missing value. Sebelum diproses, dilakukan preprocessing data berupa data cleaning yaitu menghapus data-data yang masih memiliki missing value. Data Breast Cancer yang akan diuji dapat dijelaskan sebagai berikut: • Jumlah data : 683 • Jumlah atribut : 10 • Penyesuaian : Penghapusan data dengan missing value 4.1.4. Data Wisconsin Diagnostic Breast Cancer (WDBC) Data WDBC berbeda dengan data Breast Cancer, meskipun sama-sama memprediksi diagnosis kanker payudara. Data WDBC memiliki 569 data dengan jumlah atribut yang lebih banyak daripada data Breast Cancer. Seluruh atribut data telah merupakan data numerik, sehingga tidak perlu dilakukan penyesuaian. Data WDBC yang akan diuji dapat dijelaskan sebagai berikut: • Jumlah data : 569 • Jumlah atribut : 31 • Penyesuaian : tidak ada 4.1.5.
Data Pima Data Pima digunakan untuk memprediksi diagnosis apakah pasien menunjukkan tanda-tanda diabetes atau tidak, jika merujuk pada kriteria World Health Organization (WHO). Data WDBC memiliki 768 data dengan seluruh atribut data telah merupakan data numerik, sehingga tidak perlu
dilakukan penyesuaian. Data Pima yang akan diuji dapat dijelaskan sebagai berikut: • Jumlah data : 768 • Jumlah atribut : 9 • Penyesuaian : tidak ada 4.1.6.
Data Credit Approval Data Credit Approval asli terdiri dari 690 data dengan 16 atribut yang terdiri dari beragam jenis data, yaitu data kontinu dan nominal. Data nominal diubah ke dalam bentuk numeris agar dapat diolah pada pengujian data. Data ini memiliki range yang beragam antar atribut. Setelah data yang mengandung missing value dihapus, data Credit Approval dapat dijelaskan sebagai berikut. • Jumlah data : 653 • Jumlah atribut : 16 • Penyesuaian : Penghapusan data dengan missing value, pengubahan data kategorial menjadi numeris 4.1.7.
Data Splice Data Splice asli terdiri dari 3.175 data. Karena data masih mengandung kelas yang tidak termasuk ke dalam dua kelas yang telah ditentukan, dilakukan penghapusan data untuk data dengan kelas selain +1 dan -1. Kegiatan preprocessing berikutnya yaitu mengubah jenis data dari kategorial menjadi numeris. Data yang akan diuji setelah preprocessing dapat dijelaskan sebagai berikut: • Jumlah data : 1527 • Jumlah atribut : 61 • Penyesuaian : Penghapusan data dengan missing value, penghapusan data dari kelas ketiga, pengubahan data kategorial menjadi numeris 4.1.8.
Data Haberman’s Survival Data Haberman’s Survival digunakan untuk memprediksi apakah seorang pasien yang telah menjalani operasi kanker payudara akan bertahan hidup atau tidak. Kelas +1 berarti seorang pasien mampu bertahan hidup lebih dari lima tahun, sedangkan kelas -1 menandakan pasien akan meninggal dalam kurun waktu kurang dari lima tahun. Data Haberman’s Survival dapat dijelaskan sebagai berikut. • Jumlah data : 306 • Jumlah atribut : 4
• Penyesuaian
: tidak ada
4.1.9.
Data Hepatitis Data Hepatitis digunakan untuk memprediksi apakah seorang pasien hepatitis akan meninggal atau selamat berdasarkan atribut yang dimilikinya seperti usia, jenis kelamin, ada tidaknya varises, dan lainnya. Dataset Hepatitis asli terdiri atas 155 data, namun masih terdapat missing value yang perlu dihilangkan untuk memudahkan pengolahan data. Setelah missing value dihapus, data yang tersisa adalah sebagai berikut. • Jumlah data : 80 • Jumlah atribut : 20 • Penyesuaian : Penghapusan data dengan missing value, pengubahan data kategorial menjadi numeris 4.1.10. Data Sonar Data Sonar digunakan untuk memprediksi apakah pantulan dari sinyal sonar berasal dari partikel batu atau besi. • Jumlah data : 206 • Jumlah atribut : 60 • Penyesuaian : Penghapusan data dengan missing value, pengubahan data kategorial menjadi numeris 4.1.11. Data Ionosphere Data Ionosphere digunakan untuk memprediksi apakah lapisan ionosfer baik atau buruk berdasarkan elektron-elektron di ionosfer. Dataset Ionosphere asli terdiri atas 351 data, namun masih terdapat missing value yang perlu dihilangkan untuk memudahkan pengolahan data. Setelah missing value dihapus, data yang tersisa adalah sebagai berikut. • Jumlah data : 122 • Jumlah atribut : 35 • Penyesuaian : Penghapusan data dengan missing value, pengubahan data kategorial menjadi numeris 4.2. Pengujian permasalahan AND Set data permasalahan AND adalah data sederhana yang terdiri atas dua atribut. Gambaran yang lebih jelas mengenai data permasalahan AND dapat dilihat pada tabel dan
gambar berikut ini diikuti dengan langkahlangkah penyelesaian menggunakan CSO klasifikasi.
Gambar 4. 1 Ilustrasi Permasalahan AND (sumber: Santosa,2006)
Pendekatan MRLM membutuhkan adanya tambahan variabel pada kolom yang paling awal. Variabel ini digunakan sebagai pengali agar persamaan MRLM memiliki konstanta c0. Sehingga tabel permasalahan AND menjadi seperti pada tabel berikut. Tabel 4. 2 Permasalahan AND dengan MRLM
X0 1 1 1 1
X1 1 -1 1 -1
X2 1 1 -1 -1
Y 1 -1 -1 -1
langkah 1. Bangkitkan N=5 kucing. Setiap kucing merepresentasikan set solusi. Ukuran matriks kucing memiliki dimensi 5 x 3. langkah 2. Inisialisasi posisi kucing, ⎡ 3.6010 2.0968 0.9235 ⎤ ⎢− 2.1509 − 0.3483 2.3355⎥ ⎥ x=⎢ ⎢ 0.8547 − 3.8520 3.3745 ⎥ ⎢ ⎥ ⎣ − 0.1121 2.5713 1.9057 ⎦
kecepatan, ⎡ 3.6010 2.0968 0.9235 ⎤ ⎢− 2.1509 − 0.3483 2.3355⎥ ⎥ v=⎢ ⎢ 0.8547 − 3.8520 3.3745 ⎥ ⎢ ⎥ ⎣ − 0.1121 2.5713 1.9057 ⎦ dan bendera kucing, Ntrac = round(N*MR) = 1 Nseek = N – Ntrac = 4 langkah 3. Hitung fungsi tujuan CSO MRLM,
d i = y i − sgn(c 0 + c1 x1 + c 2 x 2 + ... + c m x m )
∏= ∑
n i =1
di
untuk tiap x: 11
cumprob = hreg(i) = dttrn * x(i,:)' hreg(i) = 6.6213 2.4277 4.7744 0.5808 Hlabel(i) = sign(hreg) ⎡1⎤ ⎢⎥ Hlabel(i) = ⎢1⎥ ⎢1⎥ ⎢⎥ ⎣1⎦ ⎡1⎤ ⎡ 1 ⎤
Abs(d(i)) = ⎢1⎥ ⎢− 1⎥ ⎢ ⎥−⎢ ⎥ =3 ⎢1⎥ ⎢− 1⎥ ⎢⎥ ⎢ ⎥ ⎣1⎦ ⎣− 1⎦
Sehingga didapat fitness function d, yaitu ⎡ 3⎤ ⎢ ⎥ d = ⎢ 2⎥ ⎢ 2⎥ ⎢1⎥ ⎢ ⎥ ⎣ 3⎦
langkah 4. Perbaharui kucing sesuai benderanya. Untuk tiap x(i) lakukan langkah 4.1 – langkah 4.7: langkah 4.1. Untuk kucing dengan bendera seeking, bangkitkan tiruan sebanyak SMP (3 kucing tiruan). SPC = 0, maka posisi awal tidak menjadi kandidat. langkah 4.2. Untuk setiap tiruan, tambahkan atau kurangkan sebesar SRD persen dari nilai saat ini. xseekcop = -1.5056 -2.7962 -1.5056 -0.2438 -0.4527 -0.2438 1.6348 1.6348 1.6348 langkah 4.3. Hitung nilai kecocokan untuk semua titik kandidat seperti pada langkah 3. FScopy = 2 1 2 langkah 4.4. Jika nilai kecocokan tidak benarbenar sama, hitung probabilitas terpilihnya masing-masing kandidat. Selain itu, hitung probabilitas masing-masing kucing tiruan.
0.4000 0.6000 1.0000 langkah 4.5. Secara acak pilih titik untuk bergerak dari titik-titik kandidat, lalu pindahkan posisi kucing. Hasilnya adalah: xseek = -2.7962 -0.4527 1.6348 0.5983 -2.6964 2.3622 -0.1458 3.3426 2.4774 2.1913 -0.5751 -1.8129 langkah 4.6. Untuk kucing dalam bendera tracing, perbarui kecepatan. vel = -7.2825 4.9180 5.1445 langkah 4.7. Perbarui posisi kucing. xtrac = -1.3990 7.0147 5.9235 langkah 5. Pilih lagi kucing dan masukkan dalam tracing mode sesuai MR, sisanya masukkan ke dalam seeking mode. langkah 6. Perhatikan terminating conditionnya. Jika telah memuaskan, hentikan program. Sebaliknya ulangi langkah 3 hingga 5. Terminating yang digunakan berupa maksimum jumlah misclassification (%). Dalam permasalahan AND, batas misclassification adalah nol persen. Setelah dihitung fitness function, ternyata terminating condition terpenuhi. langkah 7. Kucing yang terpilih adalah kucing yang memiliki koefisien MRLM optimal, yaitu: x(i) = -1.3990 7.0147 5.9235 langkah 8. Setelah diperoleh solusi optimal, klasifikasi data testing dengan menggunakan persamaan MRLM optimal yang telah didapat. Kalikan matriks data testing dengan persamaan MRLM. Kemudian cocokkan hasil data testing dengan label testing. Hitung jumlah titik yang tidak sama dengan label aslinya. hregtst = dttrn * x(i,:)'
⎡ 3.6010 2.0968 0.9235 ⎤ ⎥ ⎡− 1.339⎤ ⎢ hregtst= ⎢− 2.1509 − 0.3483 2.3355⎥ ⎢ × 7.0147 ⎥⎥ ⎢ 0.8547 − 3.8520 3.3745 ⎥ ⎢ ⎥ ⎣⎢ 5.9235 ⎦⎥ ⎢ ⎣ − 0.1121 2.5713 1.9057 ⎦
CSOn m CSOi CSOsf
⎡ 11.5392 ⎤
Hlabeltst = ⎡⎢ 1 ⎤⎥ ⎢− 1⎥ ⎢− 1⎥ ⎢ ⎥ ⎣− 1⎦
telah
0% 0% 0%
Data Breast Cancer Pengujian dilakukan dengan data training sebanyak 70 persen dari total data dan dipilih secara acak, dan data testing diambil dari data selain data training. Hasil rata-rata banyaknya iterasi, waktu komputasi, dan misklasifikasi dari sepuluh kali percobaan untuk tiap metode ditunjukkan pada tabel 4.3. Adapun nilai minimum untuk waktu komputasi dan kesalahan klasifikasi tiap metode diperjelas dengan huruf bercetak tebal.
⎢ − 0.3077 ⎥ ⎢ ⎥ ⎣ − 14.3372⎦
label
0.02 0.01 0.02
4.3.2.
hregtst = ⎢ − 2.4902 ⎥ ⎢ ⎥
Semua dengan tepat.
1.7 1.5 0.9
terklasifikasi
4.3. Pengujian 10 Set Data Sepuluh set data diuji dengan empat metode yang masing-masing dinamakan PSOMRLM, CSO-MRLM No Modification, CSOMRLM with inertia, dan CSO-MRLM steady flag. Dalam sub bab ini, nama masing-masing model disingkat untuk alasan penyajian tabel. PSO-MRLM disingkat menjadi PSO, CSOMRLM No Modification disingkat menjadi CSOnm, CSO-MRLM with inertia disingkat menjadi CSOi, dan CSO-MRLM steady flag disingkat menjadi CSOsf.
Tabel 4. 4 Klasifikiasi Data Breast Cancer
Metode
4.3.1.
Data Iris Pengujian dilakukan dengan data training sebanyak 70 yang dipilih secara acak, dan data testing sebanyak 30 yang diambil dari data selain data training. Hasil rata-rata banyaknya iterasi, waktu komputasi, dan misklasifikasi dari sepuluh kali percobaan untuk tiap metode ditunjukkan pada Tabel 4.2. Adapun nilai minimum untuk waktu komputasi dan kesalahan klasifikasi tiap metode diperjelas dengan huruf bercetak tebal.
PSO CSOn m
Iterasi
Waktu (detik)
Misklasifikasi
356
5.76
5.57%
5.17
7.20%
CSOi
198 1334. 6
33.67
5.30%
CSOsf
41.2
1.09
3.84%
4.3.3. Data Wisconsin Diagnostic Breast Cancer (WDBC) Pengujian dilakukan dengan data training sebanyak 398 yang dipilih secara acak, dan data testing sebanyak 171yang diambil dari data selain data training. Hasil rata-rata banyaknya iterasi, waktu komputasi, dan misklasifikasi dari sepuluh kali percobaan untuk tiap metode ditunjukkan pada tabel 4.4. Adapun nilai minimum untuk waktu komputasi dan kesalahan klasifikasi tiap metode diperjelas dengan huruf bercetak tebal.
Tabel 4. 3 Klasifikasi Data Iris
Metode PSO
Waktu Iterasi (detik) Misklasifikasi 2.2 0.02 0% 13
Tabel 4. 5 Klasifikasi Data WDBC
kali percobaan untuk tiap metode ditunjukkan pada tabel 4.6. Adapun nilai minimum untuk waktu komputasi dan kesalahan klasifikasi tiap metode diperjelas dengan huruf bercetak tebal. Tabel 4. 7 Klasifikasi Data Credit Approval
Metode
Iterasi
Waktu (detik)
Misklasifikasi
PSO CSOn m
22.02
68.16
9.30%
26.34
70.20
8.89%
CSOi CSOsf
30.23 23.45
64.74 65.79
8.83% 9.01%
Metode PSO CSOn m
4.3.4.
Data Pima Pengujian dilakukan dengan data training sebanyak 538 yang dipilih secara acak, dan data testing sebanyak 230 yang diambil dari data selain data training. Hasil rata-rata banyaknya iterasi, waktu komputasi, dan misklasifikasi dari sepuluh kali percobaan untuk tiap metode ditunjukkan pada tabel 4.5. Adapun nilai minimum untuk waktu komputasi dan kesalahan klasifikasi tiap metode diperjelas dengan huruf bercetak tebal.
Iterasi Waktu (detik) Misklasifikasi 110.5 26.25% 1.05 61.88 503.8 8 133.1 3
CSOi CSOsf
1.26
25.06%
8.90
23.53%
2.70
27.04%
4.3.6. Data Splice Pengujian dilakukan dengan data training sebanyak 1069 yang dipilih secara acak, dan data testing sebanyak 458 yang diambil dari data selain data training. Hasil dari sepuluh kali percobaan untuk tiap metode ditunjukkan pada tabel 4.7 Adapun nilai minimum untuk waktu komputasi dan kesalahan klasifikasi tiap metode diperjelas dengan huruf bercetak tebal.
Tabel 4. 6 Klasifikasi Data Pima
Tabel 4. 8 Klasifikasi Data Splice
Metode PSO CSOn m CSOi CSOsf 4.3.5.
Waktu Iterasi (detik) Misklasifikasi 4.6 35.70% 0.05 2.9 3.7 4.2
0.07 0.08 0.10
35.04% 35.26% 35.74%
Data Credit Approval Pengujian dilakukan dengan data training sebanyak 457 yang dipilih secara acak, dan data testing sebanyak 196 yang diambil dari data selain data training. Hasil rata-rata banyaknya iterasi, waktu komputasi, dan misklasifikasi dari sepuluh
Metode PSO CSOn m CSOi CSOsf 4.3.7.
Waktu Iterasi (detik) Misklasifikasi 899,5 8,1% 11,11 2596, 130,38 8,9% 9 627,5 25,31 9,3% 26,13 9,3% 521
Data Haberman’s Survival
Pengujian dilakukan dengan data training sebanyak 204 yang dipilih secara acak, dan data testing sebanyak 102 yang diambil dari data selain data training. Hasil dari sepuluh kali percobaan untuk tiap metode ditunjukkan pada tabel 4.8 Adapun nilai minimum untuk waktu komputasi dan kesalahan klasifikasi tiap metode diperjelas dengan huruf bercetak tebal.
4.3.9. Data Sonar Pengujian dilakukan dengan data training sebanyak 146 yang dipilih secara acak, dan data testing sebanyak 60 yang diambil dari data selain data training. Hasil dari sepuluh kali percobaan untuk tiap metode ditunjukkan pada tabel 4.10 Adapun nilai minimum untuk waktu komputasi dan kesalahan klasifikasi tiap metode diperjelas dengan huruf bercetak tebal.
Tabel 4. 9 Klasifikasi Data Haberman’s Survival
Tabel 4. 11 Klasifikasi Data Sonar
Metode PSO CSOn m CSOi CSOsf
Waktu Iterasi (detik) Misklasifikasi 7,7 11,76% 0,07 12,3 6,4 7,6
0,18 0,08 0,11
11,72% 11,34% 11,90%
4.3.8. Data Hepatitis Pengujian dilakukan dengan data training sebanyak 60 yang dipilih secara acak, dan data testing sebanyak 20 yang diambil dari data selain data training. Hasil dari sepuluh kali percobaan untuk tiap metode ditunjukkan pada tabel 4.9 Adapun nilai minimum untuk waktu komputasi dan kesalahan klasifikasi tiap metode diperjelas dengan huruf bercetak tebal. Tabel 4. 10 Klasifikasi Data Hepatitis
Metode PSO CSOn m CSOi CSOsf
Waktu Iterasi (detik) Misklasifikasi 21,5% 61,8 0,58 317,6 659,1 363,9
3,87 7,13 4,36
22,0% 21,5% 21,5% 15
Metode PSO CSOn m CSOi CSOsf
Waktu Iterasi (detik) Misklasifikasi 1376,9 16,74 28,5% 440,9 673,6 2345,8
7,89 10,14 41,76
25,2% 31,3% 32,5%
4.3.10. Data Ionosphere Pengujian dilakukan dengan data training sebanyak 85 yang dipilih secara acak, dan data testing sebanyak 37 yang diambil dari data selain data training. Hasil dari sepuluh kali percobaan untuk tiap metode ditunjukkan pada tabel 4.15. Adapun nilai minimum untuk waktu komputasi dan kesalahan klasifikasi tiap metode diperjelas dengan huruf bercetak tebal.
Ditinjau dari banyaknya misklasifikasi, CSO-MRLM with inertia menghasilkan misklasifikasi paling kecil. Banyaknya misklasifikasi dipengaruhi oleh kemampuan model dalam mencari titik optimal. CSO-MRLM with inertia mengalami modifikasi dalam mencari titik optimal. Dalam update kecepatan di CSO-MRLM with inertia, penulis menambahkan nilai inersia w yang nilainya acak antara 0 hingga 1. Dengan nilai inersia yang acak, kucing dapat bergerak dengan halus yaitu manakala nilai inersia bernilai kecil. Tabel 5. 1 Rata-rata Iterasi 10 Set Data
Tabel 4. 12 Klasifikasi Data Ionosphere
Metode PSO CSOn m CSOi CSOsf
Waktu Iterasi (detik) Misklasifikasi 113,9 1,18 25,68%
Nilai inersia w yang semakin kecil akan memberikan dampak pada perpindahahan posisi yang lebih halus. Kecepatan akan lebih dipengaruhi oleh pertukaran informasi dengan kucing yang memiliki posisi terbaik (xbest). Kucing akan semakin memperdalam pencarian solusi optimalnya. Dalam beberapa jurnal, hal ini disebut eksploitasi. Sedangkan nilai w yang mendekati 1 akan berdampak pada pencarian titik solusi baru. Perilaku ini disebut eksplorasi.
5.2. 37 2910, 7 133,1
0,51
28,11%
35,05 1,79
26,49% 27,03%
5. Analisis Dan Pembahasan
5.1.
Analisis Performansi Keseluruhan Model CSO
Dari 10 set data yang dilakukan uji klasifikasi, 9 diantaranya dilakukan dengan baik oleh CSO regresi. Diantara 3 macam variasi CSO regresi, CSO-MRLM steady flag memiliki performa yang paling baik dalam hal jumlah iterasi yang dibutuhkan untuk mencapai titik optimal. Hal ini sesuai dengan jurnal yang ditulis oleh Chu et al, bahwa kelebihan dari CSO adalah CSO hanya membutuhkan iterasi yang lebih sedikit dibandingkan PSO maupun PSO with Weighting Factor.
Analisis Performansi Dan Karakteristik Data
Model CSO-MRLM steady flag (CSOf) digunakan untuk analisis performansi dan karakteristik data. Model ini digunakan karena memberikan hasil yang paling baik diantara 3 model CSO klasifikasi yang diteliti pada penelitian ini. Hal tersebut merujuk pada tabel 5.1 dimana CSOf memiliki rata-rata jumlah iterasi yang paling sedikit diantara model lainnya. Performa model klasifikasi berbedabeda untuk kesepuluh set data yang diuji. Masing-masing set data memiliki karakteristik yang berbeda, meliputi jumlah data, jumlah atribut, maupun nilai atribut. Karakteristik tiap set data telah dijelaskan pada sub bab 4.1. Di bawah ini akan disajikan secara ringkas kesepuluh set data yang diuji.
Tabel 5. 2 Jumlah Data & Atribut 10 Set Data
No. Set data 1 2 3 4 5 6 7 8 9 10
iris breast cancer WDBC pima credit approval spline Haberman’s Survival hepatitis sonar ionosphere
Grafik mengalami kenaikan, namun kembali menurun pada set data berjumlah atribut 30. Hubungan antara jumlah atribut dengan jumlah kebutuhan iterasi yang tidak berbanding lurus mengindikasikan bahwa ada faktor lain yang lebih mempengaruhi performa model dalam melakukan klasifikasi. Selain jumlah atribut dan jumlah data terdapat karakteristik lain yang dimiliki oleh set data, yaitu kemampuan data untuk dipisahkan secara linear. Data yang memiliki jumlah atribut banyak memiliki dimensi yang tinggi. Data seperti itu sulit untuk dilihat apakah linearly separable atau tidak. Karakteristik inilah yang tidak mampu diselesaikan dengan baik oleh pendekatan Multiple Regression Linear Model (MRLM) dalam penelitian ini.
Jumlah Jumlah Data Atribut 100 4 683 9 569 30 768 8 653 15 1527 60 306 3 80 19 206 60 122 34
Hubungan antara banyak iterasi yang dibutuhkan dengan jumlah data dapat dilihat pada gambar 5.1. Pada gambar grafik tersebut terlihat bahwa jumlah data tidak banyak mempengaruhi jumlah iterasi yang dibutuhkan algoritma CSO untuk men-training data. Misalnya pada gambar 5.1 grafik melonjak naik pada data yang memiliki jumlah data 206 lalu turun kembali pada data berjumlah 306. Set data yang memiliki jumlah data sebesar 206 adalah data Sonar. Set Data sonar memiliki jumlah atribut yang relatif besar. Kenaikan grafik juga terjadi pada set data berjumlah 1527 data, yaitu data splice. Data splice memiliki jumlah atribut yang juga besar, yaitu 60 atribut.
Gambar 5. 2 Grafik Jumlah Atribut Dengan Iterasi
6. Kesimpulan dan Saran
6.1.
Gambar 5. 1 Grafik Jumlah Data Dengan Iterasi
Hubungan antara banyak iterasi dengan jumlah atribut disajikan pada gambar 5.2. Semakin banyak jumlah atribut berdampak pada semakin banyak iterasi yang dibutuhkan untuk men-training data. Pada gambar 5.2. terlihat bahwa grafik tidak berbanding lurus. Pada data berjumlah atribut 9 model PSO membutuhkan iterasi yang banyak. Namun pada data berjumlah atribut 15, grafik model PSO kembali menurun. Hal yang serupa juga terjadi pada CSOsf saat model diterapkan pada set data berjumlah atribut 19.
Kesimpulan
Adapun kesimpulan yang dapat diambil dari penelitian ini adalah sebagai berikut: 1. Dalam penelitian ini telah berhasil dikembangkan Cat Swarm Optimization untuk kasus klasifikasi dua kelas. 2. CSO klasifikasi yang digunakan dalam penelitian ini menggunakan pendekatan Multiple Regression Linear Model (MRLM). 3. Pada pengujian 10 set data, antara lain data iris, breast cancer, Wisconsin Diagnostic Breast Cancer (WDBC), pima, credit approval, spline, Haberman’s Survival, hepatitis, sonar, dan ionosphere, model CSO klasifikasi memiliki performa yang lebih baik dibandingkan PSO klasifikasi. 4. CSO klasifikasi pada model CSOsf memiliki performa yang lebih baik 17
dibandingkan PSO klasifikasi ditinjau dari banyaknya jumlah iterasi yang dibutuhkan untuk melatih data training hingga tercapai persentase misklasifikasi yang kecil. 5. Algoritma CSOsf yang diterapkan pada permasalahan klasifikasi memiliki performansi yang unggul seperti halnya pada saat diterapkan dalam permasalahan unconstrained minimization problem.
6.2.
Saran
Penelitian selanjutnya bisa dilakukan untuk kasus klasifikasi multi kelas serta dengan pendekatan lain yang mampu memberikan jumlah misklasifikasi yang lebih kecil. 7. Daftar Pustaka Bramer, Max.2007. Principles of Data Mining.London: Springer-Verlag Chu, Shu-Chuan, Pei-Wei Tsai & Jeng-Shyang Pan.2006. Computational intelligence based on the behavior of cats. International Journal of innovative Computing, Information and Control. Chu, Shu-Chuan, Pei-Wei Tsai & Jeng-Shyang Pan.2006. Cat Swarm Optimization. Proceedings of the 9th Pacific Rim International Conference on Artificial Intelligence LNAI 4099 Gwern, M2Ys4U, Sinebot, et al.2009.Evolutionary Algorithm. http://en.wikipedia.org/wiki/Evolution ary_algorithm Holden, Nicholas & Alex A. Freitas.2008. A Hybrid PSO/ACO Algorithm for Discovering Classification Rules in Data Mining.Unitede Kingdom: University of Kent. Liu, Yang and Kevin M. Passino.2000. Swarm intelligence: Literature Overview. Department of Electrical Engineering: The Ohio State University. TechTarget.2008.Heuristics.
Olson, David L.& Dursun Delen 2008.Advanced Data MiningTechniques. USA: SpringerVerlag Berlin Heidelberg Santosa, Budi.2006. Data Mining Teknik Pengenalan Pola: Teori dan Aplikasi. Yogyakarta: Graha Ilmu
StatSoft,
Inc.2008. Data Mining Techniques. Veeramachaneni, Kalyan, Weizhong Yan, Kai Goebel, Lisa Osadciw.2006. Improving Classifier Fusion Using Particle Swarm Optimization.USA: Syracuse University Wilamowski, Bodgan M.2008. Swarm intelligence. Power point slide show of Neural Networks Lecture.