• Tidak ada hasil yang ditemukan

BAB 1 PENDAHULUAN

1.5. Manfaat Penelitian

Tujuan penelitian ini adalah mengetahui sejauh mana tingkat akurasi pengenalan pola (klasifikasi data) dari masing-masing metode LVQ dan PSO dan faktor-faktor apa saja yang memberikan pengaruh pada perubahan tingkat akurasi tersebut.

1.5. Manfaat Penelitian

Manfaat yang didapat dari penelitian ini adalah ditemukannya faktor dalam model LVQ dan model PSO yang memberikan pengaruh terhadap perubahan akurasi pengenalan pola pada proses klasifikasi data.

5

2.1. Particle Swarm Optimization (PSO)

Particle swarm merupakan teknik optimasi berdasarkan populasi yang dibangun oleh James Kennedy dan Russ Eberhart di tahun 1995, yang terinspirasi dari perilaku sekawanan burung atau ikan. Setiap solusi dalam ruang jawab optimasi berbasis particle swarm akan disebut ”partikel”. Semua partikel akan dievaluasi oleh fungsi kecocokan untuk dioptimalkan, dan memiliki velocity yang akan mengarahkan pergerakan partikel.

James Kenedy dan Russel Ebenhart memperkenalkan Particle Swarm Optimization (PSO) pada sebuah paper dengan judul yang sama pada tahun 1995,dengan paper kedua berjudul A new Optimizer Using Particle Swarm Theory juga pada tahun yang sama dengan menggunakan C.W. Reynolds’ 1987 (Flocks, herds, and schools : a distributed behavioral model), perintis algoritma untuk animasi flock-like (kawanan burung) sebagai referensi, Reynold menggunakan jarak antara individu-individu di dalam kawanan untuk mempengaruhi arah gerak dari masig-masing individu. Algoritma tersebut kemudian menjadi komponen utama dalam algoritma PSO. Walaupun Kennedy dan Eberhart memulai model dengan kawanan burung, ternyata dalam pengembangannya model algoritma ini lebih mirip dengan model kawanan lebah yang didefinisikan oleh M. M. Millonas pada papernya dengan judul Swarms, Phase Transition ,and Collective Inteligence (1994). Milonas mendefinisikan lima prinsip kecerdasan kawanan lebah yaitu proximity (kemampuan kawanan untuk membentuk ruang dan komputasi waktu yang sederhana), quality (kemampuan kawanan untuk merespon perubahan kualitas lingkungan), diverse response (kecenderungan kawanan untuk menghindari komputasional saluran yang panjang), stability (momentum pada kawanan seperti daya tahan kawanan ketika bereaksi pada perubahan-perubahan kecil atau temporal, dan adaptability (sebagai sebuah counter untuk prinsip stability, kawanan harus dapat berubah ketika merespon perubahan lingkungan).

6

Menurut Kennedy dan Ebenhart, algoritma PSO memiliki prinsip-prinsip yang sama. Metode ini menggunakan sekumpulan partikel yang bekerjasama, dimana masing-masing partikel merepresentasikan satu kandidat solusi, untuk mengeksplorasi solusi-solusi yang memungkinkan bagi permasalahan optimasi. Masing-masing partikel diinisialisasi secara acak, kemudian partikel-partikel tersebut diperbolehkan untuk “terbang”. Pada setiap langkah optimasi, masing-masing partikel akan mengevaluasi kemampuannya dan kemampuan partikel-partikel disekitarnya. Masing-masing partikel dapat menyimpan solusi yang menghasilkan kemampuan terbaik sebagai salah satu kandidat solusi terbaik untuk semua partikel disekitarnya.

2.2. Algoritma PSO

Pada versi yang paling mendasar, optimasi berbasis particle swarm dimulai dengan menginisialisasi populasi partikel-partikel secara acak lalu kemudian mencari yang paling optimal. Partikel ini merupakan representasi dari calon solusi untuk permasalahan. Setiap partikel tersebut memiliki kemampuan sebagai berikut:

• kemampuan untuk bertukar informasi satu sama lain.

• kemampuan untuk mengingat posisi sebelumnya masing-masing.

• kemampuan untuk menggunakan informasi untuk mengambil keputusan.

Metode ini akan terus melakukan iterasi sampai kondisi yang diharapkan tercapai (kondisi optimal). Pada tiap iterasi, tiap partikel diperbaharui oleh dua nilai, yang merupakan nilai terbaik. Yang pertama adalah nilai terbaik yang telah dicapai tiap-tiap partikel, disebut sebagai pbest. Nilai yang lain adalah nilai terbaik secara keseluruhan yang dimiliki oleh partikel manapun dalam populasi, nilai ini disebut gbest.

Setelah mendapatkan dua nilai terbaik tersebut, partikel memperbaharui velocity dan posisinya masing-masing dengan persamaan berikut:

𝑣! 𝑡 = 𝑣! 𝑡 − 1 + 𝑐!𝑟! 𝑥!"− 𝑥! + 𝑐!𝑟! 𝑥!− 𝑥! 2.1 𝑥! 𝑡 = 𝑥! 𝑡 − 1 + 𝑣! 𝑡 (2.2)

7

𝑥!"= Posisi terbaik dari semua partikel (gbest) 𝑥!"= Posisi terbaik dari partikel ke-i (pbest) 𝑐!,!= Learning rate

𝑟!,!= Bilangan acak U[0,1]

Dapat dilihat pada persamaan pembaharuan velocity, terdapat 3 term yang membentuk velocity. Yang pertama adalah inertia term, 𝑣! 𝑡 − 1 . Term ini memaksa partikel untuk bergerak ke arah yang sama dengan arah pada pergerakan (iterasi) menambahkan inertia (𝜔) dalam persamaan pembaharuan velocity. Persamaan ini kemudian menjadi algoritma optimasi berbasis particle swarm yang paling umum digunakan:

𝑣! 𝑡 = 𝜔𝑣! 𝑡 − 1 + 𝑐!𝑟! 𝑥!"− 𝑥! + 𝑐!𝑟! 𝑥!"− 𝑥! (2.3)

namun sistem ini bisa membuat partikel menjadi tidak stabil, disebabkan kecepatan nya yang tidak terkontrol. Teknik standard yang digunakan untuk menangani hal ini adalah membatasi velocity, 𝑣! ∈ −𝑉!"#, +𝑉!!" .

Studi yang dilakukan Clerc dan Kennedy di tahun 2002 memberikan persamaan yang dimodifikasi menjadi:

𝑣! 𝑡 = 𝑘(𝑣! 𝑡 − 1 + 𝑐!𝑟! 𝑥!"− 𝑥! + 𝑐!𝑟! 𝑥!"− 𝑥! ) (2.4)

8

Dimana k (koefisien constriction) merupakan sebuah konstanta, yang jika dipilih dengan benar akan menjanjikan kestabilan dari optimasi berbasis particle swarm tanpa perlu membatasi velocity.

Langkah-langkah untuk prosedur optimasi berbasis particle swarm adalah sebagai berikut:

1. bentuk populasi awal dari partikel

2. hitung nilai fitness tiap partikel, jika lebih baik dari nilai fitness selama proses berjalan, set nilai tersebut sebagai pbest.

3. pilih partikel dengan nilai fitness terbaik, set nilai partikel ini sebagai gbest.

4. untuk setiap partikel:

a. hitung velocity berdasarkan fungsi update velocity

b. perbaharui posisi partikel berdasarkan fungsi update posisi

5. berhenti jika kondisi yang diharapkan tercapai. Jika belum, kembali ke langkah 2

2.3 Classifier

Dalam permasalahan klasifikasi, classfier bisa dideskripsikan sebagai suatu objek pemroses pembelajaran yang dapat digunakan untuk memetakan suatu ruang (baik itu bersifat diskrit atau kontinyu ) ke dalam set label yang bersifat diskrit. Dalam pengenalan pola ruang ciri didefinisikan sebagai suatu ruang abstrak dimana masing-masing sampel pola direpresentasikan sebagai sebuah poin dalam ruang n-dimensional.

Classifier digunakan untuk mengidentifikasi objek berdasarkan perhitungan tertentu dari suatu data, dimana setelah melewati tahap pembelajaran dapat menghasilkan identifikasi yang sifatnya paling mirip atau dapat juga menghasilkan distribusi peluang untuk semua kemungkinan identifikasi. Sistem pada classifier dapat dilihat sebagai sebuah sistem keputusan yang akan menerima sebuah nilai dari beberapa karakteristik dan ciri dari suatu objek sebagai input untuk kemudian diproses dan menghasilkan output diskrit berdasarkan set labelnya.

9

2.4 Jaringan saraf tiruan

Jaringan syaraf tiruan (JST) adalah jaringan dari sekelompok unit pemroses kecil (neuron) yang dimodelkan berdasarkan jaringan saraf manusia. Jaringan saraf tiruan tersusun atas elemen-elemen sederhana yang beroperasi secara parallel. Fungsi alami dari jaringan ini ditentukan oleh hubungan antar elemen. Jaringan saraf tiruan dapat dilatih untuk memecahkan suatu fungsi tertentu dengan mengatur nilai bobot koneksi antar neuron. Secara umum JST dilatih sehingga masukan yang diberikan dapat sama dengan target yang diinginkan atau jika tidak bisa sama, selisih (error) antara masukan dengan target diharapkan dapat mencapai nilai tertentu.

Pelatihan dengan menggunakan pasangan masukan atau target disebut dengan teknik pembelajaran terawasi (Supervised Learning). Walaupun kebanyakan jaringan saraf tiruan dijalankan dengan teknik pembelajaran terawasi, namun kebanyakan jaringan saraf tiruan juga dapat dijalankan dengan teknik lain, yaitu Pembelajaran Tak Terawasi (Unsupervised Learning). Karena pada tugas akhir ini digunakan teknik pembelajaran terawasi, maka pembahasan jaringan saraf tiruan pada bab ini difokuskan pada jaringan saraf tiruan dengan teknik pembelajaran terawasi.

Jaringan Saraf Tiruan (JST) merupakan sistem pemrosesan data/informasi meniru sistem jaringan saraf makhluk hidup (biological neural network) yang dikembangkan menjadi model matematik berdasarkan asumsi-asumsi bahwa:

a. Pemrosesan informasi terjadi pada setiap elemen yang disebut sebagai neuron.

b. Sinyal-sinyal akan dilewatkan diantara neuron yang disebut sebagai Connection Link.

c. Setiap Connection Link memiliki bobot (weight) yang bersesuaian.

d. Masing-masing neuron diuji menggunakan fungsi aktivasi setiap elemen inputnya untuk menentukan sinyal outputnya.

Jaringan saraf tiruan (JST) terdiri dari sejumlah elemen sebagai pemroses data yang disebut sebagai neuron, unit, cell atau nodes. Masing-masing neuron terkoneksi satu sama lain oleh sebuah link yang memiliki weight di setiap link nya. Weight merupakan informasi yang akan digunakan jaringan untuk menyelesaikan setiap masalah (problem) yang ada.

10

2.5. Learning Vector Quantization (LVQ)

Learning Vector Quantization (LVQ) adalah sebuah metode klasifikasi dimana setiap unit output mempresentasikan sebuah kelas. LVQ digunakan untuk pengelompokkan dimana jumlah kelompok sudah ditentukan arsitekturnya (target/kelas sudah ditentukan).

LVQ salah satu jaringan syaraf tiruan yang merupakan algoritma pembelajaran kompetitif terawasi versi dari algoritma Kohonen Self-Organizing Map (SOM).

Tujuan dari algoritma ini adalah untuk mendekati distribusi kelas vektor untuk meminimalkan kesalahan dalam pengklasifikasian.

Algoritma diusulkan oleh Kohonen pada tahun 1986 sebagai perbaikan dari Vector Quantization. Model pembelajaran LVQ dilatih secara signifikan agar lebih cepat dibandingkan algoritma lain seperti Back Propagation Neural Network. Hal ini dapat meringkas atau mengurangi dataset besar untuk sejumlah kecil vektor.

LVQ melakukan pembelajaran pada lapisan kompetitif yang terawasi. Lapisan kompetitif akan secara otomatis belajar untuk mengklasifikasikan vector-vector input.

Kelas-kelas yang didapat sebagai hasil dari lapisan kompetitif ini hanya tergantung pada jarak antara vector-vector input. Jika vektor input mendekati sama maka lapisan kompetitif akan mengklasifikasikan kedua vektor input tersebut kedalam kelas yang sama.

Dalam pengenalan wajah, sistem sudah mengetahui bentuk atau fitur wajah tertentu, dan LVQ digunakan untuk mengenali dengan mengklasifikasi fitur wajah tersebut (identifikasi/verifikasi). Nilai vektor reference mirip dengan input vektor x menjadi wc. wc dan x akan berada pada kelas yang sama. Persamaannya sebagai berikut:

wc (t + 1) = wc(t) + α(x(t) − wc(t)) (2.5)

Ketika wc dan x berada pada kelas yang berbeda, maka persamaannya seperti berikut:

wc (t + 1) = wc(t) − α(x(t) − wc(t)) (2.6)

maka wc akan dihapus dari x. Dimana , t adalah waktu dan α adalah learning coefficient yang nilainya : 0 < α < 1.

11

2.5.1. Algoritma LVQ1

Algorima LVQ memiliki banyak varians. Standar LVQ disebut juga dengan algoritma LVQ1. Karakteristik dari LVQ1 adalah bahwa codevector (prototype) atau sering disebut dengan bobot ditempatkan ke dalam ruang input untuk mendekati berbagai domain vektor input melalui kuantisasi nilai bobot masing-masing. Biasanya beberapa vektor codebook ditugasi ke masing-masing kelas dari vektor input x. Kemudian vektor input x ditentukan apakah masuk kedalam kelas yang sama dengan bobot (codebook vector) atau tidak. Untuk menentukan seberapa besar kedekatan antara vektor input dengan vektor bobot, diperoleh dari mengukur jarak terdekat dengan formula yang biasa disebut Euclidean Distance.

𝛿 = !!!! 𝑥!− 𝜔! ! (2.7)

Misalkan 𝑥!(𝑡) adalah input dan 𝜔!(𝑡) merupakan bobot pada waktu tertentu, maka vektor bobot akan diupdate seperti persamaan 2.5 jika keduanya berada pada kelas yang sama, dan sebaliknya persamaan 2.6 jika keduanya berada pada kelas berbeda.

Nilai alpa bisa konstan atau berkurang (decremental). Biasanya nilai alpa dimulai dari 0.1 untuk mendapatkan perubahan vektor bobot yang bisa diamati.

2.5.2. Algoritma LVQ2.1

Jenis LVQ berikutnya adalah LVQ2.1 yang tugasnya sama dengan LVQ1 yaitu untuk mengambil keputusan dalam mengklasifikasikan data. Bedanya dengan LVQ1 adalag bahwa LVQ2.1 diinisialisasi dengan dua vektor bobot, katakanlah 𝜔! dan 𝜔! yang memiliki nilai kedekatan yang sangat kecil dengan input x. Bobot yang satu diupdate jika berada dalam kelas yang sama dan bobot satu lagi diupdate jika berada pada kelas yang berbeda. Kedua bobot diupdate secara bersamaan (simultan). Input x akan diletakkan pada sebuah area yang disebut dengan “window” w yang berada ditengah-tengah 𝜔! dan 𝜔! . Diasumsikan 𝛿! dan 𝛿! adalah Ecluidean Distance input x ke 𝜔! dan 𝜔!.

12

min !!!

! , !!!

! > 𝑠, 𝑑𝑖𝑚𝑎𝑛𝑎 𝑠 = !!!!!! (2.8) W adalah lebar window, yang nilainya berada diantara 0,2 sampai 0,3.

𝜔! 𝑡 + 1 = 𝜔! 𝑡 − 𝛼[𝑥 𝑡 − 𝜔! 𝑡 ] (2.9) 𝜔! 𝑡 + 1 = 𝜔! 𝑡 + 𝛼[𝑥 𝑡 − 𝜔! 𝑡 ] (2.10)

Persamaan 2.9 jika bobot dan input berada dalam kelas yang berbeda, dan persamaan 2.10 jika bobot dan input berada dalam kelas yang sama.

2.5.3. LVQ3

LVQ3 merupakan modifikasi dari LVQ2.1, dimana kedua vektor bobot diupdate secara bersamaan dan nilai x ditentkan oleh besar ukuran window w. Formula untuk window w pada LVQ3 sedikit berbeda.

𝜔! 𝑡 + 1 = 𝜔! 𝑡 + 1 + 𝜀. 𝛼(𝑡)[𝑥 𝑡 − 𝜔! 𝑡 ] (2.11)

Untuk k dalam {i,j}, jika x, 𝜔!, 𝜔! berada dalam kelas yang sama. Dalam beberapa percobaan nilai efsilon berkisar antara 0.1 dan 0.5.

2.5.4. Optimized-Learning Rate LVQ1 (OLVQ1)

Pada algoritma OLVQ1 ini, learning rate alpa diberikan pada tiap-tiap bobot 𝝎𝒊. Persamaan 2.12 Jika x diklasifikasikan dengan benar.

𝜔! 𝑡 + 1 = 𝜔! 𝑡 + 1 + 𝛼(𝑡)[𝑥 𝑡 − 𝜔! 𝑡 ] (2.12) 𝜔! 𝑡 + 1 = 𝜔! 𝑡 + 1 − 𝛼(𝑡)[𝑥 𝑡 − 𝜔! 𝑡 ] (2.13)

Sedangkan persamaan 2.13 jika x diklasifikasikan dengan salah.

2.6. Akurasi

Training sample diasumsikan sebagai distribusi dari testing sampel termasuk distribusi dari data baru (unclassifies sample) yang ingin diduga kelas labelnya. Untuk mendapat akurasi yang baik saat mengklasifikasi testing data, training set harus

13

merepresentasikan keadaan data tes. Jika tidak, maka akurasi biasanya rendah.

(Figliola, 2011).

Dari proses pengenalan pola jaringan syaraf tiruan Learning Vector Quantization (LVQ) menggunakan algoritma genetika, dapat dianalisa dengan persamaan berikut :

% 𝑎𝑘𝑢𝑟𝑎𝑠𝑖 = !"! !"#$ !"#$ !"#$%&'" !"#$%

!"! !"#$ !"#$ !"#$" ×100% (2.14)

BAB 3

METODOLOGI PENELITIAN

3.1. Pendahuluan

Pengenalan pola (pattern recognition) adalah proses klasifikasi dari suatu objek atau pola menjadi beberapa kategori atau kelas, yang mana bertujuan untuk memberikan informasi. Pola merupakan bentuk atau model yang dapat dipakai untuk membuat atau menghasilkan suatu bagian dari sesuatu yang ingin dikenal. Salah satu pendekatan pengenalan pola adalah dengan menggunakan jaringan syaraf tiruan, yang mana jaringan syaraf tiruan memiliki cara kerja yang menyerupai cara kerja otak manusia.

Salah satu metode jaringan syaraf tiruan adalah Learning Vector Quantiztion (LVQ), yang metode pelatihannya pada lapisan kompietitf terawasi yang akan belajar secara otamatis. Untuk meningkatkan akurasi pembelajaran pada LVQ perlu dilakukan optimalisasi pada LVQ sebelum dilakukan pengujian.

Algoritma optimasi yang digunakan pada penelitian ini adalah algoritma Paticle Swarm Optimization (PSO). Algoritma PSO, pada dasarnya mencari sebuah solusi optimal yang direpresentasikan dalam sekumpulan partikel. Pada penelitian ini, PSO akan melakukan pelatihan pada jaringan saraf tiruan LVQ sehingga mampu meningkatkan akurasi dalam pengklasifikasikan data. Proses klasifikasi data masuk kedalam domain supervised learning, dimana input dan target diketahui. Sehingga dataset yang digunakan untuk eksperimen ini adalah dataset yang sudah pernah diklasifikasikan oleh peneliti sebelumnya. Gambar 3.1a merupakan alur pengklasifikasian data menggunakan PSO dan gambar 3.1b merupakan pengklasifikasian data menggunakan LVQ.

13

3.2. DataSet

Dataset yang digunakan dalam penelitian ini adalah data Iris Plants Database. Dataset dapat dilihat di repositori UCI Machine Learning pada website https://archive.ics.uci.edu/ml/machine-learning/databases/iris/iris.names.

Jumlah atribut 4 atribut numerik, dan 1 atribut polinominal (atribut label/kelas).

Adapun atribut-atribut pada dataset iris, sebagai berikut:

1. Sepal length dalam centimeter 2. Sepal width dalam centimeter 3. Petal length dalam centimeter 4. Petal width dalam centimeter 5. Kelas:

- Iris Setosa - Iris Versicolor - Iris Virginica

Tabel 3.1 Deskripsi Statistik Dataset Iris

Atribut Min Max Mean SD Class Correlation Sepal length 4.3 7.9 5.84 0.83 0.7826

Sepal Width 2.0 4.4 3.05 0.43 -0.4194 Petal Length 1.0 6.9 3.76 1.76 0.9490 Petal Width 0.1 2.5 1.20 0.76 0.9565

Banyak data (jumlah instance) dataset iris adalah 150.

14

Gambar 3.1. Diagram Blok Penelitian

3.3. Pembelajaran LVQ

Algoritma LVQ adalah langkah-langkah yang dilakukan untuk proses pembelajaran sehingga menghasilkan keluaran berupa vektor bobot yang akan diuji untuk pengenalan pola.

15

Tahap pertama algoritma pembelajaran LVQ yaitu menentukan bobot awal (initial vector references). Bobot awal pada pembelajaran LVQ diambil secara random dari dataset yang akan dilatihkan. Bobot awal mewakili tiap kelas yang menjadi target pembelajaran. Dataset klasifikasi terdiri dari 3 (tiga) buah kelas. Vektor bobot (referensi awal) diambil secara random dari datalatih. Tiap-tiap kelas terdiri satu instans bobot yang mewakili yang ada pada tabel 3.3, kemudian sisanya dijadikan data latih. Dengan kata lain, dari 150 instan diambil 3 instan untuk bobot referensi maka jumlah data latih sebanyak 147 instan seperti yang terlihat pada tabel 3.2.

Tabel 3.2 Data Latih

16

Tabel 3.3 Vektor bobot awal No Atr1 Atr2 Atr3 Atr4 Kelas

1 5,1 3,5 1,4 0,2 Iris-setosa 2 7 3,2 4,7 1,4 Iris-versicolor 3 6,3 3,3 6 2,5 Iris-virginica

Berikut ini disajikan contoh pembelajaran yang dilakukan oleh LVQ.

Misalkan besar alpha 𝛼 = 0,05, dan penurunannya 0,1, sehingga update apha tiap iterasi seperti pada persamaan 3.1.

𝛼 𝑡 = 𝛼 𝑡 − 1 − 0,1 ∗ 𝛼(𝑡 − 1) (3.3) Epoch = 1 :

Untuk data latih ke -1 sampai data latih ke-147

Hitung jarak (Euclidean distance) 𝐶! dengan persamaan 3.1 berikut ini.

𝐶 = !!!! 𝑥!− 𝜔! ! (3.4)

Data ke-1 :

𝐶! = 4,9 − 5,1 !+ 3 − 3,5 !+ 1,4 − 1,4 !+ 0,2 − 0,2 ! = 0,538 𝐶! = 4,9 − 7 !+ 3 − 3,2 !+ 1,4 − 4,7 ! + 0,2 − 1,4 ! = 4,096 𝐶! = 4,9 − 6,3 !+ 3 − 3,3 !+ 1,4 − 6 ! + 0,2 − 2,5 ! = 5,338 Dari perhitungan jarak diatas, maka yang memiliki jarak terkecil adalah 𝐶!. Kemudian 𝐶! akan diupdate dengan ketentuan, jika 𝐶! dan T berada pada kelas yang sama maka diudate dengan persamaan 3.1.

𝑤!! 𝑡 + 1 = 5,1 + 0,05 4,9 − 5,1 = 5,09 𝑤!" 𝑡 + 1 = 3,5 + 0,05 3 − 3,5 = 3,475 𝑤!" 𝑡 + 1 = 1,4 + 0,05 1,4 − 1,4 = 1,4 𝑤!" 𝑡 + 1 = 0,2 + 0,05 0,2 − 0,2 = 0,2

4,9 3 1,4 0,2 Iris-setosa

17

Sehingga bobot baru yang terbentuk ada pada tabel 3.4.

Tabel 3.4 Bobot baru ke-1 Kemudian 𝐶! akan diupdate dengan ketentuan, jika 𝐶! dan T berada pada kelas yang sama maka diudate dengan persamaan 3.1.

𝑤!! 𝑡 + 1 = 5,09 + 0,05 4,7 − 5,09 = 5,07 𝑤!" 𝑡 + 1 = 3,475 + 0,05 3,2 − 3,475 = 3,461

𝑤!" 𝑡 + 1 = 1,4 + 0,05 1,3 − 1,4 = 1,395 𝑤!" 𝑡 + 1 = 0,2 + 0,05 0,2 − 0,2 = 0,2 Sehingga bobot baru yang terbentuk ada pada tabel 3.5.

Tabel 3.5 Bobot baru ke-2

18

Sampai pada data ke-147 berakhir, maka berakhir pula epoch ke-1. Kemudian learning rate alpa di update menggunakan persamaan 3.3.

𝛼 𝑡 = 2 = 0,05 − 0,1 0,05 = 0,005

Selanjutnya dilakukan epoch ke -2 (atau t = 2) dengan nilai alpa 0,005

Sama seperti perhitungan pada iterasi ke-1 (epoch ke-1), hitung nilai jarak tiap data dengan referensi vektor bobot yang digunakan adalah vektor bobot perhitungan terakhir yakni data ke-147, kemudian cari jarak minimum, lalu lakukan update dengan ketentuan persamaan 3.1 atau 3.2.

3.4 Klasifikasi Particle Swarm (PS).

Pada penelitian ini, penulis melakukan klasifikasi data berdasarkan partikel swarm yang diadaptasi menggunakan algoritma PSO. Particle Swarm akan menyesuaikan posisi prototipe yang dihasilkan oleh algoritma. Proses pembelajaran PS terdiri dari memilih posisi partikel (prototype) yang bagus secara iteratif. Setelah proses pembelajaran selesai akan dihasilkan prototype (partikel) yang digunakan untuk memprediksi kelas mana yang sesuai untuk masing-masing data input (object input) yang berasal dari dataset.

Pada proses kluster particel berinteraksi satu dengan lainnya dan lingkungannya. Kriteria konvergensi dari algoritma ditentukan oleh stabilitas path dari tiap particle dan jumlah particle yang diinisialiasasi secara empirik. Dimensi particle diberikan sesuai dimensi data input, dimana masing-masing posisi vektor adalah atribut data input. Fungsi evaluasi tidak dijabarkan secara eksplisit, tetapi kualitas

19

particle diukur dengan menggunakan Euclidean Distance untuk mengetahui similaritas antara particle dengan input. Pada algoritma ini partikel yang diupdate tergantung pada data input, hanya pemenang yang memiliki kemiripan dengan data input yang diupdate menggunakan persamaan.

3.5 Algortima Klasifikasi PS

Ada dua langkah penting dalam algoritma klasifikasi PSO:

1. Menempatkan posisi partikel kedalam input space yang merepresentasikan kluster data.

2. LVQ1 melakukan penyesuai kelas sehingga error dalam klasifikasi kecil.

Setiap objek j dalam dataset, ada partikel i yang memiliki similaritas tinggi dengan objek j, atau dengan kata lain objek j dan partikel i berada dalam kelas yang sama, Partikel tersebut kemudian diupdate menggunakan berikut ini.

𝑥

!

𝑡 + 1 = 𝑥

!

𝑡 + 𝑣

!

𝑡 + 1 (3.5)

Jika objek j dan partikel i tidak berada dalam kelas yang sama, update partikel tersebut menggunakan persamaan berikut ini.

𝑥

!

𝑡 + 1 = 𝑥

!

𝑡 − 𝑣

!

𝑡 + 1 (3.6)

Sedangkan untuk update kecepatan 𝑣!(𝑡 + 1) digunakan persamaa berikut ini.

𝑣! 𝑡 + 1 = 𝜔 ∗ 𝑣! 𝑡 + 𝑐! 𝑃!!− 𝑥!(𝑡) + 𝑐! 𝑔! 𝑡 − 𝑥! 𝑡

+ 𝑐! 𝑦!− 𝑥! 𝑡 (3.7) 𝜔 disebut sebagai moment inertia, yang bertanggung jawab mengontrol konvergensi algoritma. 𝜑! 𝑃!!− 𝑥!(𝑡) disebut sebagai cognitive term, yang berkaitan dengan pengalaman masing-masing partikel. Personal best position (𝑃!!) yaitu jarak terkecil antara objek input (𝑦!) dengan partikel pemenang (𝑥!). 𝜑! 𝑔! 𝑡 − 𝑥! 𝑡 disebut sebagai social term yaitu berkaitan dengan partikel 𝑔! 𝑡 yang terdekat dengan objek input (𝑦!) sejauh ini. 𝜑!(𝑦!− 𝑥! 𝑡 ) disebut sebagai self-organizing term.

20

Berikut ini Algoritma PS klasifikasi yang digunakan.

1. Lakukan kluster terhadap dataset. Dalam hal ini digunakan 3 kluster, karena dataset terdiri dari 3 kelas. Pilih 3 titik centroi cluster sebagai target dari masing-masing partikel untuk menyesuaikan kecepatan dan posisinya.

2. Tetapkan kondisi awal: nilai 𝜔 (learning rate), maksimum epoch (maxEpoch), nilai Vmax (kecepatan maksimum),𝑐! dan 𝑐!, Kecepatan awal (𝑣 0 , Pbest 𝑃!!, dan Gbest 𝐺!

3. Inisialisasi posisi partikel dengan cara random (dari nilai minimum ke maksimum posisi partikel) masing-masing dimensi.

4. Hitung jarak tiap partikel 𝑥! dengan target (titik centroid, 𝑦!) masing-masing kluster.

5. Pilih jarak terkecil dari tiap partikel ke titik centroid masing-masing kluster.

a. Jika 𝛿 𝑥!, 𝑦! < 𝛿 𝑃!!, 𝑦! maka 𝑃!! = 𝑥! b. Jika 𝛿 𝑥!, 𝑦! < 𝛿(𝐺!, 𝑦!) maka 𝐺!=𝑥!

6. Update kecepatan masing-masing partikel sesuai Pbest dan Gbest nya menggunakan persamaan 3.7.

7. Update Posisi patikel dengan ketentuan

a. Jika 𝑙𝑎𝑏𝑒𝑙 𝑥! = 𝑙𝑎𝑏𝑒𝑙 (𝑦!) update dengan persamaan 3.5.

b. Jika 𝑙𝑎𝑏𝑒𝑙 𝑥! ≠ 𝑙𝑎𝑏𝑒𝑙 (𝑦!) update dengan persamaan 3.6.

8. Update learning rate (𝜔) misalnya dengan 𝜔 𝑡 + 1 = 0.95 ∗ 𝜔 𝑡

9. Ulangi langkah ke- 4 sampai langkah ke-8, sampai kriteria berhenti terpenuhi, bisa dengan maksimum Epoch atau dengan maksimumError, dibandingkan dengan nilai learning rate-nya.

Dari proses pelatihan yang dilakukan menggunakan Partikel Swarm, maka akan diperoleh nilai-nilai yang akan dijadikan acuan pada pengujian data. Nilai-nilai tersebut adalah, seperti 𝜔 (learning rate), Pbest 𝑃!!, Gbest (𝐺!) dan maksimum Epoch yang ideal.

Misal, data latih yang digunakan adalah dataset iris pada tabel 3.2 dan partikel diinisialisasi dengan cara random dari

21

3.6 Akurasi

Perhitungan akurasi (ketepatan) dalam memprediksi kelas mana yang sesuai untuk data uji yang dilakukan, maka sejumlah dataset uji diambil sampelnya kemudian dilakukan perhitunga jarak terdekat menggunakan Euclidean Distance.

Nilai akurasi didapat dari persamaan 3.8.

𝑎𝑘𝑢𝑟𝑎𝑠𝑖 =𝑗𝑢𝑚𝑙𝑎ℎ 𝑝𝑟𝑒𝑑𝑖𝑘𝑠𝑖 𝑏𝑒𝑛𝑎𝑟

𝑗𝑢𝑚𝑙𝑎ℎ 𝑝𝑒𝑛𝑔𝑢𝑗𝑖𝑎𝑛 𝑥100% (3.8) Vektor bobot yang dipakai sebagai referensi pada pengujian algoritma LVQ berasal dari vektor bobot yang terpilih sebagai bobot yang paling ideal (convergen).

Sedangkan pada algoritma PSO, Pbest dan Gbest menjadi acuan perhitungan jarak Euclidean Distance-nya.

BAB 4

HASIL DAN PEMBAHASAN

4.1. Pendahuluan

Dalam tahapan ini penulis akan memaparkan hasil dan pembahasan penelitian ini tentang analisis akurasi pembelajaran LVQ dan analisis akurasi pembelajaran PSO terhadap data uji untuk proses klasifikasi data. Penyajian hasil pengujian akan ditampilkan dalam bentuk table dan grafik.

4.2. Hasil Pembelajaran LVQ

Untuk melakukan pembelajaran pada pengenalan pola data iris, terlebih dahulu memenentukan bobot vektor awal (w), iterasi maksimum (epoch maksimum), error minimum (eps), dan learning rate (α). Pengujian berhenti apabila learning rate (α) mencapai nilai yang cukup kecil. Hasil dari pelatihan ini berupa vektor bobot (prototype) yang akan dipakai untuk pengujian.

Tabel 4.1 Data Latih

No Atr1 Atr2 Atr3 Atr4 Kelas 1 5.1 3.5 1.4 0.2 Iris-setosa 2 4.9 3.0 1.4 0.2 Iris-setosa .. .. ... ... ... ...

150 ... ... ... ... ...

Parameter input pembelajaran LVQ yang diinisialisasi sangat menentukan hasil akhir dari vektor bobot untuk pengujian. Tabel 4.2 merupakan hasil dari pelatihan dimana nilai epoch = 50, alpa = 0,02 dan jumlah neuron = 3.

23

Tabel 4.2 Bobot dengan neuron = 3

Atr1 Atr2 Atr3 Atr4 Kelas

5.0047 3.4158 1.4646 0.2446 Iris-Setosa 5.8870 2.76352 4.0881 1.21105 Iris-Versicolor 6.70078 3.01831 5.7072 2.09942 Iris-Virginica

Jika jumlah neuron di naikkan menjadi 4, maka bobot yang dihasilkan akan berbeda.

Tabel 4.3 Bobot dengan neuron = 4 Atr1 Atr2 Atr3 Atr4 Kelas

Tabel 4.3 Bobot dengan neuron = 4 Atr1 Atr2 Atr3 Atr4 Kelas

Dokumen terkait