Apa itu pembelajaran ansambel?

Penyusun

Jacob Murel Ph.D.

Senior Technical Content Creator

Eda Kavlakoglu

Business Development + Partnerships

IBM Research

Pembelajaran ansambel menggabungkan beberapa pembelajar untuk meningkatkan kinerja prediktif. Ini telah diadopsi sebagai tanggapan atas masalah yang dihasilkan dari kumpulan data yang terbatas.

Pembelajaran ensambel adalah teknik machine learning yang menggabungkan dua atau lebih pembelajar (mis. model regresi, neural networks) untuk menghasilkan prediksi yang lebih baik. Dengan kata lain, model ensambel menggabungkan beberapa model untuk menghasilkan prediksi yang lebih akurat daripada hanya satu model.1 Terkadang, sumber dapat merujuk pada teknik ini sebagai pembelajaran berbasis komite. Pembelajaran ensambel bertumpu pada prinsip bahwa pengumpulan pembelajar menghasilkan akurasi yang lebih besar secara keseluruhan dibandingkan dengan satu pembelajar.2 Memang, penelitian mendukung kemanjurannya dengan model machine learning dan neural networks konvolusional (CNN).

Catatan tentang terminologi: pembelajar dasar, model dasar, dan, dalam beberapa kasus, estimator dasar mengacu pada satu model atau beberapa model yang digunakan dalam algoritma ensambel. Literatur selanjutnya membagi pembelajar dasar menjadi pembelajar kuat dan pembelajar lemah. Model atau pembelajar lemah didefinisikan sebagai model yang berkinerja sedikit lebih baik daripada menebak acak. Untuk masalah klasifikasi biner, untuk lebih jelasnya, pengklasifikasi yang lemah 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 ditetapkan sama dengan atau lebih besar dari akurasi delapan puluh persen.3

Perlu dicatat bahwa beberapa sumber mencampuradukkan antara pembelajar lemah dan pembelajar dasar karena metode ensambel, terutama yang berurutan, secara efektif meningkatkan pembelajar lemah menjadi pembelajar kuat.4

Tren AI terbaru, dipersembahkan oleh para pakar

Dapatkan kurasi insight tentang berita AI yang paling penting dan menarik. Berlangganan buletin Think mingguan. Lihat Pernyataan Privasi IBM.

Terima kasih! Anda telah berlangganan.

Langganan Anda akan dikirimkan dalam bahasa Inggris. Anda akan menemukan tautan berhenti berlangganan di setiap buletin. Anda dapat mengelola langganan atau berhenti berlangganan di sini. Lihat Pernyataan Privasi IBM kami untuk informasi lebih lanjut.

Mengapa harus menggunakan ensemble learning?

Pengorbanan bias-varian

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.

Sebaliknya, bias dan varians mewakili akurasi model pada data pelatihan dan pengujian masing-masing.5 Mereka adalah dua dari tiga bagian yang terdiri dari tingkat kesalahan total model, yang ketiga adalah kesalahan yang tidak dapat direduksi. Bagian ketiga ini menunjukkan kesalahan yang dihasilkan dari keacakan yang melekat dalam kumpulan data. Total kesalahan model dapat didefinisikan dengan rumus:6

Rumus kesalahan total untuk ensemble learning

Banyak model versus satu model

Setiap algoritma pelatihan model terdiri dari banyak variabel—mis. data pelatihan, hiperparameter, dan sebagainya—yang memengaruhi kesalahan total model selanjutnya. Dengan demikian, bahkan satu algoritma pelatihan dapat menghasilkan model yang berbeda, masing-masing dengan bias, varians, dan tingkat kesalahan yang tidak dapat direduksi. Dengan menggabungkan beberapa model yang beragam, algoritma ensambel dapat menghasilkan tingkat kesalahan keseluruhan yang lebih rendah dengan tetap mempertahankan kompleksitas dan keunggulan masing-masing model, seperti bias yang rendah untuk subset data tertentu.7

Penelitian menunjukkan bahwa, secara umum, semakin besar keragaman di antara model gabungan, semakin akurat model ensambel yang dihasilkan. Dengan demikian, pembelajaran ensambel dapat mengatasi masalah regresi seperti overfitting tanpa menghilangkan bias model. Memang, penelitian menunjukkan bahwa ensambel terdiri dari beragam model yang kurang diregularisasi (yaitu model yang terlalu sesuai dengan data pelatihannya) mengungguli satu model yang diregularisasi.8 Selain itu, teknik pembelajaran ensambel dapat membantu menyelesaikan masalah yang berasal dari data berdimensi tinggi, dan dengan demikian secara efektif berfungsi sebagai alternatif untuk reduksi dimensi.

Jenis model ensambel

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 dalam tahapan secara berurutan.9

Diagram yang menggambarkan ensemble paralel vs. berurutan.

Metode paralel dibagi lagi menjadi metode homogen dan heterogen. Ensambel paralel homogen menggunakan algoritma pembelajaran dasar yang sama untuk menghasilkan semua pembelajar berbasis komponen. Ensambel paralel heterogen menggunakan algoritma yang berbeda untuk menghasilkan pembelajar dasar.10

Voting

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.

