Algoritma Klasifikasi

7.3 Algoritma Klasifikasi

7.3.1 ELM Untuk Regresi Vs Untuk Klasifikasi

Sudah Dijelaskan pada Bab Sebelumnya, misalkan diketahui, data training (terdapat 3 fitur dan single target) sebagai berikut (Lihat Ma- teri ELM untuk Regresi):

ELM untuk Klasifikasi (Cara 1):

ELM untuk Klasifikasi (Cara 2):

7.3.2 Support Vector Machine (SVM) Linear dan Non-Linear

SVM Linear:

Gambar 7.6 Ilustrasi SVM Linear

Margin   w

Support Vector kelas -1 Support Vector kelas +1

Jarak titik (x i ) ke Hyperplane :

d   w , b , x i   

y i f  x i 1

d   w , b , x i   

Gambar 7.7 SVM Non-Linear

SVM Non-Linear (terdapat data noise, outliers, atau memang sebaran datanya secara alami non-linear). Slack variables ξ i dapat ditambahkan untuk mentoleransi adanya mis-classification yang sulit dipecahkan karena misal, ada data noise.

Gambar 7.8 Gambaran SVM dengan Slack Variable Langkah-langkah dalam SVM:

  x i , y i   i  1 y i    1 , 1. Data dan kelas 1 dimana

2. Melakukan proses training untuk mendapatkan nilai 𝛼 i dengan menggunakan algoritma Sequential Training SVM

3. Hitung w dan b dan Hasil klasifikasi sign(f(x))

n w    i y i   x i

dimana m adalah jumlah support vector/titik data yang memiliki α i >0

Algoritma Sequential Training SVM:

1. Inisialisasi nilai 𝛼 i = 0, λ, γ (learning rate), C, ε (epsilon), IterMax, parameter kernel (jika ada) dan hitung matrik D ij untuk i, j = 1, ..., n. Dimana n adalah banyaknya data training.

D 2 ij  y i y j ( K ( x i , x j )   )

2. Melakukan iterasi untuk perhitungan:

a. E i    j D ij a. E i    j D ij

c.  i   i   i

3. Cek kondisi

berhenti

ketika

memenuhi kondisi,

max(|  i |)   atau telah mencapai IterMax, jika tidak, maka kembali pada langkah ke-2.

Algoritma Sequential Training SVM untuk data dengan 2 kelas (Binary SVM atau SVM Biner):

Diketahui data training dan testing: Tabel 7.1 Data Training dan Data Testing

No Tgl/Bln/Thn F1 F2 F3 F4 Kelas 1 9 Juli 2015

13338 13356 13332 13331 Jual 2 10 Juli 2015

13356 13332 13331 13337 Jual 3 11 Juli 2015

13332 13331 13337 13316 Beli

Data Latih

4 12 Juli 2015 13331 13337 13316 13316 Beli 5 13 Juli 2015

13337 13316 13316 13316 Beli 6 14 Juli 2015

13313 13346 13347 13304 Beli 7 15 Juli 2015

13346 13347 13304 13304 Beli Data Uji 8 16 Juli 2015

13347 13304 13304 13304 Beli Kelas jual = +1, dan beli = -1

1. Inisialisasi nilai 𝛼 i = 0, λ = 4.32, γ (learning rate) = 0.00406,

C = 100, ε (epsilon) = 0.0004, IterMax=1, σ = 0.7 dan hitung matrik D ij

Tabel 7.2 𝛼 i 𝛼 i

Diketahui data training dan testing (hasil normalisasi dengan Xmin= 9634 Xmax= 14728):

( x  x min ) ( 13338  9634 ) x ' 

 0.727129 x max  x min

D 2 ij  y i y j ( K ( x i , x j )   )  

D 1 , 2   1 x 1

3.61095 -5  10 

 exp  

Tabel 7.3 Hasil Perhitungan D ij

D ij 1 2 3 4 5 1 19.6624

-19.662348 -19.66235 3 -19.662364

2. Melakukan iterasi untuk perhitungan (iterasi =1):

a. E i    j D ij

E 1   1 D 11   2 D 12   3 D 13   4 D 14   5 D 15  0

Tabel 7.4 Hasil Perhitungan E i Tabel 7.4 Hasil Perhitungan E i

 1  min{max[ 0 . 00406 ( 1  E 1 ),   1 ], 100   1 }  1  min{max[ 0 . 00406 ( 1  0 ),  0 ], 100  0 }  0 . 00406

Tabel 7.5 Hasil Perhitungan  i

 i

c.  i   i   i

Tabel 7.6 Hasil Perhitungan  i

3. Cek kondisi berhenti ketika memenuhi kondisi, Karena iterasi = IterMax (Stop), misalkan jika

max(|  i |)  

, dan iterasi < IterMax, maka iterasi = iterasi + 1, lalu kembali

pada langkah ke-2 Hitung b

Set nilai x+ dan x- dari masing kelas yang memiliki nilai 𝛼 i tertinggi,

x  x 1 x  x 3 dan karena semua nilai 𝛼 i > 0, maka

yaitu

banyaknya support vector (m) = banyak data training, yaitu 5

i y i K ( x i , x 1 )   1 y 1 K ( x 1 , x 1 )  ..   5 y 5 K ( x 5 , x 1 )   0.00405952 95

