Professional Documents
Culture Documents
Tutorialsvm Asnugroho
Tutorialsvm Asnugroho
Pengantar
Support Vector Machine
Agenda
Apakah SVM itu ?
Bagaimana hyperplane optimal diperoleh ?
Hard margin vs Soft margin
Non linear SVM
Training & Testing
Fase training pada SVM
Memakai SVM untuk klasifikasi
Bagaimana mencari solusi fase training pada SVM ?
Binary Classification
Discrimination boundaries
Class 1 Class +1
Class 1 Class +1
d1
d2
d2 > d1
bukan d3
d3
d3>d2 > d1
d4
d4
d4>d3>d2 > d1
x ( x1 , x2 , , xd )T
margin
d
dim
f ( x) w x b w j x j b
j 1
bias
(1)
w
f ( x) 1
f ( x ) 1
f ( x) 1
f ( x) 0
Training set:
( x1 , y1 ), ( x2 , y2 ), , ( xl , yl )
pattern
w x b
(2)
min
i 1,...,l
w xi b
(3)
Constraint :
i 1,...,l
w xi b 1
(4)
Minimize
2
w
PRIMAL
PRIMALFORM
FORM
Subject to yi ( w xi b) 1 (i 1,2,..., l )
(5)
(6)
(7)
1 2 l
L( w, b, ) w i ( yi ( xi w b) 1)
2
i 1
(8)
i 0
(9)
dimana
L
L
0, 0
b
w
l
y
i 1
w i yi xi
i 1
(10)
(11)
(12)
y
i 1
w i yi xi
(11)
(12)
i 1
1 2
L( w, b, ) w i ( yi ( xi w b) 1)
2
i 1
w
Maximize
Subject to
(8)
1 l
i i j yi y j xi x j
2 i , j 1
i 1
i 0 (i 1,2,..., l )
(13)
y
i 1
(14)
L( w, b, )
2
w
1 2 l
w i ( yi ( xi w b) 1)
2
i 1
w w
i yi xi
j y j x j
i 1
l
j 1
i j yi y j xi x j
i , j 1
l
i ( yi ( xi w b) 1)
l
l
i yi xi w i yib i
y
x
y
x
i i i j j j 0 i
i 1
i 1
l
i 1
i 1
j 1
i 1
l
i 1
l
i j yi y j xi x j 0 i
i 1
i 1
L( w, b, )
2
w
1 2
w i ( yi ( xi w b) 1)
2
i 1
w w
A (A-B) = B- A
i yi xi
j y j x j
i 1
l
j 1
i j yi y j xi x j
i , j 1
l
i ( yi ( xi w b) 1)
l
l
i yi xi w i yib i
y
x
y
x
i i i j j j 0 i
i 1
i 1
l
i 1
i 1
j 1
i 1
l
i 1
l
i j yi y j xi x j 0 i
i 1
i 1
L( w, b, )
L( w, b, )
1 2 l
w i ( yi ( xi w b) 1)
2
i 1
l
i 1
i 1
i i j yi y j xi x j
Maximize
1 l
i i j yi y j xi x j
2 i , j 1
i 1
Subject to
i 0 (i 1,2,..., l )
(13)
y
i 1
(14)
Data xi dari training set yang i tidak bernilai 0 itulah yang disebut
Support Vector (bagian training set yang paling informatif)
Proses training dalam SVM ditujukan untuk mencari nilai i
w i yi xi
(12)
1
b w x1 w x1
2
(15)
i 1
f (t ) sgn i yi t xi b
i 1, xi SV
(16)
Catatan
Ada dua hal penting yg perlu diingat:
1. Persamaan (13) hanya memiliki sebuah single global
maximum yang dapat dihitung secara efisien
2. Data tidak ditampilkan secara individual, melainkan dalam
bentuk dot product dari dua buah data
2
w
(6)
Subject to
yi ( w xi b) 1 (i 1,2,..., l )
(7)
f ( x) 1
f ( x ) 1
f ( x) 1
f ( x) 0
2
w
(6)
Subject to
yi ( w xi b) 1 (i 1,2,..., l )
(7)
xi
i
j
xj
Soft Margin
Soft margin diwujudkan dengan memasukkan slack variable i i
ke persamaan (7), sehingga diperoleh
yi ( w xi b) 1 i
(i 1,2,..., l )
(17)
Maximize
Subject to
1 l
i i j yi y j xi x j
2 i , j 1
i 1
0 i C (i 1,2,..., l )
(13)
l
y
i 1
(18)
Soft Margin
Berdasarkan Karush-Kuhn-Tucker complementary condition,
solusi (13) memenuhi hal-hal sbb.
i 0
yi f ( xi ) 1
0 i C
yi f ( xi ) 1
(unbounded SVs)
i C
yi f ( xi ) 1
(bounded SVs)
(19)
Penentuan parameter C
Parameter C ditentukan dengan mencoba beberapa nilai
dan dievaluasi efeknya terhadap akurasi yang dicapai
oleh SVM (misalnya dengan cara Cross-validation)
Penentuan parameter C bersama-sama parameter SVM
yang lain dapat dilakukan misalnya memakai DOE
(Design of Experiments) yang dijelaskan di slide
selanjutnya
Latar belakang
Kelemahan Linear Learning-Machines
Representasi data & Kernel
Non linear SVM
Latar belakang
Machine Learning
Supervised learning: berikan satu set input-output data, dan buatlah
satu model yang mampu memprediksi dengan benar output
terhadap data baru. Contoh : pattern classification, regression
Unsupervised learning: berikan satu set data (tanpa output yang
bersesuaian), dan ekstraklah suatu informasi bermanfaat. Contoh :
clustering, Principal Component Analysis
Apabila banyaknya data yang diberikan cukup banyak, metode
apapun yang dipakai akan menghasilkan model yang bagus
Tetapi jika data yang diberikan sangat terbatas, untuk mendapatkan
performa yang baik, mutlak perlu memakai informasi spesifik masalah
yang dipecahkan (prior knowledge of the problem domain). Contoh :
masalah yg dipecahkan apakah berupa character recognition, analisa
sekuens DNA, voice dsb. Prior knowledge seperti masalah yg
dianalisa adalah DNA ini tidak dapat dinyatakan dengan angka.
Latar belakang
Pemakaian Kernel :
user memanfaatkan pengetahuannya mengenai domain masalah
yang dipecahkan dengan mendefinisikan fungsi kernel untuk
mengukur kemiripan sepasang data
Kelemahan
Perceptron (salah satu contoh linear learning machine) hanya
mampu memecahkan problem klasifikasi linear (Minsky &
Papert)
Umumnya masalah dari real-world domain bersifat non-linear
dan kompleks, sehingga linear learning machines tidak mampu
dipakai memecahkan masalah riil.
(m1 , m2 , r ) ( x, y, z )
menghasilkan (21) yang
berupa persamaan linear,
sehingga bisa dipecahkan
dengan linear machines
m1m2
f (m1 , m2 , r ) C 2
r
(20)
g ( x, y , z )
ln f (m1 , m2 , r )
ln C ln m1 ln m2 2 ln r
c x y 2z
(21)
Stuart Russel, Peter Norwig, Artificial Intelligence A Modern Approach 2 nd Ed, Prentice Hall, 2003
Stuart Russel, Peter Norwig, Artificial Intelligence A Modern Approach 2 nd Ed, Prentice Hall, 2003
Perceptron vs SVM
Hyperplane
(X )
Input Space
w i yi xi
i 1
(12)
primal
dim
f ( x ) w ( x) b wii ( x) b
l
dual
i 1
f ( x ) i yi ( xi ) ( x ) b
i 1
(22)
(23)
Gram Matrix
l
G ( xi x j ) i , j 1
x1 x1 xl x1
x x x x
1
l
l
l
(24)
Fungsi Kernel
l
( xi ) ( x )
Bisa dihitung secara IMPLISIT. Yaitu tidak perlu mengetahui
wujud fungsi pemetaan melainkan langsung menghitungnya
lewat fungsi KERNEL
( xi ) ( x ) K ( xi , x )
(25)
Gaussian
Sigmoid
d
K ( x , y ) x y
2
xy
K ( x , y ) exp
2
where 0
K ( x , y ) tanh( x y )
where
0 and 0
(26)
(27)
(28)
Stuart Russel, Peter Norwig, Artificial Intelligence A Modern Approach 2 nd Ed, Prentice Hall, 2003
( x ) ( y)
(( x1 , x2 )( y1 , y2 )T ) 2
2
( x y )
K ( x, y)
67 kg
167 cm
A1
A2
A3
B1
B2
B3
Representasi Data
: d q
2.
d q
(19)
K ( x , x ' ) ( x ) ( x ' )
(20)
f ( ( x )) w ( x ) b
(21)
f ( ( x ))
i yi ( x ) ( xi ) b
i 1, xi SV
(22)
i yi K ( x xi ) b
(23)
i 1, xi SV
Agenda
Apakah SVM itu ?
Bagaimana hyperplane optimal diperoleh ?
Hard margin vs Soft margin
Non linear SVM
Training & Testing
Fase training pada SVM
Memakai SVM untuk klasifikasi
Bagaimana mencari solusi fase training pada SVM ?
Maximize
1 l
i i j yi y j K ( xi x j )
2 i , j 1
i 1
Subject to
0 i C (i 1,2,..., l )
y
i 1
(24)
f (t ) sgn
i yi K (t xi ) b
(18)
0)
i 1, xi SV
(23)
f (t ) sgn
i yi K (t xi ) b
i 1, xi SV
(23)
1 k 0
sgn k
1 k 0
Typical Kernel functions
Gaussian
Polynomial
Sigmoid
x x'
K ( x , x ' ) exp
2
K ( x , x ' ) ( x x ' 1) p
K ( x , x ' ) tanh x x '
(24)
(25)
(26)
(27)
Metode Sekuensial
Penyelesaian training phase pada SVM dapat memakai berbagai
metode, a.l. SMO, Sekuensial dsb.
1. Initialization i 0
2
Hitung matriks Dij yi y j ( K ( xi x j ) )
2. Lakukan step (a), (b) dan (c ) di bawah untuk i 1,2,..., l
(a) Ei
j 1
Dij
mengkontrol
kecepatan learning
(c)
i
i
i
3. Kembali ke step-2 sampai nilai a konvergen (tidak ada perubahan
signifikan)
Agenda
Apakah SVM itu ?
Bagaimana hyperplane optimal diperoleh ?
Hard margin vs Soft margin
Non linear SVM
Training & Testing
Fase training pada SVM
Memakai SVM untuk klasifikasi
Bagaimana mencari solusi fase training pada SVM ?
i
104
x R cos
y R sin
x x
i 1,2, , n
: density
: radius
n : num of patterns
y y
Data( xgeneration
, y ) with : R 3.5 1.0 n 100 n 100
Class 1
Class +1
Class +1
Class 1
(blue dots)
Class +1
(yellow dots)
Class 1
Class +1
Class 1
(blue dots)
Class +1
(yellow dots)
Class 1
Class +1
Class 1
(blue dots)
Class +1
(yellow dots)
Class 1
Class +1
Class 1
(blue dots)
Class +1
(yellow dots)
Class 1
SVM
Class +1
Class 1
(blue dots)
Class +1
(yellow dots)
Class 1
Parameter Tuning
-1
-1
-1
-1
Parameter Tuning
DOE
1
-1
-1
-1
-1
Agenda
Apakah SVM itu ?
Bagaimana hyperplane optimal diperoleh ?
Hard margin vs Soft margin
Non linear SVM
Training & Testing
Fase training pada SVM
Memakai SVM untuk klasifikasi
Bagaimana mencari solusi fase training pada SVM ?
Multiclass Problems
One vs Others
Class 1
Class 2
Class 3
Class 4
Class 1
Class 2
Class 3
Class 4
Class 2
Class 1
Class 3
Class 4
max
Class 3
Class 1
Class 2
Class 4
Class 4
Class 1
Class 2
Class3
Bottom-Up Tree
1 vs 4
not 4
not 1
2
3
4
not 2
3
4
3 vs 4
1
2
3
2 vs 4
not 4
2
3
not 1
2 vs 3
1 vs 3
not 3
1
2
1 vs 2
Agenda
Apakah SVM itu ?
Bagaimana hyperplane optimal diperoleh ?
Hard margin vs Soft margin
Non linear SVM
Training & Testing
Fase training pada SVM
Memakai SVM untuk klasifikasi
Bagaimana mencari solusi fase training pada SVM ?
Software-software SVM
Weka
http://www.cs.waikato.ac.nz/ml/weka/
Terdapat implementasi SMO
SVMlight
http://svmlight.joachims.org/
Mampu dipakai pada problem skala besar (ratusan ribu training
set)
Memakai sparse vector representation, sangat sesuai untuk text
classification
SMO (Sequential Minimal Optimization)
http://research.microsoft.com/~jplatt/smo.html
Large Quadratic Programming optimization problem diselesaikan
dengan memecahnya ke banyak QP problem yang lebih kecil
Memory yang diperlukan bertambah linear sesuai dengan
training-set, sehingga dapat dipakai pada large scale problem
Agenda
Apakah SVM itu ?
Bagaimana hyperplane optimal diperoleh ?
Hard margin vs Soft margin
Non linear SVM
Training & Testing
Fase training pada SVM
Memakai SVM untuk klasifikasi
Bagaimana mencari solusi fase training pada SVM ?
Related Publication:
Efficacy of Interferon Treatment for Chronic Hepatitis C
Predicted by Feature Subset Selection and
Support Vector Machine, Journal of Medical Systems, Springer US
(http://dx.doi.org/10.1007/s10916-006-9046-8)
Hepatitis C
Menurut data WHO, jumlah penderita 170 juta (3% dari seluruh
populasi dunia). Setiap tahun bertambah 3 s/d 4 juta orang.
Di Jepang : 1 atau 2 dari 100 --> Kokuminbyo
Replikasi virus sangat tinggi, disertai angka mutasi genetik yang cukup
tinggi
Hepatitis C di Indonesia
Jumlah penderita sudah mencapai 7 juta dan 90% penderita tidak
mengetahuinya (I Nyoman Kaldun, 7 Oktober 2006)
Depkes petakan Hepatitis C (7 Sep 2007)
Efek samping terapi interferon: Flu-like syndrome, menurunnya sel
darah putih (leucocyte),rambut rontok (IFN-alpha), albuminuria (IFNbeta), dsb
Clinical Database
The database used in this experiment is provided by Nagoya
University (Prof.Yamauchis group)
Observation of the patients was conducted from August 1997 March
2005
112 patients (M:80 F:32) of age : 17 72 yrs.
Two class problem:
positive class
six months after the treatment finished, HCV-RNA was negative
66 samples
negative class
six months after the treatment finished, HCV-RNA was positive
46 samples
Proposed Model
Result obtained by
k-Nearest Neighbor Classifier
Dim.
k (best)
Total
RR [%]
Negative Class
Positive Class
Errors
RR[%]
RR[%]
11
81
12
74
Error
9s
10
78
12
74
13
80
15
13
69
20
56
15
77
20
71
18
61
15
77
25
13
74
18
61
11
83
30
71
18
61
14
79
86
Result obtained by
Support Vector Machines
Dim
SVM
Parameter
Support Total
Vectors RR[%]
1.99
1.5
70
10
7.2
4.9
15
31.9
20
Negative
Class
Positive
Class
Errors
RR
[%]
Errors
RR
[%]
84
83
10
85
76
76
18
61
86
8.3
88
81
12
74
86
25.8
5.5
85
82
11
76
86
25
13.4
8.9
89
81
13
72
88
30
4.1
3.0
106
78
14
70
11
83
Referensi
1.
2.
3.
4.
5.