0% menganggap dokumen ini bermanfaat (0 suara)
60 tayangan27 halaman

Support Vector Machine

Dokumen tersebut membahas tentang Support Vector Machine (SVM) yang merupakan metode klasifikasi berbasis pembelajaran mesin. SVM bekerja dengan mencari hiperplan terbaik yang dapat memisahkan dua kelas data."

Diunggah oleh

Umi Mahdiyah
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
60 tayangan27 halaman

Support Vector Machine

Dokumen tersebut membahas tentang Support Vector Machine (SVM) yang merupakan metode klasifikasi berbasis pembelajaran mesin. SVM bekerja dengan mencari hiperplan terbaik yang dapat memisahkan dua kelas data."

Diunggah oleh

Umi Mahdiyah
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 27

DATA MINING

Support Vector Machine


Umi Mahdiyah
Pokok Pembahasan
1. Support Vector Machine (SVM)
 Pengertian SVM
 Model SVM
 Visualisasi SVM
 Karakteristik SVM
2. Case Study
Support Vector Machine
 Konsep Klasifikasi dengan Support Vector Machine (SVM) adalah mencari
hyperplane terbaik yang berfungsi sebagai pemisah dua kelas data.
 Ide sederhana dari SVM adalah memaksimalkan margin, yang merupakan
jarak pemisah antara kelas data.
 SVM mampu bekerja pada dataset yang berdimensi tinggi dengan
menggunakan kernel trik.
 SVM hanya menggunakan beberapa titik data terpilih yang berkontribusi
(Support Vector) untuk membentuk model yang akan digunakan dalam
proses klasifikasi.
 Macam-Macam Training untuk SVM :
 Chunking (Quadratic Programming).
 Osuna (Dekomposisi).
 Sequential Minimum Optimation (SMO).
 Least Square (LS) dan lainnya.
Model SVM
 Titik data : xi = {x1,x2,….,xn} ϵ Rn
 Kelas data : yi ϵ {-1,+1}
 Pasangan data dan kelas :
xi , yi iN1
 Maksimalkan fungsi berikut :

Ld    i    i j yi y j K xi , x j  syarat : 0   i  C dan


N N N N

i 1 i 1 j 1
 y
i 1
i i 0

1
 
 Hitung nilai
N w dan b :
w    i yi xi b   w.x   w.x 
i 1
2
 Fungsi keputusan klasifikasi sign(f(x)) : m
f ( x)  w.x  b atau f ( x)    i yi K ( x, xi )  b
i 1

Keterangan :
N (banyaknya data), n (dimensi data atau banyaknya fitur), Ld (Dualitas
Lagrange Multipier), αi (nilai bobot setiap titik data), C (nilai konstanta), m
(jumlah support vector/titik data yang memiliki αi > 0), K(x,xi) (fungsi kernel).
Model SVM (Cont.)
 Beberapa Macam Fungsi Kernel Support Vector Machine (SVM) :
No Nama Kernel Definisi Fungsi
1 Linier K(x,y) = x.y
2 Polinomial of degree d K(x,y) = (x.y)d
3 Polinomial of degree up to d K(x,y) = (x.y + c)d
4 Gaussian RBF

5 Sigmoid (Tangen Hiperbolik)


6 Invers Multi Kuadratik

7 Additive

 Kernel Linier digunakan ketika data yang akan diklasifikasi dapat terpisah dengan
sebuah garis/hyperplane.
 Kernel non-Linier digunakan ketika data hanya dapat dipisahkan dengan garis lengkung
atau sebuah bidang pada ruang dimensi tinggi (Kernel Trik, No.2 sampai 6).
Visualisasi SVM
 Linier Kernel :
2 2
mar
gin (w.x) + b = +1 Margin  
w 2
w1  w2
2

Hyp
(w.x) + b = -1

erp
la
y = +1 Support Vector kelas -1

ne
Support Vector kelas +1
y = -1 w
Jarak titik (xi) ke Hyperplane :

y i xi  w  b  1
d w, b , xi   
w w
(w.x) + b = 0
y i f xi  1
d w, b , xi   
 w w
