Back to IF3270 Pembelajaran Mesin

Adaptive Boosting (AdaBoost): Sequential Weak Learner Fusion via Instance Weighting

Questions/Cues

  • Mengapa contoh yang salah diberi bobot lebih tinggi?
  • Bagaimana cara menghitung bobot model pada tiap iterasi?
  • Apa peran distribusi bobot D pada data pelatihan?
  • Bagaimana cara menggabungkan prediksi weak learner menjadi keputusan akhir?
  • Apa yang terjadi bila sebuah weak learner memiliki error > 0,5?

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

Adaptive Boosting, atau yang lebih dikenal dengan AdaBoost, merupakan metode ensemble sekuensial yang menggabungkan sejumlah weak learner (pembelajar lemah) menjadi satu strong learner (pembelajar kuat).

Ide utama AdaBoost adalah memperbaiki kesalahan yang dibuat oleh model sebelumnya dengan memberi prioritas lebih tinggi pada contoh‑contoh yang sebelumnya salah diklasifikasikan. Pada setiap iterasi, algoritma melatih weak learner baru pada dataset berbobot, di mana bobot‑bobot ini mencerminkan pentingnya masing‑masing contoh dalam proses pelatihan.

Karena setiap weak learner biasanya hanya sedikit lebih baik daripada tebak‑tebakan acak (misalnya decision stump dengan kedalaman satu), kombinasi linier berbobot dari banyak weak learner dapat menghasilkan akurasi yang sangat tinggi.

Konsep “adaptif” pada nama AdaBoost merujuk pada kemampuan algoritma untuk menyesuaikan distribusi bobot secara dinamis selama proses pelatihan. Pada iterasi pertama, semua contoh diberikan bobot yang sama, menandakan bahwa tidak ada pengetahuan awal tentang contoh mana yang sulit. Setelah weak learner pertama dievaluasi, contoh‑contoh yang salah diklasifikasikan akan ditingkatkan bobotnya, sementara contoh yang benar akan dikurangi bobotnya. Dengan cara ini, weak learner berikutnya “dipaksa” untuk fokus pada area‑area data yang masih belum terpecahkan, sehingga secara bertahap memperbaiki performa keseluruhan.

Secara matematis, AdaBoost dapat dipandang sebagai optimisasi fungsi loss eksponensial. Setiap weak learner berkontribusi pada fungsi keputusan akhir dengan bobot yang bergantung pada tingkat kesalahan (error) pada iterasi tersebut. Proses ini menghasilkan model akhir yang dapat dituliskan sebagai kombinasi linear berbobot:

di mana adalah weak learner ke‑ dan adalah bobotnya. Kombinasi ini memastikan bahwa weak learner yang lebih akurat memperoleh pengaruh yang lebih besar pada keputusan akhir.

Proses Pembobotan Instance

Pada setiap iterasi , algoritma memelihara sebuah distribusi bobot untuk setiap contoh pelatihan . Distribusi ini selalu memenuhi sehingga dapat diperlakukan sebagai probabilitas. Langkah‑langkah utama pada iterasi adalah:

  1. Pelatihan weak learner menggunakan data yang dibobotkan oleh . Pada praktiknya, banyak implementasi mengubah dataset menjadi “re‑sampled” sesuai probabilitas , tetapi secara konseptual yang penting adalah bahwa contoh dengan bobot tinggi lebih mungkin dipilih.
  2. Menghitung error dari pada data berbobor:

di mana adalah fungsi indikator.

  1. Menentukan bobot model dengan rumus:

Nilai meningkat bila kecil (model akurat) dan menurun bila mendekati 0,5. Jika , algoritma biasanya membatalkan weak learner tersebut karena performanya lebih buruk daripada tebak‑tebakan acak.

  1. Memperbarui bobot contoh untuk iterasi berikutnya:

di mana adalah faktor normalisasi agar . Jika contoh diklasifikasikan dengan benar (), eksponensial menjadi (menurunkan bobot). Jika salah, eksponensial menjadi (meningkatkan bobot). Proses ini secara intuitif “menyiksa” contoh‑contoh yang masih salah, memaksa weak learner selanjutnya untuk memperhatikannya.

