Back to IF3270 Pembelajaran Mesin

AdaBoost: Perbandingan Freund & Schapire / Kunapuli vs Han & Kamber

Questions/Cues

  • Mengapa contoh yang salah diberi bobot lebih tinggi?
  • Bagaimana cara menghitung bobot model pada tiap iterasi?
  • Apa perbedaan rumus antara Kunapuli dan Han & Kamber?
  • Bagaimana cara kerja inferensi di masing-masing versi?
  • Apa yang terjadi bila di kedua versi?

Reference Points

  • Kunapuli, G. (2023). Ensemble methods for machine learning (Halaman 38–44)
  • Han, J., Pei, J., & Tong, H. (2022). Data mining: concepts and techniques (Halaman 38–43)

Prinsip Dasar AdaBoost

AdaBoost (Adaptive Boosting) adalah metode ensemble sekuensial yang menggabungkan sejumlah weak learner menjadi satu strong learner. Berbeda dengan Bagging dan Random Forest yang melatih model secara paralel, AdaBoost melatih model satu per satu — setiap model berikutnya berfokus pada kesalahan model sebelumnya.

Cara AdaBoost “fokus pada kesalahan” adalah dengan memaintain distribusi bobot untuk setiap instance data. Instance yang salah diklasifikasi akan diberi bobot lebih tinggi, sehingga weak learner berikutnya lebih memperhatikannya. Bobot ini selalu memenuhi sehingga dapat diperlakukan sebagai probabilitas.

Weak learner yang dipakai biasanya sangat sederhana, misalnya decision stump (Decision Tree dengan kedalaman 1). Kesederhanaan ini disengaja — bias tinggi tapi varians rendah — sehingga ketika digabungkan, bias total berkurang tanpa meningkatkan varians secara berlebihan.

Training: Freund & Schapire / Kunapuli (2023)

  1. Inisialisasi bobot: (semua instance sama rata)
  2. Untuk setiap iterasi :
    • Latih weak learner menggunakan weighted dataset
    • Hitung training error:

  • Hitung bobot model ( besar jika error kecil):

  • Update instance weights:
    • Benar: → bobot turun
    • Salah: → bobot naik
  • Normalisasi bobot:
  • Jika → weak learner dibatalkan

Training: Han & Kamber (2022)

  1. Inisialisasi bobot:
  2. Untuk setiap iterasi :
    • Sample dataset berdasarkan distribusi bobot saat ini (berbeda dari Kunapuli yang langsung pakai weighted dataset)
    • Latih weak learner dari sample tersebut
    • Hitung error:
    • Jika reset bobot, ulangi iterasi (berbeda dari Kunapuli yang langsung batalkan)
    • Hitung bobot model ( kecil jika model bagus — interpretasi terbalik):

  • Update instance weights:
    • Benar: → bobot turun (karena )
    • Salah: bobot tetap
  • Normalisasi bobot

Inferensi

Freund & Schapire / Kunapuli:

Setiap weak learner memberikan vote , dikali , lalu dijumlahkan. Tanda dari total menentukan kelas akhir. Karena logaritmik terhadap rasio error, model dengan error kecil berkontribusi dominan.

Han & Kamber:

Tiap model vote kelas, dikali . Karena di Han & Kamber kecil = model bagus, maka besar = kontribusi lebih besar. Logika sama, notasi terbalik.

Contoh praktis (Kunapuli): Tiga weak learner menghasilkan output dengan bobot . Penjumlahan: , sehingga prediksi akhir adalah kelas .

Perbandingan Ringkas

Freund & Schapire / KunapuliHan & Kamber
Input modelWeighted dataset langsungSample berdasarkan bobot
Rumus
Interpretasi Besar = model bagusKecil = model bagus
Update bobotSalah naik, benar turunBenar turun, salah tetap
Jika Weak learner dibatalkanReset bobot, ulangi
Inferensi

Kelebihan dan Keterbatasan AdaBoost

Kelebihan utama AdaBoost meliputi:

  • Tidak memerlukan penyesuaian parameter yang rumit; hanya jumlah iterasi dan jenis weak learner yang perlu dipilih.
  • Kemampuan adaptif yang kuat dalam menangani data tidak seimbang, karena contoh‑contoh minoritas yang sering salah akan secara otomatis memperoleh bobot lebih tinggi.
  • Teori margin yang menunjukkan bahwa peningkatan margin (jarak antara contoh yang benar dan keputusan) berhubungan langsung dengan generalisasi yang lebih baik.

Keterbatasan yang perlu diwaspadai:

  • Sensitivitas terhadap noise: Jika data mengandung banyak label yang salah, bobot pada contoh‑contoh noisy akan terus meningkat, menyebabkan overfitting.
  • Kebutuhan weak learner yang sedikit lebih baik dari acak; bila weak learner tidak dapat mencapai error < 0,5, algoritma akan gagal.
  • Kompleksitas komputasi meningkat seiring jumlah iterasi, terutama bila dataset besar dan weak learner tidak trivial.

Summary

AdaBoost membangun strong learner secara sekuensial dengan memberi bobot lebih tinggi pada instance yang salah di setiap iterasi. Versi Kunapuli/Freund & Schapire menggunakan weighted dataset langsung dengan (besar = bagus), sementara Han & Kamber melakukan sampling terlebih dahulu dengan (kecil = bagus). Keduanya mencapai tujuan yang sama — model dengan error kecil berkontribusi lebih besar pada prediksi akhir — hanya dengan jalur dan notasi yang berbeda.