Diterbitkan: 18 Maret 2024
Kontributor: Jacob Murel Ph.D., Eda Kavlakoglu
Pembelajaran ansambel menggabungkan beberapa pembelajar untuk meningkatkan kinerja prediktif. Ini telah diadopsi sebagai tanggapan atas masalah yang dihasilkan dari kumpulan data yang terbatas.
Ensemble learning adalah teknik machine learning yang menggabungkan dua atau lebih peserta didik (mis. model regresi, neural networks) untuk menghasilkan prediksi yang lebih baik. Dengan kata lain, model ensembel menggabungkan beberapa model individu untuk menghasilkan prediksi yang lebih akurat daripada model tunggal saja.1 Kadang-kadang, sumber dapat merujuk pada teknik ini sebagai pembelajaran berbasis komite. Ensemble learning bertumpu pada prinsip bahwa kolektivitas peserta didik menghasilkan akurasi yang lebih besar secara keseluruhan dibandingkan dengan peserta didik perorangan.2 Memang, penelitian mendukung kemanjurannya dengan model machine learning dan convolutional neural networks (CNN).
Catatan tentang terminologi: pembelajar dasar, model dasar, dan, dalam beberapa kasus, estimator dasar mengacu pada model individu atau model yang digunakan dalam algoritme ensemble. Sastra selanjutnya membagi pembelajar dasar menjadi pembelajar yang kuat dan pembelajar yang lemah. Model atau pembelajar yang lemah didefinisikan sebagai model yang berkinerja sedikit lebih baik daripada menebak acak. Untuk masalah klasifikasi biner, pengklasifikasi yang lemah secara lebih formal adalah pengklasifikasi yang mencapai akurasi sekitar lima puluh persen. Sebaliknya, model atau pembelajar yang kuat mencapai kinerja prediksi yang sangat baik, yang dalam klasifikasi biner diformalkan sama dengan atau lebih besar dari akurasi delapan puluh persen.3
Perlu dicatat bahwa beberapa sumber mencampuradukkan antara pembelajar yang lemah dan pembelajar dasar karena metode ensemble, terutama yang berurutan, secara efektif meningkatkan pembelajar yang lemah menjadi pembelajar yang kuat.4
Pengorbanan varians bias adalah masalah terkenal dalam machine learning dan prinsip motivasi di balik banyak teknik regularisasi. Kita dapat mendefinisikannya sebagai:
- Bias mengukur perbedaan rata-rata antara nilai prediksi dan nilai sebenarnya. Saat bias meningkat, model memprediksi kurang akurat pada kumpulan data pelatihan. Bias tinggi mengacu pada tingkat kesalahan yang tinggi dalam pelatihan. Optimasi menandakan upaya untuk mengurangi bias.
- Varians mengukur perbedaan antara prediksi di berbagai realisasi dari model yang diberikan. Saat varians meningkat, model memprediksi secara kurang akurat pada data yang belum dilihat. Varians tinggi mengacu pada tingkat kesalahan yang tinggi selama pengujian dan validasi. Generalisasi mengacu pada upaya untuk mengurangi varians.
Bias dan varians sebaliknya mewakili akurasi model pada data pelatihan dan pengujian masing-masing.5 Itu adalah dua dari tiga istilah yang terdiri dari tingkat kesalahan total model, yang ketiga adalah kesalahan yang tidak dapat direduksi. Istilah ketiga ini menunjukkan kesalahan yang dihasilkan dari keacakan yang melekat dalam kumpulan data. Total kesalahan model dapat didefinisikan dengan rumus:6
Setiap algoritma pelatihan model terdiri dari banyak variabel—mis. data pelatihan, hyperparameter, dan sebagainya—yang mempengaruhi kesalahan total model konsekuen. Dengan demikian, bahkan satu algoritme pelatihan dapat menghasilkan model yang berbeda, masing-masing dengan bias, varians, dan tingkat kesalahan yang tidak dapat direduksi. Dengan menggabungkan beberapa model yang beragam, algoritme ensemble dapat menghasilkan tingkat kesalahan keseluruhan yang lebih rendah dengan tetap mempertahankan kompleksitas dan keunggulan masing-masing model, seperti bias yang rendah untuk sub-kumpulan data tertentu.7
Penelitian menunjukkan bahwa, secara umum, semakin besar keragaman di antara model gabungan, semakin akurat model ensemble yang dihasilkan. Dengan demikian, ensemble learning dapat mengatasi masalah regresi seperti overfitting tanpa menghilangkan bias model. Memang, penelitian menunjukkan bahwa ensemble terdiri dari beragam model yang kurang diatur (mis. model yang overfitting dengan data pelatihannya) mengungguli model reguler tunggal.8 Selain itu, teknik ensemble learning dapat membantu menyelesaikan masalah yang berasal dari data dimensi tinggi, dan dengan demikian secara efektif berfungsi sebagai alternatif untuk pengurangan dimensi.
Literatur secara luas mengkategorikan metode ensemble learning dalam machine learning menjadi dua kelompok: paralel dan berurutan.
- Metode paralel melatih setiap pembelajar dasar secara terpisah dari pembelajar dasar lainnya. Sesuai namanya, kelompok paralel melatih pembelajar dasar secara paralel dan independen satu sama lain.
- Metode berurutan melatih pembelajar dasar yang baru untuk meminimalkan kesalahan yang dibuat oleh model sebelumnya yang dilatih pada langkah sebelumnya. Dengan kata lain, metode berurutan membangun model dasar secara berurutan secara bertahap.9
Metode paralel dibagi lagi menjadi metode homogen dan heterogen. Ensemble paralel homogen menggunakan algoritma pembelajaran dasar yang sama untuk menghasilkan semua peserta didik berbasis komponen. Ensemble paralel heterogen menggunakan algoritma yang berbeda untuk menghasilkan pembelajar dasar.10
Bagaimana metode ensemble menggabungkan pembelajar dasar menjadi pembelajar akhir? Beberapa teknik, mis. penumpukan, menggunakan algoritma machine learning terpisah untuk melatih peserta ensemble dari pembelajar dasar. Tetapi salah satu metode umum untuk mengonsolidasikan prediksi pembelajar dasar adalah voting (pemungutan suara), dan lebih tepatnya, voting mayoritas.
Voting mayoritas mempertimbangkan setiap prediksi pelajar dasar untuk contoh data yang diberikan dan menghasilkan prediksi akhir yang ditentukan oleh apa pun yang diprediksi oleh mayoritas pelajar. Misalnya, dalam masalah klasifikasi biner, voting mayoritas mengambil prediksi dari setiap pengklasifikasi dasar untuk contoh data yang diberikan dan menggunakan prediksi mayoritas sebagai prediksi akhir. Voting mayoritas tertimbang adalah perluasan dari teknik ini yang memberikan bobot lebih besar pada prediksi pembelajar tertentu dibandingkan yang lain.11
Mungkin tiga teknik ensemble learning yang paling populer adalah bagging (mengantongi), boosting (meningkatkan), dan stacking (menumpuk). Faktanya, semua ini menunjukkan perbedaan antara jenis metode ensemble berurutan, paralel, homogen, dan heterogen.
Perhatikan bahwa ikhtisar ini tidak lengkap; ada beberapa metode ensemble tambahan, seperti ensemble pencampuran dan rata-rata tertimbang. Ini hanya dimaksudkan untuk mensurvei beberapa metode yang lebih menonjol dalam literatur.
Bagging adalah metode paralel homogen yang kadang-kadang disebut agregasi bootstrap. Ini menggunakan replika yang dimodifikasi dari kumpulan data pelatihan yang diberikan untuk melatih beberapa pembelajar dasar dengan algoritme pelatihan yang sama.12 Modul ensemble Scikit-learn dengan Python berisi fungsi untuk mengimplementasikan bagging, seperti BaggingClassifier.
Lebih khusus lagi, bagging menggunakan teknik yang disebut resampling bootstrap untuk mendapatkan beberapa kumpulan data baru dari satu kumpulan data pelatihan awal untuk melatih beberapa pembelajar dasar. Bagaimana cara kerjanya? Katakanlah kumpulan data pelatihan berisi n contoh pelatihan. Bootstrap resampling menyalin n instance data dari kumpulan tersebut ke dalam kumpulan data subsampel baru, dengan beberapa contoh awal muncul lebih dari satu kali dan yang lainnya dikecualikan seluruhnya. Ini adalah sampel bootstrap. Mengulangi proses ini sebanyak x kali akan menghasilkan x iterasi dari kumpulan data asli, masing-masing berisi n sampel dari kumpulan awal. Setiap iterasi dari set awal kemudian digunakan untuk melatih pembelajar dasar yang terpisah dengan algoritme pembelajaran yang sama.13
Random forest adalah ekstensi dari bagging yang secara khusus menunjukkan penggunaan bagging untuk membangun ensemble dari decision trees acak. Hal ini berbeda dengan decision trees standar karena decision trees standar mengambil sampel dari setiap fitur untuk mengidentifikasi yang terbaik untuk pemisahan. Sebaliknya, random forest secara berulang mengambil sampel sub-kumpulan fitur acak untuk membuat node keputusan.14
Stacking (penumpukan), atau generalisasi bertumpuk,15 adalah metode paralel heterogen yang menjadi contoh dari apa yang dikenal sebagai meta-learning. Meta-learning terdiri dari melatih pembelajar meta dari hasil dari beberapa pembelajar dasar. Stacking secara khusus melatih beberapa pembelajar dasar dari kumpulan data yang sama menggunakan algoritme pelatihan yang berbeda untuk setiap pembelajar. Setiap pembelajar dasar membuat prediksi pada kumpulan data yang tidak terlihat. Prediksi model pertama ini kemudian dikompilasi dan digunakan untuk melatih model akhir, yaitu model meta.16
Perhatikan pentingnya menggunakan kumpulan data yang berbeda dari yang digunakan untuk melatih pembelajar dasar untuk melatih pembelajar meta. Menggunakan kumpulan data yang sama untuk melatih pembelajar dasar dan pembelajar meta dapat mengakibatkan overfitting. Hal ini dapat memerlukan pengecualian contoh data dari data pelatihan pembelajar dasar untuk digunakan sebagai data kumpulan uji, yang pada gilirannya menjadi data pelatihan untuk pembelajar meta. Literatur sering merekomendasikan teknik seperti validasi silang untuk memastikan kumpulan data ini tidak tumpang tindih.17
Seperti halnya bagging, modul sklearn.ensemble di Python menyediakan berbagai fungsi untuk mengimplementasikan teknik stacking.
Algoritma boosting adalah metode ensemble berurutan. Boosting memiliki banyak variasi, tetapi semuanya mengikuti prosedur umum yang sama. Boosting melatih pembelajar pada beberapa kumpulan data awal, d. Pembelajar yang dihasilkan biasanya lemah, salah mengklasifikasikan banyak sampel dalam kumpulan data. Sama seperti bagging, boosting kemudian mengambil sampel instance dari kumpulan data awal untuk membuat kumpulan data baru (d2). Namun, tidak seperti bagging, boosting memprioritaskan contoh data yang salah diklasifikasikan dari model atau pembelajar pertama. Pembelajar baru dilatih pada kumpulan data baru ini d2. Kemudian kumpulan data ketiga (d3) kemudian dikompilasi dari d1 dan d2, dengan memprioritaskan sampel dan instance yang salah diklasifikasikan dari pelajar kedua dan di mana d1 dan d2 tidak setuju. Proses ini berulang n kali untuk menghasilkan n pembelajar. Boosting kemudian menggabungkan dan menimbang semua pembelajar bersama-sama untuk menghasilkan prediksi akhir.18
Algoritme boosting sebagian besar berbeda dalam cara memprioritaskan contoh data yang diprediksi secara keliru saat membuat kumpulan data baru. Dua metode peningkatan yang paling menonjol dapat menggambarkan hal ini:
- Boosting adaptif (AdaBoost) memimbang kesalahan model. Artinya, ketika membuat iterasi baru dari kumpulan data untuk melatih pembelajar berikutnya, AdaBoost menambahkan bobot pada sampel yang salah klasifikasi dari pembelajar sebelumnya, sehingga pembelajar berikutnya akan memprioritaskan sampel yang salah klasifikasi tersebut.
- Boosting gradien menggunakan kesalahan residual ketika melatih pembelajar baru. Alih-alih menimbang sampel yang salah klasifikasi, boosting gradien menggunakan kesalahan residual dari model sebelumnya untuk menetapkan prediksi target untuk model berikutnya. Dengan cara ini, ini mencoba untuk menutup celah kesalahan yang ditinggalkan oleh satu model.19
Sayangnya, sklearn tidak mengandung fungsi yang telah ditentukan sebelumnya untuk menerapkan boosting. Akan tetapi, pustaka sumber terbuka Extreme Gradient Boosting (XGBoost) menyediakan kode untuk mengimplementasikan boosting gradien dalam Python.
Mengingat kesulitan dalam memperoleh kumpulan data yang besar, dapat digunakan secara adil, dan berlabel untuk melatih peserta didik, ensemble learning telah melihat banyak aplikasi dalam upaya untuk meningkatkan kinerja peserta didik dengan lebih sedikit data. Sebagai contoh, beberapa penelitian terbaru menunjukkan hasil yang menjanjikan dengan meningkatkan generalisasi model menggunakan metode ensemble untuk tugas visi komputer, seperti melatih beberapa model dengan representasi yang berbeda dari kumpulan data20 atau menggabungkan beberapa model yang bias.21
Meskipun metode ensemble memiliki kemampuan untuk meningkatkan generalisasi, namun metode ini tetap dapat menimbulkan ketidakadilan. Dalam machine learning, keadilan menunjukkan upaya untuk mengurangi bias algoritmik (sering kali terhadap kelompok minoritas) dalam sistem otomatis, yang biasanya dihasilkan dari pembelajar yang dilatih pada data sensitif. Sejumlah penelitian mengusulkan metrik, teknik praproses, dan pascaproses untuk meningkatkan kewajaran dalam model ensemble.22 Upaya berkelanjutan untuk meningkatkan keadilan dan praktik etis dalam AI tetap menjadi area yang sangat dibutuhkan untuk penelitian masa depan.
1 Zhi-Hua Zhou, Ensemble Methods: Foundations and Algorithms, CRC Press, 2012.
2 Gavin Brown, “Ensemble Learning,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017.
3 Gautam Kunapuli, Ensemble Methods for Machine Learning, Manning Publications, 2023. Lior Rokach, Pattern Classification Using Ensemble Methods, World Scientific Publishing Company, 2010.
4 Zhi-Hua Zhou, Ensemble Methods: Foundations and Algorithms, CRC Press, 2012.
5 Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani, dan Jonathan Taylor, An Introduction to Statistical Learning with Applications in Python, Springer, 2023.
6 George Kyriakides dan Konstantinos G. Margaritis, Hands-On Ensemble Learning with Python, Packt Publishing, 2019.
7 Zhi-Hua Zhou, Machine Learning, diterjemahkan oleh Shaowu Liu, Springer, 2021. George Kyriakides dan Konstantinos G. Margaritis, Hands-On Ensemble Learning with Python, Packt Publishing, 2019.
8 Peter Sollich dan Anders Krogh, “Learning with ensembles: How overfitting can be useful”, Advances in Neural Information Processing Systems, Vol. 8, 1995, https://papers.nips.cc/paper_files/paper/1995/hash/1019c8091693ef5c5f55970346633f92-Abstract.html (tautan berada di luar ibm.com).
9 Gautam Kunapuli, Ensemble Methods for Machine Learning, Manning Publications, 2023.
10 Zhi-Hua Zhou, Ensemble Methods: Foundations and Algorithms, CRC Press, 2012.
11 Ibomoiye Domor Mienye dan Yanxia Sun, “A Survey of Ensemble Learning: Concepts, Algorithms, Applications, and Prospects,” IEEE Access, Vol. 10, 2022, pp. 99129-99149, https://ieeexplore.ieee.org/document/9893798 (tautan berada di luar ibm.com). Lior Rokach, “Ensemble-based Classifiers”, Artificial Intelligence Review, Vol. 33, 2010, pp. 1-39, https://link.springer.com/article/10.1007/s10462-009-9124-7 (tautan berada di luar dari ibm.com).
12 M. Galar, A. Fernandez, E. Barrenechea, H. Bustince dan F. Herrera, “A Review on Ensembles for the Class Imbalance Problem: Bagging-, Boosting-, and Hybrid-Based Approaches”, IEEE Transactions on Systems, Man, and Cybernetics, Vol. 42, No. 4, 2012, pp. 463-484, https://ieeexplore.ieee.org/document/5978225 (tautan berada di luar ibm.com).
13 Zhi-Hua Zhou, Ensemble Methods: Foundations and Algorithms, CRC Press, 2012.
14 Gautam Kunapuli, Ensemble Methods for Machine Learning, Manning Publications, 2023.
15 Robi Palikar, “Ensemble Learning”, Ensemble Machine Learning: Methods and Applications, Springer, 2012.
16 Ibomoiye Domor Mienye dan Yanxia Sun, “A Survey of Ensemble Learning: Concepts, Algorithms, Applications, and Prospects”, IEEE Access, Vol. 10, 2022, pp. 99129-99149, https://ieeexplore.ieee.org/document/9893798 (tautan berada di luar ibm.com).
17 Zhi-Hua Zhou, Ensemble Methods: Foundations and Algorithms, CRC Press, 2012. Gautam Kunapuli, Ensemble Methods for Machine Learning, Manning Publications, 2023.
18 Robi Palikar, “Ensemble Learning”, Ensemble Machine Learning: Methods and Applications, Springer, 2012. Zhi-Hua Zhou, Ensemble Methods: Foundations and Algorithms, CRC Press, 2012.
19 Gautam Kunapuli, Ensemble Methods for Machine Learning, Manning Publications, 2023.
20 Devesh Walawalkar, Zhiqiang Shen, and Marios Savvides, “Online Ensemble Model Compression Using Knowledge Distillation”, 2020, pp. 18-35, https://link.springer.com/chapter/10.1007/978-3-030-58529-7_2 (tautan berada di luar ibm.com).
21 Xinzhe Han, Shuhui Wang, Chi Su, Qingming Huang, dan Qi Tian, “Greedy Gradient Ensemble for Robust Visual Question Answering“, Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), 2021, pp. 1584-1593, https://openaccess.thecvf.com/content/ICCV2021/html/Han_Greedy_Gradient_Ensemble_for_Robust_Visual_Question_Answering_ICCV_2021_paper.html (tautan berada di luar ibm.com).
22 Usman Gohar, Sumon Biswas, and Hridesh Rajan, “Towards Understanding Fairness and its Composition in Ensemble Machine Learning”, 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE), 2023, pp. 1533-1545, https://ieeexplore.ieee.org/abstract/document/10172501 (tautan berada di luar ibm.com). Khaled Badran, Pierre-Olivier Côté, Amanda Kolopanis, Rached Bouchoucha, Antonio Collante, Diego Elias Costa, Emad Shihab, DAN Foutse Khomh, “Can Ensembling Preprocessing Algorithms Lead to Better Machine Learning Fairness?“ Computer, Vol. 56, No. 4, 2023, pp. 71-79, https://ieeexplore.ieee.org/abstract/document/10098174 (tautan berada di luar ibm.com). Swanand Kadhe, Anisa Halimi, Ambrish Rawat, dan Nathalie Baracaldo, “FairSISA: Ensemble Post-Processing to Improve Fairness of Unlearning in LLMs”, Socially Responsible Language Modelling Research Workshop, 2023, https://neurips.cc/virtual/2023/78908 (tautan berada di luar ibm.com).