Back to IF3170 Inteligensi Artifisial

Topic: SVM for Multi-class Data (Strategies & Implementation)

Questions/Cues

  • Sifat Dasar SVM (Biner)

  • Strategi One-against-all (OvA)

  • Strategi One-against-one (OvO)

  • Perhitungan Jumlah Model

  • Mekanisme Voting

  • DAGSVM

  • Software SVM Populer

Reference Points

  • Slides: 52-59

  • Modul: Supervised Learning

1. Tantangan Multi-Class pada SVM

Secara desain, SVM adalah binary classifier (klasifikasi biner). Algoritma ini hanya mengerti cara memisahkan dua hal: kelas positif (+1) dan kelas negatif (-1).

Untuk mengklasifikasikan data yang memiliki lebih dari dua kelas (misalnya: apel, jeruk, mangga), kita harus memecah masalah tersebut menjadi beberapa sub-masalah biner.

2. Strategi One-against-all (OvA) / One-vs-Rest

Strategi ini membangun satu model untuk setiap kelas, yang memisahkan kelas tersebut dari semua kelas lainnya.

  • Jumlah Model: Jika ada kelas, kita membangun model SVM.

  • Konsep:

    • Model 1: Kelas A vs (B + C + D…)

    • Model 2: Kelas B vs (A + C + D…)

    • dst.

  • Keputusan (Klasifikasi):

    Untuk data baru , kita masukkan ke semua model. Pemenangnya adalah kelas yang memberikan nilai fungsi keputusan terbesar (paling positif/yakin).

3. Strategi One-against-one (OvO)

Strategi ini membangun satu model untuk setiap pasangan kelas.

  • Jumlah Model: Kita membangun model SVM.

    • Contoh: Jika ada 4 kelas, butuh model.
  • Konsep:

    • Model 1: Kelas A vs Kelas B

    • Model 2: Kelas A vs Kelas C

    • Model 3: Kelas B vs Kelas C

    • dst.

  • Keputusan (Klasifikasi):

    Menggunakan metode Max Wins (Voting). Data dimasukkan ke semua model. Jika Model 1 memprediksi A, maka A dapat 1 poin. Kelas dengan jumlah poin terbanyak di akhir adalah pemenangnya.

4. DAGSVM (Directed Acyclic Graph SVM)

Metode ini menggunakan model-model dari strategi One-against-one (OvO), tetapi cara pengambilan keputusannya berbeda untuk mempercepat proses testing.

  • Struktur: Menggunakan struktur graf/pohon (Directed Acyclic Graph).

  • Proses (Turnamen Eliminasi):

    Dimulai dari akar (misal: A vs D).

    • Jika hasilnya A, maka D dieliminasi (D tidak mungkin benar). Kita bergerak ke simpul yang menguji A vs kandidat lain.

    • Jika hasilnya D, maka A dieliminasi.

  • Keuntungan: Lebih cepat saat testing karena tidak perlu mengevaluasi semua model, melainkan hanya menyusuri jalur graf (sekitar evaluasi).

5. Implementasi Perangkat Lunak (Software)

  • LibSVM: Library paling populer (basis algoritma kernel SVM di Scikit-Learn). Menggunakan strategi One-against-one untuk multi-class. Mendukung C++, Java, Python.

  • LibLinear: Versi optimasi khusus untuk Linear Kernel. Sangat cepat untuk data dimensi tinggi (seperti teks). Menggunakan strategi One-against-all.

  • SVMLight: Populer untuk klasifikasi teks.

Summary

Karena SVM pada dasarnya adalah klasifikasi biner, penanganan data Multi-Class dilakukan dengan menggabungkan beberapa model biner. Metode One-against-all (OvA) membuat model (satu lawan sisa), sedangkan One-against-one (OvO) membuat model (duel antar pasangan) dengan keputusan berbasis voting. DAGSVM mempercepat prediksi OvO menggunakan metode eliminasi turnamen. Pustaka standar seperti LibSVM umumnya menggunakan pendekatan OvO karena lebih stabil untuk kernel non-linear.