Pengantar
Support Vector Machine
Class -1 Class +1
Optimal Hyperplane by SVM
Margin
d
Class -1 Class +1
Optimal Hyperplane by SVM
Margin (d) = minimum distance antara hyperplane and training
samples
d1
Optimal Hyperplane by SVM
d2
d2 > d1
Optimal Hyperplane by SVM
bukan d3
d3
d3>d2 > d1
Optimal Hyperplane by SVM
d4
d4
d4>d3>d2 > d1
Separating Hyperplane for 2D
f ( x ) 1
x ( x1 , x2 ,, xd )T margin
d
w
dim
f ( x) w x b w j x j b
j 1
bias (1)
b
f ( x ) 1
w f ( x ) -1
f ( x) 0
f ( x ) -1
Optimal Hyperplane by SVM
Margin (d) = minimum distance antara hyperplane and training
samples. Hyperplane terbaik diperoleh dengan memaksimalkan
d.
Bagaimana memaksimalkan d ?
Training set: ( x1 , y1 ), ( x2 , y2 ), , ( xl , yl )
PRIMAL FORM
2
Minimize w (6)
Subject to yi ( w xi b) 1 (i 1,2,..., l ) (7)
dimana i 0 (9)
l
w i yi xi (12)
i 1
Optimal Hyperplane by SVM
(11) dan (12) disubstitusikan ke (8), sehingga diperoleh (13),(14)
l
w i yi xi
l
y
i 1
i i 0 (11) (12)
i 1
(8)
1 2 l
L( w, b, ) w - i ( yi ( xi w b) - 1)
2 i 1
y
Subject to
i 0 (i 1,2,..., l ) i i 0 (14)
i 1
1 2 l
L( w, b, ) w - i ( yi ( xi w b) - 1)
2 i 1
2
w w w
l
l
i yi xi
i 1
j y j x j
j 1
l
i j yi y j xi x j
i , j 1
A
l
l
l l
i ( yi ( xi w b) - 1)
i 1
i yi xi w i yib - i
i 1 i 1 i 1
l
l l
i i i j j j 0 - i
y
i 1
x y x
j 1 i 1
l
l
i j yi y j xi x j 0 - i
i 1 i 1 B
A
A (A-B) = B- A
1 2 l
L( w, b, ) w - i ( yi ( xi w b) - 1)
2 i 1
2
w w w
l
l
i yi xi
i 1
j y j x j
j 1
l
i j yi y j xi x j
i , j 1
A
l
l
l l
i ( yi ( xi w b) - 1)
i 1
i yi xi w i yib - i
i 1 i 1 i 1
l
l l
i i i j j j 0 - i
y
i 1
x y x
j 1 i 1
l
l
i j yi y j xi x j 0 - i
i 1 i 1 B
A
1 2 l
L( w, b, ) w - i ( yi ( xi w b) - 1)
2 i 1
l l
L(w, b, ) i - i j yi y j xi x j
i 1 i 1
Optimal Hyperplane by SVM
DUAL FORM Fungsi yg diperoleh hanya memaksimalkan
satu variable saja
l
1 l
Maximize i - i j yi y j xi x j
2 i , j 1
(13)
i 1
l
Subject to i 0 (i 1,2,..., l ) y
i 1
i i 0 (14)
l
w i yi xi (12)
i 1
1
b - w x-1 w x1 (15)
2
Klasifikasi pattern t dihitung sbb.
n
f (t ) sgn i yi t xi b (16)
i 1, xi SV
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
Hard vs Soft Margin
2
Minimize w (6)
Subject to yi ( w xi b) 1 (i 1,2,..., l ) (7)
yi ( w xi b) 1
f ( x ) 1
f ( x ) -1
f ( x ) -1
f ( x) 0
Hard vs Soft Margin
2
Minimize w (6)
Subject to yi ( w xi b) 1 (i 1,2,..., l ) (7)
xi
j xj
Soft Margin
Soft margin diwujudkan dengan memasukkan slack variable i i 0
ke persamaan (7), sehingga diperoleh
yi ( w xi b) 1 - i (i 1,2,..., l ) (17)
1 2 l
minimize w C i
2 i 1
l
Subject to 0 i C (i 1,2,..., l ) y
i 1
i i 0 (18)
Soft Margin
i 0 yi f ( xi ) 1
0 i C yi f ( xi ) 1 (unbounded SVs) (19)
i C yi f ( xi ) 1 (bounded SVs)
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.
Representasi Data & Kernel
Representasi data seringkali Newtons law gravitation
mampu menyederhanakan
satu masalah m1m2 (20)
f (m1 , m2 , r ) C 2
Formula sebagaimana pada r
persamaan (20) tidak dapat
dipecahkan dengan linear
machines
Representasi dengan g ( x, y, z ) ln f (m1 , m2 , r )
(m1 , m2 , r ) ( x, y, z) ln C ln m1 ln m2 - 2 ln r
menghasilkan (21) yang c x y - 2z
berupa persamaan linear,
sehingga bisa dipecahkan
(21)
dengan linear machines
Representasi Data & Kernel
( x1 , x2 ) ( x12 , x22 , 2 x1 x2 )
Stuart Russel, Peter Norwig, Artificial Intelligence A Modern Approach 2nd Ed, Prentice Hall, 2003
Representasi Data & Kernel
( x1 , x2 ) ( x12 , x22 , 2 x1 x2 )
Stuart Russel, Peter Norwig, Artificial Intelligence A Modern Approach 2nd Ed, Prentice Hall, 2003
Representasi Data & Kernel
Representasi data seringkali mampu menyederhanakan satu masalah
Data yang dipetakan ke ruang vektor berdimensi lebih tinggi, memiliki
potensi lebih besar untuk dapat dipisahkan secara linear (Cover
theorem)
Masalah : semakin tinggi dimensi suatu data, akan mengakibatkan
tertimpa kutukan dimensi tinggi Curse of dimensionality.
turunnya generalisasi model
meningkatnya komputasi yang diperlukan
X Hyperplane
(X )
l
primal f ( x ) w ( x) b wii ( x) b (22)
w i yi xi i 1
l
i 1
dual f ( x ) i yi ( xi ) ( x ) b (23)
(12) i 1
x1 x1 xl x1
x x x x
1 l l l
Fungsi Kernel
l
Representasi dual form f ( x ) i yi ( xi ) ( x ) b
i 1
( 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)
Contoh-contoh Fungsi Kernel
d
Polynomial K ( x, y) x y (26)
2
x-y
Gaussian K ( x , y ) exp - (27)
2 2
where 0
Sigmoid K ( x , y ) tanh( x y )
(28)
where 0 and 0
Representasi Data & Kernel
( x1 , x2 ) ( x12 , x22 , 2 x1 x2 )
Stuart Russel, Peter Norwig, Artificial Intelligence A Modern Approach 2nd Ed, Prentice Hall, 2003
Representasi Data & Kernel
( x1 , x2 ) ( x12 , x22 , 2 x1 x2 )
( x ) ( y) ( x12 , x22 , 2 x1 x2 )( y12 , y22 , 2 y1 y2 )T
(( x1 , x2 )( y1 , y2 )T ) 2
2
( x y )
: K ( x, y)
Representasi Data & Kernel
Umumnya data direpresentasikan secara individual. Misalnya,
untuk membedakan atlit Sumo dan atlit sepakbola, bisa
dengan mengukur berat badan dan tinggi mereka
67 kg
167 cm
A1
Representasi Data & Kernel
Metode Kernel : data tidak direpresentasikan secara individual,
melainkan lewat perbandingan antara sepasang data
A1 A2 A3 B1 B2 B3
A1 K(A1,A1) K(A1,A2) K(A1,A3) K(A1,B1) K(A1,B2) K(A1,B3)
A2 K(A2,A1) K(A2,A2) K(A2,A3) K(A2,B1) K(A2,B2) K(A2,B3)
A3 K(A3,A1) K(A3,A2) K(A3,A3) K(A3,B1) K(A3,B2) K(A3,B3)
n
f ( ( x )) i yi ( x ) ( xi ) b
i 1, xi SV
(22)
n
i yi K ( x xi ) b
i 1, xi SV
(23)
(x )
Karakteristik fungsi pemetaan sulit untuk dianalisa
Kernel Trick memakai K ( x xi )sebagai ganti kalkulasi (x )
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 ?
Eksperimen perbandingan SVM dan Multilayer perceptron pada spiral
data
Parameter tuning SVM memakai DOE (Design of Experiment)
Bagaimana memakai SVM pada multiclass problem
Software-software SVM
Studi kasus: prediksi efektifitas terapi interferon pada penderita
penyakit Hepatitis C kronis
Beberapa catatan
Training Phase pada NL-SVM
l
1 l
Maximize
i 1
i - i j yi y j K ( xi x j )
2 i , j 1
(24)
Subject to l
0 i C (i 1,2,..., l ) y
i 1
i i 0 (18)
i 1, xi SV
- 1 k 0
sgn k (24)
1 k 0
Typical Kernel functions 2
x - x'
Gaussian K ( x, x ' ) exp - (25)
2 2
Polynomial K ( x, x ' ) ( x x ' 1) p (26)
Sigmoid
K ( x, x' ) tanh x x' (27)
Metode Sekuensial
Penyelesaian training phase pada SVM dapat memakai berbagai
metode, a.l. SMO, Sekuensial dsb.
1. Initialization i 0
Hitung matriks Dij yi y j ( K ( xi x j ) 2 )
(c)
i i i
Class +1
MLP with 10 hidden units
Class +1
Class 1
(blue dots)
Class +1
(yellow dots)
Class 1
MLP with 50 hidden units
Class +1
Class 1
(blue dots)
Class +1
(yellow dots)
Class 1
MLP with 100 hidden units
Class +1
Class 1
(blue dots)
Class +1
(yellow dots)
Class 1
MLP with 500 hidden units
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
Design of Experiments dipakai untuk mencari nilai
optimal parameter SVM (C dan pada Gaussian
Kernel)
1 1
0 0
-1 -1
-1 0 1 -1 0 1
Carl Staelin, Parameter Selection for Support Vector Machines, HP
Laboratories Israel, HPL-2002-354
http://www.hpl.hp.com/techreports/2002/HPL-2002-354R1.pdf
Parameter Tuning
DOE
1 1
0 0
-1 -1
-1 0 1 -1 0 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 ?
Eksperimen perbandingan SVM dan Multilayer perceptron pada spiral
data
Parameter tuning SVM memakai DOE (Design of Experiment)
Bagaimana memakai SVM pada multiclass problem
Software-software SVM
Studi kasus: prediksi efektifitas terapi interferon pada penderita
penyakit Hepatitis C kronis
Beberapa catatan
Multiclass Problems
Pada prinsipnya SVM adalah binary classifier
Expansion to multiclass classifier:
1. One vs Others Approach
2. One vs One : tree structured approach
1. Bottom-up tree (Pairwise)
2. Top-down tree (Decision Directed Acyclic
Graph)
Dari sisi training effort : One to Others lebih baik
daripada One vs One
Runtime : keduanya memerlukan evaluasi q SVMs (q
= num. of classes)
One vs Others
3 2 1
3 vs 4 2 vs 3 1 vs 2
4 3 2
SVM Parameters :
=0.01:3.0 C:1.0
Vijayakumar Algorithm max iteration : 100
Gaussian Kernel with =0.5
Recognition rate :
Training Set : 100%
Test set : 100%
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 ?
Eksperimen perbandingan SVM dan Multilayer perceptron pada spiral
data
Parameter tuning SVM memakai DOE (Design of Experiment)
Bagaimana memakai SVM pada multiclass problem
Software-software SVM
Studi kasus: prediksi efektifitas terapi interferon pada penderita
penyakit Hepatitis C kronis
Beberapa catatan
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 ?
Eksperimen perbandingan SVM dan Multilayer perceptron pada spiral
data
Parameter tuning SVM memakai DOE (Design of Experiment)
Bagaimana memakai SVM pada multiclass problem
Software-software SVM
Studi kasus: prediksi efektifitas terapi interferon pada penderita
penyakit Hepatitis C kronis
Beberapa catatan
Prediction of Interferon Efficacy in
Hepatitis C treatment
Developing a predictor of the result of treatment using
interferon to the chronical hepatitis C patients
The input information is the blood observations of the
patients taken before the interferon injection
Collaboration with Nagoya University Graduate School of
Medicine
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 (IFN-
beta), 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
Sex
Age
HCV-RNA
Fisher Criterion SVM with positive class
Ribavirin
List of 30 Clinical
Table Markers
I List of observed information (features)
F (x j )
n1 n-1 n j , 1 2j , 1 n j , -1 2j , -1
Score of the jth feature of vector x
Num. of patterns in Negative Class
Num. of patterns in Positive Class
Feature No. 1
40
30
20
10
0 Feature No. 2
-10 -5 0 5 10 15 20
-10
1 3
-20
-30
2 50
F(Ftr.1) = 2.9 F(Ftr.2) = 0.7 F(Ftr.1) > F(Ftr.2)
Ftr. No.1 is better than No.2
List of features sorted based on its
significance
Table II List of features sorted based on its significance
10 3 78 12 74 13 80
15 13 69 20 56 15 77
20 3 71 18 61 15 77
25 13 74 18 61 11 83
30 3 71 18 61 14 79
Result obtained by
Support Vector Machines
SVM Support Total Negative Positive
Dim Parameter Vectors RR[%] Class Class
C Errors RR Errors RR
[%] [%]
5 1.99 1.5 70 84 8 83 10 85
10 7.2 4.9 76 76 18 61 9 86
15 31.9 8.3 88 81 12 74 9 86
20 25.8 5.5 85 82 11 76 9 86
25 13.4 8.9 89 81 13 72 8 88
30 4.1 3.0 106 78 14 70 11 83
The role of CADx in Medical
Diagnosis
The role of CADx in Medical
Diagnosis