i y i K ( x i , x 3 )   1 y 1 K ( x 1 , x 3 )  ..   5 y 5 K ( x 5 , x 3 )   0.00406012 71

b    - 0.00405952 951339599  -0.0040601 2708165399 

Hasil klasifikasi sign(f(x))

i 1

Misal menghitung hasil klasfikasi dari uji ke-1, maka tentukan sign(f(xtest 1 ))

Tabel 7.7 Hasil klasifikasi sign(f(x))

No Tgl/Bln/Thn F1 F2 F3 F4 Ke- las

1 14 Juli 2015 0.722811 0.722811 0.722811 0.730075 -1

2 15 Juli 2015 0.722811 0.722811 0.730075 0.722222 -1

3 16 Juli 2015 0.722811 0.730075 0.722222 0.728700 -1

f ( xtest 1 )    i y i K ( x i , xtest 1 )  0.00405982 829752499 f ( xtest 1 )    i y i K ( x i , xtest 1 )  0.00405982 829752499

 -0.0000000 1603661634 38896 Tabel 7.8 Hasil Perhitungan xtest 1

K(x i ,xtest 1 )

xtest 1

x 1 0.999888955584422 x 2 0.999908104359568 x 3 0.999909913096674 x 4 0.999919979151857 x 5 0.999928826350961

Hasil kelas prediksi xtest 1

sign(f(xtest 1 )) = -1 Maka xtest 1 masuk kelas beli (true). Algoritma Sequential Training SVM untuk data dengan > 2 kelas,

berikut beberapa strategi yang bisa digunakan:

1. One Against All (OAA) oleh (Cortes and Vapnik, 1995)

Gambar 7.9 Contoh Klasifikasi dengan Metode One-Against-All

Sumber : Sembiring(2007

Tabel 7.9 Contoh 3 SVM Biner dengan Metode One-Against-All

𝑦 𝑖 =1 𝑦 𝑖 = −1 Hipotesis Kelas 1 Bukan kelas 1 𝑓 1 (𝑥) = (𝑤 1 )𝑥 + 𝑏 1

Kelas 2 Bukan kelas 2 𝑓 2 (𝑥) = (𝑤 2 )𝑥 + 𝑏 2

Kelas 3 Bukan kelas 3 𝑓 3 (𝑥) = (𝑤 3 )𝑥 + 𝑏 3

2. One-Against-One (OAO) oleh (Fridman, 1996) Misal banyaknya kelas (k) = 4 Pair-wise. k(k-1)/2

Pair-wise

Misal

Gambar 7.10 Klasifikasi One-Against-One untuk 4 Kelas

Sumber : Sembiring (2007) SVM Biner dengan Metode One-Against-One

Tabel 7.10 Metode One-Against-One dengan 4 Kelas

𝑦 𝑖 =1 𝑦 𝑖 = −1 Hipotesis Kelas 1 Kelas 2 12 12 𝑓 12 (𝑥) = (𝑤 )𝑥 + 𝑏 Kelas 1 Kelas 3 13 13 𝑓 13 (𝑥) = (𝑤 )𝑥 + 𝑏 Kelas 1 Kelas 4 14 (𝑥) = (𝑤 13 𝑓 14 )𝑥 + 𝑏

Kelas 2 Kelas 3 23 𝑓 23 (𝑥) = (𝑤 23 )𝑥 + 𝑏 Kelas 2 Kelas 4 𝑓 24 (𝑥) = (𝑤 24 )𝑥 + 𝑏 24 Kelas 3 Kelas 4 34 34 𝑓 34 (𝑥) = (𝑤 )𝑥 + 𝑏

3. Binary Decision Tree (BDTSVM) oleh (Gjorgji M., dkk, 2008)

Langkah membuat Tree untuk BDTSVM :

1. Tentukan titik pusat data (center data) tiap kelas.

2. Buat Matrik Jarak (Euclidean) antar titik pusat data.

3. Cari Jarak Terjauh untuk pemisahan kelas (y = +1 dan y = -1)

4. Tetapkan kelas dari center data dengan jarak terdekat, pada kelas (y = +1) atau kelas (y = -1) dari hasil pemisahan pada langkah (3)

Gambar 7.11 Ilustrasi Klasifikasi dengan BDTSVM Tabel 7.11 Metode BDTSVM dengan 7 Kelas

𝑦 𝑖 =1 𝑦 𝑖 = −1 Hipotesis Kelas 2,3,4,7

Kelas 1, 5, 6 𝑓 (2, 3, 4, 7)(1, 5, 6) (𝑥) = (𝑤 (2, 3, 4, 7)(1, 5, 6) )𝑥 + 𝑏 (2, 3, 4, 7)(1, 5, 6) Kelas 2,3

Kelas 4,7 𝑓 (2, 3)(4,7) (𝑥) = (𝑤 (2, 3)(4,7) )𝑥 + 𝑏 (2, 3)(4,7) Kelas 1,5

Kelas 6 𝑓 (1, 5)(6) (𝑥) = (𝑤 (1, 5)(6) )𝑥 + 𝑏 (1, 5)(6) Kelas 2

Kelas 3

Kelas 4 Kelas 7

Kelas 1 Kelas 5

4. Directed Acrilyc Graph SVM (DAGSVM) (C. W. Hsu dan C. J. Lin, 2002)

Gambar 7.12 Ilustrasi Klasifikasi dengan metode DAGSVM