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