Non-Linier Kernel :
Karakteristik SVM
 Karakteristik SVM :
 SVM memerlukan proses pelatihan dengan menyimpan hasil
support vektor yang didapatkan untuk digunakan kembali pada
saat proses prediksi/testing.
 SVM selalu memberikan model yang sama dan solusi yang sama
dengan margin maksimal.
 SVM dapat memisahkan data yang distribusi kelasnya bersifat
linier maupun non linier.
 SVM tidak dipengaruhi oleh dimensi data yang tinggi, sehingga
tidak ada proses reduksi dimensi didalamnya.
 Memori yang digunakan dalam SVM dipengaruhi oleh banyaknya
data, bukan besarnya dimensi data.
Contoh Studi Kasus
 Contoh SVM Linier pada dataset berikut :
Tentukan Hyperplanenya !

x1 x2 Kelas (y)
1 1 1
1 -1 -1
-1 1 -1
-1 -1 -1
 Bentuk Visualisasi data :
1.5
1
0.5
0
-1.5 -1 -0.5 0 0.5 1 1.5
-0.5
-1
-1.5
Contoh Studi Kasus 1 (Cont.)
 Contoh SVM Linier :
1.5
x1 x2 Kelas (y) 1
1 1 1 0.5
1 -1 -1 0
-1.5 -1 -0.5-0.50 0.5 1 1.5
-1 1 -1 -1
-1 -1 -1 -1.5

 Karena ada dua fitur (x1 dan x2), maka w juga akan memiliki 2 fitur (w1 dan w2).
 Formulasi yang digunakan adalah sebagai berikut :
 Meminimalkan nilai :

 Syarat :
Contoh Studi Kasus 1 (Cont.)
 Karena ada dua fitur (x1 dan x2), maka w juga akan memiliki 2 fitur (w1 dan w2).
 Formulasi yang digunakan adalah sebagai berikut :
 Meminimalkan nilai margin :

 Syarat :

Sehingga didapatkan beberapa persamaan berikut :


Contoh Studi Kasus 1 (Cont.)
Didapatkan beberapa persamaan berikut :
• Menjumlahkan persamaan (1) dan (3) :

 Menjumlahkan persamaan (1) dan (2) :


• Menjumlahkan persamaan (2) dan (3) :

Sehingga didapatkan persamaan hyperplane :


w1x1 + w2x2 + b = 0
x1 + x 2 - 1 = 0
x2 = 1 - x 1
Contoh Studi Kasus 1 (Cont.)
Visualisasi garis hyperplane (sebagai fungsi klasifikasi) :
w1x1 + w2x2 + b = 0
x2 = 1 - x 1
x1 + x 2 - 1 = 0
x2 = 1 - x 1 1.5

x2
x1 x2 = 1 – x1 1

-2 3 0.5

-1 2 0
x1
Kelas -1
-1.5 -1 -0.5 0 0.5 1 1.5 Linear
0 1 -0.5 (Kelas -1)

1 0 -1

2 -1 -1.5
Contoh Studi Kasus 1 (Cont.)
Misalkan diketahui data uji/ data testing berikut :
Diketahui : f(x) = x1 + x2 – 1
x2 = 1 - x 1
Kelas = sign(f(x))

1.5

x2
Data Uji Hasil Klasifikasi
1
No
x1 x2 Kelas = sign(x1 + x2 - 1) 0.5

0 x1 Kelas -1
1 1 5 sign (1 + 5 - 1) = +1 -1.5 -1 -0.5 0 0.5 1 1.5 Linear
(Kelas -1)
-0.5
2 -1 4 sign (-1 + 4 - 1) = +1
-1
3 0 7 sign (0 + 7 - 1) = +1
-1.5
4 -9 0 sign (-9 + 0 - 1) = -1
5 2 -2 sign (2 - 2 - 1) = -1
Contoh Studi Kasus 2
 Contoh SVM Non Linier pada dataset berikut :
x1 x2 Kelas (y)
1 1 -1
1 -1 1
-1 1 1
-1 -1 -1

 Bentuk Visualisasi data1.5:


