Back to IF3170 Inteligensi Artifisial

Topic: SVM for Linearly Separable Data (Mathematics & Optimization)

Questions/Cues

  • Definisi Matematis Support Vector

  • Persamaan Bidang Pembatas

  • Rumus Lebar Margin

  • Fungsi Objektif SVM

  • Quadratic Programming (QP)

  • Primal vs Dual Problem

  • Peran Lagrange Multiplier (Alpha)

  • Cara menghitung bias (b)

Reference Points

  • Slides: 17-38

  • Modul: Supervised Learning

1. Definisi Formal Support Vector & Margin

Pada data yang linearly separable (dapat dipisahkan sempurna secara linear), SVM mencari dua bidang pembatas paralel yang memisahkan data dengan jarak terjauh.

Persamaan Bidang:

  • Hyperplane Tengah (Pemisah):

  • Pembatas Kelas +1: (Data di garis ini labelnya +1)

  • Pembatas Kelas -1: (Data di garis ini labelnya -1)

Kondisi Matematis:

Agar klasifikasi benar dan berada di luar margin, seluruh data latih harus memenuhi pertidaksamaan:

  • Jika hasilnya , maka data tersebut berada tepat di garis pembatas. Data inilah yang disebut Support Vector.

  • Jika hasilnya , maka data berada di zona aman (bukan support vector).

2. Optimasi Margin (Objective Function)

Tujuan SVM adalah memaksimalkan lebar margin ().

Rumus Lebar Margin:

Jarak tegak lurus antara pembatas kelas +1 dan -1 adalah:

Masalah Optimasi: Untuk memaksimalkan margin, kita harus meminimalkan .

Secara matematis, untuk memudahkan penurunan rumus (agar bisa diturunkan/derivative), kita meminimalkan kuadratnya:

Primal Problem (Masalah Asli):

Subject to: (Semua data harus benar di luar margin).

Ini adalah masalah Convex Quadratic Programming (QP).

3. Lagrange Multipliers & Dual Problem

Masalah optimasi di atas (Primal) sulit diselesaikan langsung karena ada kendala pertidaksamaan. Kita mengubahnya menjadi masalah Dual menggunakan metode Lagrange Multipliers.

Transformasi ke Dual Problem:

Kita memperkenalkan variabel baru bernama Alpha () untuk setiap titik data.

Fungsi Dual yang Harus Dimaksimalkan:

Kendala Baru:

Keuntungan Bentuk Dual:

Masalah kini hanya bergantung pada Dot Product antar data latih. Ini sangat krusial untuk menangani data non-linear nanti (menggunakan Kernel Trick).

4. Interpretasi Nilai Alpha ()

Setelah masalah optimasi diselesaikan (biasanya menggunakan software QP Solver), kita mendapatkan nilai untuk setiap data.

  • Jika : Data tersebut bukan Support Vector. Data ini tidak berpengaruh pada pembentukan garis pemisah.

  • Jika : Data tersebut adalah Support Vector. Data ini terletak tepat di batas margin ().

5. Menghitung Model Akhir ( dan )

Setelah nilai ditemukan:

  1. Hitung Bobot ():

    (Hanya support vector yang berkontribusi karena lainnya 0).

  2. Hitung Bias ():

    Ambil salah satu support vector (), lalu masukkan ke persamaan:

    (Dalam prakteknya, sering dirata-rata dari semua support vector untuk kestabilan numerik).

  3. Fungsi Klasifikasi Baru:

6. Studi Kasus Perhitungan Manual (Step-by-Step)

Dataset 2D Sederhana:

Kita punya 3 data latih.

  • Kelas Positif (+1): ,

  • Kelas Negatif (-1):

Analisis Visual: paling dekat dengan , kemungkinan besar mereka adalah Support Vector. ada di belakang .

Langkah 1: Hitung Dot Product ()

Rumus:

PerkalianPasangan DataPerhitunganHasil
18
21
6
25
7
2

Langkah 2: Menyusun Persamaan Dual

Kendala: .

Asumsi: jauh di belakang, jadi bukan support vector. Set .

Maka: .

Masukkan ke Fungsi :

L = (\alpha_1 + \alpha_3) - \frac{1}{2} [ \alpha_1^2 y_1 y_1 (x_1 \cdot x_1) + \alpha_3^2 y_3 y_3 (x_3 \cdot x_3) + 2 \alpha_1 \alpha_3 y_1 y_3 (x_1 \cdot x_3) ]$$$$L = 2\alpha - \frac{1}{2} [ \alpha^2(1)(18) + \alpha^2(1)(2) + 2(\alpha)(\alpha)(-1)(6) ]$$$$L = 2\alpha - \frac{1}{2} [ 18\alpha^2 + 2\alpha^2 - 12\alpha^2 ]$$$$L = 2\alpha - \frac{1}{2} [ 8\alpha^2 ] = 2\alpha - 4\alpha^2

