0% menganggap dokumen ini bermanfaat (0 suara)
24 tayangan51 halaman

Pemodelan SVM dalam Klasifikasi Data

Dokumen tersebut membahas tentang Support Vector Machine (SVM), khususnya: 1. Konsep dasar SVM untuk melakukan klasifikasi dengan mencari hyperplane pemisah optimal antara dua kelas data. 2. Penggunaan margin sebesar mungkin untuk memaksimalkan jarak antara hyperplane dengan data terdekat. 3. Contoh kasus klasifikasi linier SVM untuk empat data dua dimensi.

Diunggah oleh

Mohammad Taqi
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 PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
24 tayangan51 halaman

Pemodelan SVM dalam Klasifikasi Data

Dokumen tersebut membahas tentang Support Vector Machine (SVM), khususnya: 1. Konsep dasar SVM untuk melakukan klasifikasi dengan mencari hyperplane pemisah optimal antara dua kelas data. 2. Penggunaan margin sebesar mungkin untuk memaksimalkan jarak antara hyperplane dengan data terdekat. 3. Contoh kasus klasifikasi linier SVM untuk empat data dua dimensi.

Diunggah oleh

Mohammad Taqi
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 PDF, TXT atau baca online di Scribd

MAA 62021

Pembelajaran Mesin

Support Vector Machine


Syaiful Anam, [Link], M.T., Ph.D
Laboratorium Komputer dan Sains Data

Program Studi Sarjana Ilmu Aktuaria


Departemen Matematika
Universitas Brawijaya
Outline Materi

1. Maximum Margin Hyperplanes

2. Linear SVM

3. Nonlinear SVM

4. Karakteristik dari SVM


Support Vector Machine
Maximum Margin Hyperplanes
Support Vector Machine
• Konsep Klasifikasi( SVM)
• Mencari hyperplane terbaik yang berfungsi
sebagai pemisah dua kelas data.
• 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 = åa i - ååa ia j yi y j K (xi , x j ) syarat : 0 £ a i £ C dan


N N N N

i =1 i =1 j =1
åa y = 0
i =1
i i

• Hitung nilai w dan b :


N

(
w = å a i yi xi b = - 1 w.x + + w.x -
i =1 2
)
• Fungsi keputusan klasifikasi sign(f(x)) :
m
f ( x) = w.x + b atau f ( x) = å a 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
• 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 2 2
Margin = =
• Linier Kernel : w 2
w1 + w2
2

gin (w.x) + b = +1
mar
(w.x) + b = -1

H yp
erpl
ane
y = +1 Support Vector kelas -1
Support Vector kelas +1
y = -1 w
Jarak titik (xi) ke Hyperplane :
yi (xi • w + b ) 1
d ((w, b ), xi ) = ³
(w.x) + b = 0
w w
• Non-Linier Kernel :
yi f (xi ) 1
d ((w, b ), xi ) = ³
w w
Linear Classifiers

kelas +1
kelas -1 Bagaimana
mengklasifikasikan data
ini?
Linear Classifiers

kelas +1
kelas -1
Yang mana yang terbaik?
(Hyperplane terbaik)?
Classifiers Margin
Ide dasar SVM: memaksimalkan distance
(jarak) antara hyperplane dan titik
sampel terdekat

kelas +1 Definisikan margin/batas


kelas -1
linear classifier sebagai
lebarnya dimana batas
Hyperplane tersebut dapat
dimaksimalkan sebelum
mencapai titik data
Linear SVM Secara Matematis

