Support-Vector-Machines EJ v5.06
Support-Vector-Machines EJ v5.06
Pattern Recognition
i 1 i 1 j 1
y
i 1
i i 0
• Hitung nilai w dan b :
N
w i yi xi b
1
2
w.x w.x
i 1
• 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
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
(w.x) + b = +1 Margin
w w1 w2
2 2
(w.x) + b = -1
yi xi w b 1
d w, b, xi
w w
(w.x) + b = 0
– 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 :
x2
x1 x2 = 1 – x1
1
-2 3
0.5
-1 2 x1
Kelas -1
0
-1.5 -1 -0.5 0 0.5 1 1.5
0 1 Kelas +1
-0.5
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
Kelas = sign(f(x)) x2 = 1 - x1
1.5
x2
Data Uji Hasil Klasifikasi
1
No
x1 x2 Kelas = sign(x1 + x2 - 1) 0.5
x1
Kelas -1
0
1 1 5 sign (1 + 5 - 1) = +1 -1.5 -1 -0.5 0 0.5 1 1.5 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) Support Vector (SP)
1 1 -1 1
1 -1 1 1
-1 1 1 1
-1 -1 -1 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 0
-1.5 -1 -0.5 0 0.5 1 1.5
-0.5
-1 1 1
-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.
– 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 :
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
u 12 z1
2
12 12 1 1
2u u 2z1z 2 2 .1.1 2 .1.(-1) 2 2
1 2
u2 2
z2
2
12 (-1)2 1 1
. . 2 . 1 2 1 2 2 1 1
2
2u1 2z1 2 .1 2 .1
2 u 2 2z 2 2 .1 2 .(-1) 2 2
1 1 1 1 1 1
(u ). ( z )
u1 z1 2u1u 2 z1z 2 u 2 z 2 2u1z1 2u 2 z 2 1
2 2 2 2
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
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 11 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
1
2
1
b w.x w.x .
2 0 2 0
.
2
2 0
0 2
0 1 0 1
b 0.71 2 0.71 2 0.71 2 0.71 2 0
1
2
1
2
Contoh Studi Kasus 2 (Cont.)
– Setelah didapatkan nilai w dan b :
0
- 0.71
w. xt b w. xt 0
b0
0
w N 4
0 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 signw. 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)
x4 K(4,t) = (x4.xt + 1)2 = (1.(-1) + 5.(-1) +1)2 = (-5)2 = 25 (-0.125)(25)
-5
+
f xt signw. 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 !
2. Perhatikan dataset SVM non-Linier berikut :
x1 x2 Kelas (y) SV
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