1

0.5

0
-1.5 -1 -0.5 0 0.5 1 1.5
-0.5

-1

-1.5
Contoh Studi Kasus 2 (Cont.)
 Contoh SVM Non Linier :
1.5
x1 x2 Kelas (y)
1

1 1 -1 0.5

1 -1 1 -1.5 -1 -0.5
0
0 0.5 1 1.5

-1 1 1 -0.5

-1
-1 -1 -1
-1.5

 Karena ada dua fitur (x1 dan x2), dan kelompok datanya tidak linear, maka digunakan
fungsi kernel. Misal menggunakan fungsi kernel polynomial ordo 2, yaitu :
K(x,y) = (x.y + c)d dengan c = 1 dan d = 2.
 w 
Fungsi kernel dituliskan kembali menjadi  i yi:xi 
berikut
i 1.. N
K(x,xi) = (xT.xi + 1)2 dengan
 Menghitung matrik kernel K :
K(x,xi) = ᶲ(x).ᶲ(xi)
Contoh Studi Kasus 2 (Cont.)
 Fungsi kernel dituliskan kembali menjadi berikut :
K(x,xi) = (xT.xi + 1)2 dengan w    i yi xi 
i 1.. N

 Menghitung matrik kernel K(x,xi) = ᶲ(x).ᶲ(xi)


 Misal, Menghitung K(u,z) : dengan u=(1,1) dan z=(1,-1)
k(U=(1,1),Z=(1,-1)) = (((U1.Z1)+(U2.Z2))+1)2 = ((U1.Z1)+(U2.Z2))2+2((U1.Z1)+(U2.Z2)).1 + 12

= (U1.Z1)22+ 2(U1.Z1)(U22.Z2) + (U2.Z2)2 + 2(U1.Z1) + 2(U2.Z2) + 1


 u1   z1 
  
 2u u   2z z 
 1 2
 1 2

 u2 2
  z2 2

 .
 
 2 u 1  2 z 1 
  
 2u 2   2z 2 
 1  1 
  
  (u ). ( z )
2 2 2 2
 u1 z1  2u1u 2 z1z 2  u 2 z 2  2u1z1  2u 2 z 2  1
 u1z1   2u1z1 u 2 z 2   u 2 z 2   2u1z1   2u 2 z 2   1
2 2
Contoh Studi Kasus 2 (Cont.)
 Fungsi kernel dituliskan kembali menjadi berikut :
K(x,xi) = (xT.xi + 1)2 dengan w    i yi xi 
i 1.. N

 Menghitung matrik kernel K(x,xi) = ᶲ(x).ᶲ(xi)


 Misal, Menghitung K(u,z) : dengan u=(1,1) dan z=(1,-1)
k(U=(1,1),Z=(1,-1)) = (((U1.Z1)+(U2.Z2))+1)2 = ((U1.Z1)+(U2.Z2))2+2((U1.Z1)+(U2.Z2)).1 + 12

= (U1.Z1)22+ 2(U1.Z1)(U22.Z2) + (U2.Z2)2 + 2(U1.Z1) + 2(U2.Z2) + 1


 u1   z1 
  
 2u u   2z z 
 1 2
 1 2

 u2 2
  z2 2

 .
 
 2 u 1  2 z 1 
  
 2u 2   2z 2 
 1  1 
  
  (u ). ( z )
2 2 2 2
 u1 z1  2u1u 2 z1z 2  u 2 z 2  2u1z1  2u 2 z 2  1
 u1z1   2u1z1 u 2 z 2   u 2 z 2   2u1z1   2u 2 z 2   1
2 2
Contoh Studi Kasus 2 (Cont.)
 Misal, Menghitung K(u,z) : dengan u=(1,1) dan z=(1,-1)
k(U=(1,1),Z=(1,-1)) = (((1.1)+(1.(-1)))+1)2 = ((1.1)+(1.(-1)))2+2((1.1)+(1.(-1))).1 + 12