dimana,
M: Margin
w: bobot
x+: support vector kelas +1
x-: support vector kelas -1
Problem Optimasi
• {x! , ..., x" } adalah data set dan y# ∈ {1, −1} adalah kelas label dari x#
• Batas keputusan harus dapat mengklasifikasi semua titik dengan benar

• Problem optimasi terbatas

meminimalkan

dimana
Problem Optimasi
• Kita dapat mengubah problem menjadi bentuk dual

dimana
• Problem quadratic programming (QP)
• Global maximum pada 𝛼! dapat selalu ditemukan
• 𝒘 dapat diperbaiki menjadi
Karakteristik Solusi
• Kebanyakan nilai 𝛼$ adalah nol
• 𝒙𝒊 dengan nilai 𝛼! positif disebut sebagai support vectors (SV)
• Batas keputusan ditentukan oleh SV
• Let tj (j=1, ..., s) adalah indeks dari SV

• Untuk testing dengan data baru (𝒛)


• Hitung
• Dan klasifikasikan 𝒛 sebagai kelas 1 jika jumlahnya positif,
selain itu diklasifikasikan sebagai kelas 2
Interpretasi Geometri
Tidak dapat Dipisahkan secara Linier?
• Memperbolehkan adanya error (x) pada klasifikasi
Bagaimana jika titik
sampel tidak dapat
dipisahkan secara
linier?
Soft Margin Hyperplane

• Definisikan xi=0 jika tidak ada error untuk 𝒙𝒊


• xi adalah variabel untuk mendefinisikan nilai error

• Minimalkan
• C : tradeoff parameter antara error dan margin
• Problem optimasi menjadi
meminimalkan
dimana
Soft Margin Hyperplane
- Menemukan nilai yang tepat untuk C menjadi salah satu
masalah dalam SVM
Nilai C berperan dalam mengontrol overfitting.
• C besar à lebih sedikit sampel training yang berada di posisi yang tidak ideal (artinya lebih
sedikit error, sehingga berdampak positif pada kinerja classifier) à C terlalu besar
menyebabkan overfitting
• C kecil à lebih banyak sampel training yang tidak berada pada posisi ideal (artinya akan
banyak error training sehingga berdampak negatif pada kinerja classifier) à C terlalu kecil
menyebabkan underfitting
Support Vector Machine
Linear SVM
Contoh Studi Kasus
• Contoh SVM Linier pada dataset berikut :
Tentukan Hyperplanenya !
x1 x2 Kelas (y) Support Vector (SV)
1 1 1 1
1 -1 -1 1
-1 1 -1 1
-1 -1 -1 0

• Bentuk Visualisasi data :


2
1
0
-2 -1 0 1 2
-1
-2
Contoh Studi Kasus 1 (Cont.)
• Contoh SVM Linier :
2
x1 x2 Kelas (y)
1
1 1 1
1 -1 -1 0
-2 -1 0 1 2
-1 1 -1 -1
-1 -1 -1 -2

• 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 :


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

x2
x1 x2 = 1 – x1
1
-2 3
0,5
-1 2 x1
Kelas -1
0
0 1 -1,5 -1 -0,5 0 0,5 1 1,5 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

2 -1 4 sign (-1 + 4 - 1) = +1 -0,5

3 0 7 sign (0 + 7 - 1) = +1 -1

4 -9 0 sign (-9 + 0 - 1) = -1 -1,5

5 2 -2 sign (2 - 2 - 1) = -1
Support Vector Machine
Non Linear SVM
Ide Non Linear SVM
Permasalahan Non-linear
• Ide: transformasi 𝒙𝒊 ke ruang berdimensi lebih tinggi untuk memudahkan
perhitungan
• Ruang Input : ruang 𝒙𝒊
• Ruang Fitur: ruang 𝜙(𝒙𝒊 ) setelah transformasi
• Mengapa perlu transformasi?
• Operasi linear pada ruang fitur ekivalen dengan operasi non-linear pada ruang
input
• Proses klasifikasi lebih mudah dilakukan dengan transformasi.
Contoh: XOR
Dimensi Tinggi
• Proyeksikan data ke ruang berdimensi tinggi agar data-data tersebut dapat
dipisahkan secara linear dan dapat menggunakan linear SVM – (Using
Kernels)

Data dari R1 ditransformasi ke R2


Problem XOR
Permasalahan Non-linear
• Kemungkinan problem transformasi
• Komputasi yang tinggi dan sulit
memperoleh estimasi bagus
• SVM menyelesaikan masalah ini secara
bersamaan
• Kernel tricks untuk komputasi yg efisien
Φ: x →
• Meminimalkan 𝒘 𝟐 dapat φ(x)
menghasilkan classifier yang baik

Input space Feature space


Kernel Trick

• Hubungan antara fungsi kernel K dan mapping 𝜙(. )


𝑲 𝒙, 𝒚 = 𝜙 𝒙 , 𝜙(𝒚)
• Disebut sebagai kernel trick

• Secara intuitif, 𝑲 𝒙, 𝒚 merepresentasikan kemiripan antara data 𝒙 dan


𝒚, dan ini diperoleh dari pengetahuan sebelumnya
Jenis-jenis Fungsi Kernel
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 (Tanh Hiperbolik)


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

• Bentuk Visualisasi data :


1,5

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) = ([Link] + 1)2 dengan
w= åa i yif (xi )
• Menghitung matrik kernel K : i =1.. N

K(x,xi) = ᶲ(x).ᶲ(xi)
Contoh Studi Kasus 2 (Cont.)
• Fungsi kernel dituliskan kembali menjadi berikut :
K(x,xi) = ([Link] + 1)2 dengan w = å a i yif (xi )
• Menghitung matrik kernel K(x,xi) = ᶲ(x).ᶲ(xi)
i =1.. N

• 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)2 + 2(U1.Z1)(U2.Z2) + (U2.Z2)2 + 2(U1.Z1) + 2(U2.Z2) + 1

æ u 12 ö æ z1
2
ö
ç ÷ç ÷
ç 2u u ÷ ç 2z1z 2 ÷
ç 1 2
÷ç ÷
ç u 22 ÷ ç z2
2
÷
=ç ÷.ç ÷
ç 2u1 ÷ ç 2z1 ÷
ç ÷ç ÷
ç 2 u 2 ÷ç 2z 2 ÷
ç 1 ÷ç 1 ÷
è øè ø
= f (u ).f ( 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) = ([Link] + 1)2 dengan w = å a i yif (xi )
• Menghitung matrik kernel K(x,xi) = ᶲ(x).ᶲ(xi)
i =1.. N