Suara mayoritas mempertimbangkan setiap prediksi pembelajar dasar untuk contoh data yang diberikan dan menghasilkan prediksi akhir yang ditentukan oleh apa pun yang diprediksi oleh mayoritas pembelajar. Misalnya, dalam masalah klasifikasi biner, suara mayoritas mengambil prediksi dari setiap pengklasifikasi dasar untuk contoh data yang diberikan dan menggunakan prediksi mayoritas sebagai prediksi akhir. Suara mayoritas tertimbang adalah perluasan dari teknik ini yang memberikan bobot lebih besar pada prediksi pembelajar tertentu dibandingkan yang lainnya.11

Teknik ensemble learning

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

Bagging adalah metode paralel homogen yang terkadang disebut agregasi bootstrap. Metode ini menggunakan replika yang dimodifikasi dari kumpulan data pelatihan yang diberikan untuk melatih beberapa pembelajar dasar dengan algoritma pelatihan yang sama.12 Modul ensambel Scikit-learn di Python berisi fungsi untuk mengimplementasikan bagging, seperti BaggingClassifier.

Lebih khusus lagi, bagging menggunakan teknik yang disebut pengambilan ulang sampel 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. Pengambilan ulang sampel Bootstrap menyalin n instans 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 kumpulan awal kemudian digunakan untuk melatih pembelajar dasar terpisah dengan algoritma pembelajaran yang sama.13

Diagram yang menggambarkan bagging dalam konteks ensemble learning.

Random forest adalah ekstensi dari bagging yang secara khusus menunjukkan penggunaan bagging untuk membangun ensambel dari struktur keputusan acak. Hal ini berbeda dengan struktur keputusan standar karena struktur keputusan standar mengambil sampel dari setiap fitur untuk mengidentifikasi yang terbaik untuk pemisahan. Sebaliknya, random forest secara berulang mengambil sampel dari subset fitur acak untuk membuat node keputusan.14

Stacking

Penumpukan, atau generalisasi bertumpuk,15 adalah metode paralel heterogen yang mencontohkan apa yang dikenal sebagai pembelajaran meta. Pembelajaran meta terdiri dari melatih pembelajar meta yang berasal dari output beberapa pembelajar dasar. Penumpukan secara khusus melatih beberapa pembelajar dasar dari kumpulan data yang sama menggunakan algoritma 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

Diagram yang menggambarkan stacking dalam konteks pembelajaran ansambel

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.

Boosting

Algoritma boosting adalah metode ensambel 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 instans 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) dikompilasi dari d1 dan d2, dengan memprioritaskan sampel dan instans yang salah diklasifikasikan dari pembelajar kedua, 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

Diagram yang menggambarkan boosting dalam konteks pembelajaran ansambel

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.

- Gradient boosting menggunakan kesalahan residual ketika melatih pembelajar baru. Alih-alih menimbang sampel yang salah klasifikasi, gradient boosting menggunakan kesalahan residual dari model sebelumnya untuk menetapkan prediksi target untuk model berikutnya. Dengan cara ini, teknik 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.

Penelitian terbaru

Mengingat kesulitan dalam memperoleh kumpulan data yang besar, digunakan secara adil, dan berlabel untuk melatih pembelajar, pembelajaran ensambel telah melihat banyak aplikasi dalam upaya untuk meningkatkan kinerja pembelajar dengan lebih sedikit data. Sebagai contoh, beberapa penelitian terbaru menunjukkan hasil yang menjanjikan dengan peningkatan kemampuan generalisasi model menggunakan metode ensambel untuk tugas visi komputer, seperti melatih beberapa model dengan representasi yang berbeda dari kumpulan data20 atau menggabungkan beberapa model yang bias.21

Meskipun metode ensambel 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 pasca-proses untuk meningkatkan keadilan dalam model ensambel.22 Upaya berkelanjutan untuk meningkatkan keadilan dan praktik etis dalam AI tetap menjadi area yang sangat dibutuhkan untuk penelitian masa depan.

Solusi terkait
IBM watsonx.ai

Latih, validasi, lakukan tuning, dan terapkan AI generatif, model dasar, dan kemampuan machine learning dengan IBM watsonx.ai, studio perusahaan generasi berikutnya untuk pembangun AI. Bangun aplikasi AI dalam waktu singkat, dengan sedikit data.

Temukan watsonx.ai
Solusi kecerdasan buatan (AI)

Gunakan AI di bisnis Anda dalam perpaduan antara keahlian AI terdepan di industri dari IBM dan portofolio solusi Anda.

Jelajahi solusi AI
Konsultasi dan layanan AI

Temukan kembali alur kerja dan operasi yang penting dengan menambahkan AI untuk memaksimalkan pengalaman, pengambilan keputusan secara real-time, dan nilai bisnis.

Jelajahi layanan AI
Ambil langkah selanjutnya

Dapatkan akses ke berbagai kemampuan dalam satu alat untuk seluruh siklus pengembangan AI. Hasilkan solusi AI yang kuat dengan antarmuka ramah pengguna, alur kerja yang efisien, serta akses ke API dan SDK berstandar industri.

Jelajahi watsonx.ai Pesan demo langsung