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)
- Inisialisasi bobot: (semua instance sama rata)
- 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)
- Inisialisasi bobot:
- 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 / Kunapuli Han & Kamber Input model Weighted dataset langsung Sample berdasarkan bobot Rumus Interpretasi Besar = model bagus Kecil = model bagus Update bobot Salah naik, benar turun Benar turun, salah tetap Jika Weak learner dibatalkan Reset 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.
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.
Additional Information
Formal Derivation of Weight Update
Dari perspektif optimisasi fungsi loss eksponensial, AdaBoost dapat diturunkan dengan meminimalkan:
di mana adalah model gabungan hingga iterasi . Menambahkan weak learner baru dengan bobot menghasilkan fungsi loss baru:
Mengoptimalkan terhadap dengan menurunkan turunan pertama dan menyamakan dengan nol menghasilkan persamaan:
di mana adalah error terberat pada distribusi bobot . Pembaruan distribusi bobot muncul secara alami dari normalisasi faktor yang memastikan bahwa diminimalkan pada setiap langkah. Derivasi ini menegaskan bahwa AdaBoost secara implisit melakukan gradient descent pada loss eksponensial, meskipun tidak secara eksplisit menyebutkan gradien.
Statistik View: AdaBoost sebagai Additive Logistic Regression
Friedman, Hastie, dan Tibshirani (2000) menunjukkan bahwa AdaBoost dapat dipandang sebagai regresi logistik aditif. Jika kita mengubah label menjadi dan mendefinisikan fungsi margin , maka probabilitas kelas positif dapat dituliskan sebagai:
Dengan menambahkan weak learner secara bertahap, algoritma memaksimalkan likelihood logistik secara additive. Pendekatan ini menjelaskan mengapa margin yang lebih besar (nilai jauh dari nol) berhubungan dengan generalization error yang lebih rendah. Margin theory, yang dipelopori oleh Schapire et al., menyatakan bahwa probabilitas kesalahan pada data tak terlihat dapat dibatasi oleh distribusi margin pada data pelatihan, memberikan landasan teoretis kuat bagi keefektifan AdaBoost.
Generalisasi dan Margin Theory
Salah satu kontribusi paling signifikan dalam literatur AdaBoost adalah teori margin.