= (1.1)2 + 2(1.1)(1.(-1)) + (1.(-1))2 + 2(1.1) + 2(1.(-1)) + 1


=1-2+1+2-2+1=1

 u1
2
 z1
2
  12  12   1  1 
        
 2 u 1u 2   2 z1 z 2   2 .1.1  2 .1.(-1)   2    2 
        
      1  1 
2 2 2 2
u2 z2 1  (-1)
 .  .  .  1 2 1 2  2 1  1
 2u1   2z1   2 .1   2 .1   
2

2 

   
 2u 2   2z 2   2 .1   2 .(-1)   2    2 
    
      1 1
 1  1   1  1    
Contoh Studi Kasus 2 (Cont.)
 Menghitung matrik kernel K(x,xi) = ᶲ(x).ᶲ(xi)

x1 K(1,1) = (x1.x1 + 1)2 = (1.1 + 1.1 +1)2 = 32 = 9


x2 K(1,2) = (x1.x2 + 1)2 = (1.1 + 1.(-1) +1)2 = 12 = 1
x1
x3 K(1,3) = (x1.x3 + 1)2 = (1.(-1) + 1.1 +1)2 = 12 = 1
x4 K(1,4) = (x1.x4 + 1)2 = (1.(-1) + 1.(-1) +1)2 = (-1)2 = 1
x1 K(2,1) = (x2.x1 + 1)2 = (1.1 + (-1).1 +1)2 = 12 = 1
x2 K(2,2) = (x2.x2 + 1)2 = (1.1 + (-1).(-1) +1)2 = 32 = 9
x2
x3 K(2,3) = (x2.x3 + 1)2 = (1.(-1) + (-1).1 +1)2 = 12 = 1
x4 K(2,4) = (x2.x4 + 1)2 = (1.(-1) + (-1).(-1) +1)2 = 12 = 1
x1 K(3,1) = (x3.x1 + 1)2 = ((-1).1 + 1.1 +1)2 = 12 = 1
x2 K(3,2) = (x3.x2 + 1)2 = ((-1).1 + 1.(-1) +1)2 = 12 = 1
X3
x3 K(3,3) = (x3.x3 + 1)2 = ((-1).(-1) + 1.1 +1)2 = 32 = 9
x4 K(3,4) = (x3.x4 + 1)2 = ((-1).(-1) + 1.(-1) +1)2 = 12 = 1
x1 K(4,1) = (x4.x1 + 1)2 = ((-1).1 + (-1).1 +1)2 = 12 = 1
x2 K(4,2) = (x4.x2 + 1)2 = ((-1).1 + (-1).(-1) +1)2 = 12 = 1
x4
x3 K(4,3) = (x4.x3 + 1)2 = ((-1).(-1) + (-1).1 +1)2 = 12 = 1
X4 K(4,4) = (x4.x4 + 1)2 = ((-1).(-1) + (-1).(-1) +1)2 = 32 = 9
Contoh Studi Kasus 2 (Cont.)

9 1 1 1
1 9 1 1
1 1 9 1
1 1 1 9
Contoh Studi Kasus 2 (Cont.)

N
Syarat : 0   i  C dan  y
i 1
i i 0

 x1i 
X i   i , jika X 1 adalah data ke  1,
x 
 2
1
1

X 1   ,   X i   x i1
2
i i
2x 1 x 2 x 2 i 2 i
2x 1 i
2x 2 1 
T

dimana x1i adalah nilai pada dimensi ke-1 pada data ke-i.
Contoh Studi Kasus 2 (Cont.)
 x1i 
- Hitung nilai w dan b : X i   i , jika X 1 adalah data ke  1,
 x2 
1
1

X 1   ,   X i   x i1
2
2 x i1 x i2 x i2
2
2 x i1 2 x i2 1
T

dimana x1i adalah nilai pada dimensi ke-1 pada data ke-i.
N
w   y  X 
i 1
i i i

N 4
w   y  X     y  X    y  X   
i 1
i i i
i 1
i i i 1 1 1 2 y2  X 2    3 y3  X 3    4 y4  X 4 

 x 12
 12
