Konsep Support Vector Machine Lecture 1 Hard Margin SVM Lagrange Multiplier Dual Problem Gradient Ascent/Descent (update 21 Agustus 2009)
Model linear classifier Andaikan diberikan data training yang linearly separable menjadi dua kelas, yaitu A dan B. Terdapat banyak sekali hyperplane yang memisahkan kedua kelas dari data. Mana yang dipilih? Bagaimana menemukan hyperplane terbaik yang memisahkan kedua himpunan dengan margin terbesar? Margin: jarak hyperplane ke titik terdekat dari kedua himpunan Dalam 2 dimensi, hyperplane garis Dalam 3 dimensi, hyperplane bidang
Hyperplane terbaik (2 dimensi) Persamaan hyperplane (garis) g: w1x1+w2x2+b=0 Agar g memisahkan kelas A dan B, maka dapat dipilih w1,w2 dan b sehingga w1x1(i)+w2x2(i)+b>0 utk (x1(i),x2(i)) A w1x1(i)+w2x2(i)+b<0 utk (x1(i),x2(i)) B Andaikan (x1+,x2+) dan (x1-,x2-) masing-masing titik terdekat dari kelas A dan B terhadap g.Tanpa mengurangi keumuman, dapat dipilih: w1x1++w2x2++b=1 dan w1x1-+w2x2-+b=-1 dan w1x1(i)+w2x2(i)+b 1 utk (x1(i),x2(i)) A w1x1(i)+w2x2(i)+b -1 utk (x1(i),x2(i)) B
Hyperplane terbaik (2 dimensi) Maka jarak garis g ke titik (x1+,x2+) dan (x1-,x2-) adalah Definisikan: maka (w1x1(i)+w2x2(i)+b)yi 1, untuk I = 1, 2, …, N
Constrained Opt. Problem Masalah Penentuan Hyperplane terbaik: Ekivalen dengan
Hyperplane terbaik (Generalisasi) Persamaan hyperplane g: wTx+b=0 Agar g memisahkan kelas A dan B, maka dapat dipilih wT dan b sehingga wTx (i)+b>0 utk x (i) A wTx (i)+b<0 utk x (i) B Andaikan x+ dan x- masing-masing titik terdekat dari kelas A dan B terhadap g.Tanpa mengurangi keumuman, dapat dipilih: wTx ++b =1 dan wTx -+b = -1 dan wTx (i)+b 1 utk x(i) A wTx (i)+b -1 utk x(i) B
Hyperplane terbaik (generalisasi) Maka jarak g ke titik x+,x+ dan x- adalah Definisikan: maka (wTx (i)+b)yi 1, untuk i = 1, 2, …, N
Constrained Opt. Problem Masalah Penentuan Hyperplane terbaik: Ekivalen dengan
Lagrange Multiplier Solusi x yang memaksimumkan/ meminimumkan fungsi f(x) yang memenuhi kendala g(x) = 0 diperoleh dari solusi persamaan f(x) = g(x) Contoh: Carilah nilai maksimum/minimum untuk fungsi f(x,y) = x2 +y2 yang memenuhi x-y = 1 Titik kritis diperoleh dari 2x = 2y = - x-y = 1 atau 2x- = 0 2y + = 0 x-y = 1 Diperoleh x = ½, y=-½, = 1
Lagrange Multiplier Cari nilai maksimum/minimum f(x,y,z) = x + 2y +3z yang memenuhi x2 + y2 = 2 dan y +z = 1 g1(x,y,z) = x2 + y2 -2 =0 g2(x,y,z) = y + z – 1 = 0 Solusi masalah maks/minimum diperoleh dari: f(x,y,z) = 1g1(x,y,z) + 2g2(x,y,z)
Lagrange Multiplier Solusi x yang memaksimumkan/meminimumkan fungsi f(x) yang memenuhi kendala g(x) = 0 diperoleh dari solusi persamaan f(x) = g(x) Versi lain: L(x, ) = f(x)+g(x) Solusi masalah maksimum/minimum diperoleh dari L(x, ) = 0 L sering dikenal sebagai Lagrangian
Lagrange Multiplier (inequality constraint) Solusi masalah optimasi (primal) Min f(x), x s.t. g(x) 0 dan h(x)=0 Feasible Domain D={x |g(x)0, h(x)=0} Lagrangian L(x, , ) = f(x)+g(x)+ h(x) Dual Problem Max (, ) s.t. 0 (, ) = inf x L(x, , ) Untuk setiap titik feasible x, (, ) L(x, , ) f(x) Duality Gap = f(x) - (, ) Dengan memaksimumkan (, ) terhadap dan , akan meminimumkan duality gap. Khususnya, Jika g dan h fungsi Affine, yaitu g(x) = Ax – b ( A matriks, b vektor) maka duality gap menjadi 0. Artinya, solusi masalah primal ekivalen dengan solusi masalah dual.
Ilustrasi 1 Lagrangian Solusi masalah optimasi (primal) Min x2+y2, L(x,y, ) = x2+y2+(x-y-1) Untuk suatu nilai yang diberikan, agar L minimum 2x + = 0 2y - = 0 Dual Problem Max () = ¼2+ ¼2+(-/2-/2-1) = -2/2 - s.t. 0 Diperoleh =0, x = 0 dan y = 0 Ini berarti constraint tidak aktif!!!
Ilustrasi 2 Lagrangian Solusi masalah optimasi (primal) Min x2+y2, L(x,y, ) = x2+y2-(x-y-1) Agar L minimum 2x - = 0 2y + = 0 Dual Problem Max (, ) = ¼2+ ¼2-(/2+/2-1) = -2/2 + s.t. 0 Diperoleh =1, x = 1/2 dan y = -1/2 Ini berarti constraint aktif, artinya nilai minimum tercapai pada batas constraint.
Linear Classifier Prob. (2 dimensi) Nilai minimum L diperoleh dari : yaitu
Linear Classifier Prob. (Cont.) Substitusi ke Lagrangian: diperoleh
Dual Problem Studi Kasus Cari hyperplane classifier terbaik untuk data training P1(1,0), P2(0,1), P3(2,2), dan Q1(-1,0), Q2(0,-1),
Gradient Descent / Ascent Diketahui permukaan z = f(x,y) dengan kurva ketinggian Dinyatakan pada gambar. Berangkat dari (x0,y0), nilai f(x,y) menurun paling cepat bila bergerak dalam arah -f(x0,y0), bertambah paling cepat bila bergerak dalam arah f(x0,y0). Contoh: Bila f(x,y) = x2+y2 dan (x0,y0)= (2,1), maka f(2,1) = 5. Arah gerak agar nilai f menurun paling besar di titik P : (-4,-2) (x1, y1) = (x0,y0)+ (-4,-2) = (2,1) + (-4,-2) Utk = 0.1, (x1, y1) = (1.6, 0.8). Nilai f (x1, y1) = 3.2 Utk = 0.2, (x1, y1) = (1.2,0.6). Nilai f(x1, y1) = 1.8