Contoh numerik sederhana dapat membantu memperjelas mekanisme ini. Misalkan terdapat tiga contoh dengan bobot awal . Weak learner pertama mengklasifikasikan contoh ke‑2 dengan salah, menghasilkan . Maka . Bobot contoh ke‑2 akan dikalikan dengan sementara dua contoh lainnya dikalikan dengan . Setelah normalisasi, contoh ke‑2 memperoleh bobot yang lebih besar pada iterasi berikutnya, memaksa weak learner kedua untuk memperbaikinya.

Kombinasi Model dan Penentuan Bobot

Setelah seluruh iterasi selesai (biasanya ditentukan oleh jumlah maksimum weak learner atau oleh kriteria konvergensi), model akhir menggabungkan semua weak learner dengan bobot yang telah dihitung. Kombinasi ini bersifat linear pada output prediksi (biasanya untuk klasifikasi biner). Pada fase inferensi, setiap weak learner memberikan “suara” yang dikalikan dengan ; suara‑suara ini dijumlahkan, dan tanda total menentukan kelas prediksi.

Secara visual, proses ini dapat dibayangkan seperti pemungutan suara berimbang: setiap anggota dewan (weak learner) memiliki kekuatan suara yang proporsional dengan rekam jejak keberhasilannya (nilai ). Anggota yang sering salah (error tinggi) memiliki suara lemah, sementara anggota yang konsisten benar memiliki suara kuat. Keputusan akhir mencerminkan mayoritas suara berbobot, bukan sekadar mayoritas sederhana.

Penting untuk dicatat bahwa weak learner yang dipilih biasanya sangat sederhana (misalnya decision stump). Kesederhanaan ini memastikan bahwa setiap learner memiliki bias tinggi tetapi varians rendah, sehingga ketika digabungkan, bias total dapat berkurang secara signifikan tanpa meningkatkan varians secara berlebihan. Inilah mengapa AdaBoost dapat menghasilkan model yang kuat meskipun setiap komponennya lemah.

Inferensi dan Prediksi Akhir

Pada saat melakukan prediksi pada data baru , langkahnya sangat langsung:

  1. Evaluasi setiap weak learner untuk memperoleh nilai .
  2. Kalikan setiap output dengan bobot yang telah dipelajari.
  3. Jumlahkan semua nilai berbobot: .
  4. Ambil tanda dari hasil penjumlahan: . Jika maka kelas +1, sebaliknya –1.

Karena bersifat logaritmik terhadap rasio kesalahan, weak learner yang sangat akurat (error kecil) akan memberikan kontribusi yang dominant pada nilai akhir. Sebaliknya, weak learner yang hampir acak (error mendekati 0,5) akan memiliki mendekati nol, sehingga hampir tidak memengaruhi keputusan akhir.

Contoh praktis: Misalkan tiga weak learner menghasilkan output dengan bobot . Penjumlahan berbobot menjadi . Karena hasilnya positif, prediksi akhir adalah kelas +1. Jika bobot weak learner kedua lebih besar (misalnya ), maka total dapat menjadi negatif, mengubah keputusan akhir.

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.

Memahami trade‑off ini penting bagi mahasiswa yang ingin mengaplikasikan AdaBoost pada masalah nyata, seperti deteksi penipuan, klasifikasi teks, atau diagnosis medis.

Summary

AdaBoost membangun model kuat dengan melatih serangkaian weak learner secara berurutan, memberi bobot lebih tinggi pada contoh yang salah pada setiap iterasi. Bobot model dihitung dari error dan menentukan pengaruh suara masing‑masing learner pada keputusan akhir. Proses adaptif ini menghasilkan kombinasi linear berbobot yang dapat mengatasi data tidak seimbang, namun tetap rentan terhadap noise dan memerlukan weak learner yang setidaknya lebih baik daripada tebak‑tebakan acak.