1   1   1   1   0 
 1         
 2 x1 x1  2 11  2    2    2   2   - 0.71
 1 2
2   1   1   1   0 
 x12  12  1 
w  0.125  0.125   0.125   0.125  
 2 x 1  2 1  2 
1   2   2   2   0 
  2   2   2   0 
 2 x12  2 1  2         
   1   1   1   0 
 1         
Contoh Studi Kasus 2 (Cont.)
 Misalkan didapatkan nilai Max Ld dengan α1 = α2 = α3 = α4 = 0.125.
Sehingga nilai Ld = 0.25.  0 
 
 Hitung nilai w dan b :  - 0.71
N  0 
w    i yi  X i    
i 1  0 
 0 
 
 0 
 
 Pilih salah satu Support Vector dari Kelas “+1” dan “-1” untuk menghitung nilai b.

 0   1   0   1 
     
  - 0.71   2   - 0.71  2 
 0   1   0   1 
1
2
 1

b   w.x   w.x      . 
2  0   2   0  
. 
2 
  2   0  
 0     2  
 0   1   0   1  
    
Contoh Studi Kasus 2 (Cont.)
 Misalkan didapatkan nilai Max Ld dengan α1 = α2 = α3 = α4 = 0.125.
Sehingga nilai Ld = 0.25.
 Hitung nilai w dan b :

Pilih salah satu Support Vector dari Kelas “+1” dan “-1” untuk menghitung nilai
b.  0   1   0   1 
      
  - 0.71   2   - 0.71  2  
 0   1   0   1 
b
1
2
  1
w.x   w.x      . 
2  0   2   0   2 
.  
    2   0   2 
 0      
 0   1   0   1 
      

b
1
2
     1
 
 0.71  2   0.71 2    0.71  2   0.71 2  0
2
  
Contoh Studi Kasus 2 (Cont.)
 Setelah didapatkan nilai w dan b :
 0 
 
 - 0.71
  w. xt   b  w. xt   0
0
w  
 0


b0 N 4
   i yi xi . xt     i yi K xi , xt 
 0 
i 1 i 1
 
 0 
 
Maka model SVM siap digunakan untuk proses klasifikasi.

 N 
f  x   signw. x   b   sign   i yi xi . x   b 
 i 1 
Misalkan data uji/ data test xt = (1,5) maka K(xi,xt) = ᶲ(xi).ᶲ(xt)
x1 K(1,t) = (x1.xt + 1)2 = (1.1 + 5.1 +1)2 = 72 = 49 (-0.125)(49)
x2 K(2,t) = (x2.xt + 1)2 = (1.1 + 5.(-1) +1)2 = 32 = 9 (0.125)(9)
xt=(1,5)
x3 K(3,t) = (x3.xt + 1)2 = (1.(-1) + 5.1 +1)2 = 52 = 25 (0.125)(25)
K(4,t) = (x4.xt + 1)2 = (1.(-1) + 5.(-1) +1)2 = (-5)2 =
x4
25
(-0.125)(25)
-5
+
f  xt   signw. 1,5  b   sign 6.125  1.125  3.125  3.125  0   sign 5  1
Jadi data xt = (1,5) tersebut masuk ke kelas negatif.
Latihan Individu
1. Perhatikan dataset SVM Linier berikut :
x1 x2 Kelas (y) Support Vector (SV) x1 x2 Kelas (y) SV1 SV2

1 1 +1 1 2 3 -1 1 0
1 -1 -1 1 3 4 -1 1 1
0 2 -1 1 5 2 +1 1 1
-1 -1 -1 0 6 3 +1 0 0
dataset 1 dataset 2

Tentukan Visualisasi Hyperplane masing-masing dataset di atas !


x x Kelas (y) SV
2. Perhatikan
1 2
dataset SVM non-Linier berikut :
0.5 0 -1 1
1 -1 +1 1
-1 1 +1 1
Tentukan persamaan Hyperplanenya,
-0.5 -0.5 -1 1 lalu uji kelas data xt = (1,1) !
Selesai

Anda mungkin juga menyukai