Langkah 3: Cari Alpha Optimal

Turunkan terhadap dan samakan dengan 0:

  • (Support Vector)

  • (Support Vector)

  • (Bukan)

Langkah 4: Hitung Bobot ()

Langkah 5: Hitung Bias ()

Gunakan salah satu Support Vector (misal ).

Langkah 6: Persamaan Akhir & Verifikasi

Fungsi Keputusan:

Uji DataPerhitunganHasilTargetStatus
1+1Support Vector
1.5+1Benar (>1)
-1-1Support Vector

7. Studi Kasus 2 (PPT)

Dataset

x1x2Kelas
31+1
3-1+1
61+1
6-1+1
10-1
01-1
0-1-1
-10-1

Identifikasi Support Vectors

Dari visualisasi data, titik-titik yang paling dekat antar kelas (yang berada di perbatasan) adalah:

Support Vectors yang dipilih:

  • SV1: (1, 0) dengan kelas -1
  • SV2: (3, 1) dengan kelas +1
  • SV3: (3, -1) dengan kelas +1

Titik-titik ini ditandai dengan lingkaran kuning pada plot.


Langkah 1: Menyusun Persamaan dari Syarat Support Vector

Untuk Support Vector, berlaku:

Kita akan menyusun persamaan untuk ketiga support vector:

Persamaan 1: Titik (1, 0) → Kelas -1

Persamaan 2: Titik (3, 1) → Kelas +1

Persamaan 3: Titik (3, -1) → Kelas +1

Persamaan 4: Constraint SVM


Langkah 2: Penyelesaian Sistem Persamaan Linear

Sistem persamaan yang harus diselesaikan:

Eliminasi (2) dan (3):

Substitusi (5) ke (1) dan (2):

Dari (1):

Dari (2):

Eliminasi (6) dan (7):

Substitusi (5) dan (8) ke constraint (4):

Cari variabel lainnya:

Substitusi ke (6) untuk mencari b:


Hasil Akhir

Fungsi Hipotesis:

dengan:

  • α₁ = 0.5
  • α₂ = α₃ = 0.25

Langkah 3: Pengujian Hipotesis

Uji dengan data baru: x = (6, 1)

Hitung dot products:

Substitusi:

Hasil: Data (6, 1) diprediksi masuk kelas +1


Visualisasi Hasil

Hyperplane yang terbentuk memisahkan:

  • Kelas -1 (kotak merah) di sebelah kiri
  • Kelas +1 (titik biru) di sebelah kanan

Support Vectors (lingkaran kuning):

  • (1, 0) dengan α₁ = 0.5
  • (3, 1) dengan α₂ = 0.25
  • (3, -1) dengan α₃ = 0.25

Garis hitam vertikal adalah hyperplane pemisah dengan persamaan yang didapat dari model SVM.

8. Studi Kasus 3: Perhitungan Kompleks (3 Support Vectors)

Dataset:

Datax1​x2​Kelas (y)
31+1
3-1+1
61+1
6-1+1
10-1
01-1
0-1-1
-10-1

Identifikasi Support Vectors:

Secara visual, data yang paling berdekatan antar kelas adalah:

  • Kelas -1: Titik terluar kanan . (Kita sebut ini data ke-1 untuk perhitungan, )

  • Kelas +1: Titik terluar kiri dan . (Kita sebut ini data ke-2 dan ke-3, ).

Langkah 1: Menyusun Persamaan dari Syarat SV

Untuk Support Vector, berlaku .

Rumus: .

Kita akan menyusun persamaan berdasarkan 3 titik yang diduga SV:

  1. Titik 1 (Kelas -1):

  2. Titik 2 (Kelas +1):

    (Note: , )

  3. Titik 3 (Kelas +1):

  4. Constraint SVM ():

Langkah 2: Penyelesaian Sistem Persamaan Linear

  • Eliminasi (2) dan (3):

  • Substitusi (5) ke (1) dan (2):

    (1) menjadi:

    (2) menjadi:

  • Eliminasi (6) dan (7):

    (6) - (7)

  • Substitusi (5) dan (8) ke Constraint (4):

  • Cari variabel lain:

    Substitusi ke (6):

Hasil Akhir Model:

.

Karena semua , ketiga titik tersebut benar merupakan Support Vectors.

Langkah 3: Pengujian Hipotesis

Misal ada data baru . Prediksi kelasnya?

Sign(4) = +1. (Data masuk kelas Positif).

Summary

Pada data Linearly Separable, SVM diformulasikan sebagai masalah Quadratic Programming (QP) dengan tujuan meminimalkan (yang ekuivalen dengan memaksimalkan margin ) dengan kendala klasifikasi yang benar. Masalah ini diselesaikan menggunakan metode Lagrange Multipliers dalam bentuk Dual Problem, di mana kita mencari nilai . Hanya data dengan yang menjadi Support Vectors dan menentukan bentuk hyperplane akhir.