• 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)2 + 2(U1.Z1)(U2.Z2) + (U2.Z2)2 + 2(U1.Z1) + 2(U2.Z2) + 1

æ u 12 ö æ z1
2
ö
ç ÷ç ÷
ç 2u u ÷ ç 2z1z 2 ÷
ç 1 2
÷ç ÷
ç u 22 ÷ ç z2
2
÷
=ç ÷.ç ÷
ç 2u1 ÷ ç 2z1 ÷
ç ÷ç ÷
ç 2 u 2 ÷ç 2z 2 ÷
ç 1 ÷ç 1 ÷
è øè ø
= f (u ).f ( 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

æ 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
ç 2u1 ÷ ç 2z1 ÷ ç 2 .1 ÷ ç 2 .1 ÷ ç 2
÷ç ÷
ç ÷ç ÷ ç
ç 2 u 2 ÷ç 2z 2 ÷ ç 2 .1 ÷ ç 2 .(-1) ÷ ç 2 ÷ ç - 2÷
÷ç ÷ ç ÷ç ÷
ç ÷ç ÷ ç ÷ç ÷ 1 1
è 1 øè 1 ø è 1 øè 1 ø è øè ø
= f (u ).f ( 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.)
• 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 £ a i £ C dan åa y
i =1
i i =0

æ x1i ö
X i = ç i ÷, jika X 1 adalah data ke - 1,
çx ÷
è 2ø
æ1ö
è1ø
(
X 1 = çç ÷÷, f ( X i ) = x i1
2
i i
2x 1 x 2 x 2 i 2 i
2x 1 i
2x 2 1 )
T

dimana x iadalah nilai pada dimensi ke-1 pada data ke-i.


1
Contoh Studi Kasus 2 (Cont.)
æ x1i ö
- Hitung nilai w dan b : X i = ç i ÷, jika X 1 adalah data ke - 1,
çx ÷
è 2ø
æ1ö
è1ø
(
X 1 = çç ÷÷, f ( X i ) = x i1
2
2 x 1 x 2 x i2
i i 2
2 x i1 2 x i2 1
T
)
dimana x i adalah nilai pada dimensi ke-1 pada data ke-i.
1
N
w= åa y f (X )
i =1
i i i

N 4
w= åa y f (X ) = åa y f (X ) = a y f (X ) + a
i =1
i i i
i =1
i i i 1 1 1 2 y2f ( X 2 ) + a 3 y3f ( X 3 ) + a 4 y4f ( 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 = å a i yif ( 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.f ( xt ) + b = w.f ( xt ) + 0
0
w = ç
ç 0
÷
÷
b=0 N 4
= å a i yif ( xi ).f ( xt ) = å a i yi K ( xi , xt )
ç 0 ÷
i =1 i =1
ç ÷
ç 0 ÷
è ø
Maka model SVM siap digunakan untuk proses klasifikasi.
æ N ö
f (f ( x )) = sign(w.f ( x ) + b ) = signç å a i yif ( xi ).f ( x ) + b ÷
è i =1 ø
Misalkan data uji/ data test xt = (1,5) maka K(xi,xt) = ᶲ(xi).ᶲ(xt)

x1 K(1,t) = ([Link] + 1)2 = (1.1 + 5.1 +1)2 = 72 = 49 (-0.125)(49)


x2 K(2,t) = ([Link] + 1)2 = (1.1 + 5.(-1) +1)2 = 32 = 9 (0.125)(9)
xt=(1,5)
x3 K(3,t) = ([Link] + 1)2 = (1.(-1) + 5.1 +1)2 = 52 = 25 (0.125)(25)
x4 K(4,t) = ([Link] + 1)2 = (1.(-1) + 5.(-1) +1)2 = (-5)2 = 25 (-0.125)(25)
-5
+
f (f (xt )) = sign(w.f ((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
Tentukan persamaan Hyperplanenya,
-1 1 +1 1
lalu uji kelas data xt = (1,1) !
-0.5 -0.5 -1 1
Support Vector Machine
Karekteristik SVM
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.
Kelebihan dan Kekurangan

Training relatif mudah


• tidak mengalami local optimal, tidak seperti pada neural networks

Relatif baik untuk data berdimensi tinggi

KEKURANGAN
Tradeoff antara kompleksitas classifier dan kesalahan dapat
dikontrol secara eksplisit
Membutuhkan fungsi
kernel yang bagus
Data non-tradisional seperti string dan tree dapat digunakan sebagai
input ke SVM, bukan vektor fitur
SVM vs Neural Networks
SVM ANN

Men-generalisasi dengan baik tetapi tidak


Konsep yang relatif baru
memiliki dasar matematika

Sifat generalisasi yang bagus Dapat dengan mudah dipelajari secara bertahap

Sulit untuk dipelajari à teknik QP (Quadratic Untuk mempelajari fungsi kompleks à gunakan
Programming) struktur multi layer yang kompleks.
Menggunakan kernel, dapat mempelajari fungsi
yang sangat kompleks
Selamat Belajar

Anda mungkin juga menyukai