Membangun Model AI yang Kuat Dengan Bagging: Teknik, Manfaat, dan Penerapan

Diterbitkan: 2025-01-09

Bagging adalah teknik pembelajaran mesin ansambel (ML) yang meningkatkan konsistensi model prediktif. Panduan ini menjelaskan cara kerja bagging, membahas kelebihan, tantangan, dan penerapannya, serta membandingkannya dengan teknik terkait seperti boosting.

Daftar isi

  • Apa itu mengantongi?
  • Varians vs. bias
  • Mengantongi vs. meningkatkan
  • Cara kerja mengantongi
  • Jenis algoritma pengantongan
  • Aplikasi mengantongi
  • Keuntungan mengantongi
  • Tantangan dan keterbatasan mengantongi

Apa itu mengantongi?

Bagging (atau, lebih formalnya, bootstrapagg regating) adalah teknik pembelajaran ansambel yang meningkatkan akurasi keluaran dengan menggunakan beberapa model ML serupa. Pada intinya, pembelajaran ansambel menggabungkan beberapa model untuk mencapai kinerja yang lebih baik dibandingkan model individual mana pun.

Pendekatan ini melibatkan pemisahan data pelatihan menjadi subset acak dan melatih model berbeda pada masing-masing subset. Untuk masukan baru, prediksi dari semua model dikumpulkan untuk menghasilkan keluaran akhir. Dengan memanfaatkan subkumpulan acak, teknik ini mengurangi perbedaan antar model, sehingga menghasilkan prediksi yang lebih konsisten.

Bagging sangat efektif dalam meningkatkan konsistensi dengan meminimalkan varian sistem ML.

Bekerja lebih cerdas dengan Grammarly
Mitra penulisan AI bagi siapa saja yang memiliki pekerjaan yang harus diselesaikan

Varians vs. bias

Mengurangi bias dan varians adalah tujuan mendasar dari setiap model atau sistem ML.

Bias menggambarkan kesalahan yang dilakukan sistem ML karena asumsinya tentang data yang dilihatnya. Biasanya ditentukan dengan menghitung seberapa salah rata-rata model tersebut. Varians mengukur konsistensi model. Diperkirakan dengan memeriksa seberapa berbeda keluaran model untuk masukan serupa.

Biasnya tinggi

Sebagai contoh, mari kita perhatikan masalah memprediksi harga jual rumah dari fitur-fiturnya (seperti luas persegi dan jumlah kamar tidur). Model sederhana mungkin membuat banyak asumsi yang disederhanakan dan hanya melihat luas persegi, sehingga menyebabkan bias yang tinggi. Ini akan selalu menghasilkan kesalahan, bahkan pada data pelatihan, karena kenyataan lebih rumit daripada asumsinya. Jadi mereka tidak dapat menangkap prediksi harga sebenarnya (seperti lokasi, kualitas sekolah, dan jumlah kamar tidur).

Varians tinggi

Model yang lebih kompleks mungkin dapat menangkapsetiaptren dalam data pelatihan dan memiliki varian yang tinggi. Misalnya, model ini mungkin menemukan korelasi kecil antara nomor rumah (pada dasarnya bagian numerik dari alamat jalan) dan harga dalam data pelatihan dan menggunakannya, meskipun model tersebut bukan merupakan prediktor sebenarnya. Ini akan bekerja dengan baik pada data pelatihan tetapi buruk pada data dunia nyata.

Pertukaran varians-bias

Model yang ideal akan memiliki bias dan varians yang rendah, sehingga menghasilkan keluaran yang benar secara konsisten pada masukan yang serupa. Bias yang tinggi biasanya disebabkan oleh model yang terlalu sederhana untuk menangkap pola dalam data pelatihan—underfitting. Varians yang tinggi biasanya dihasilkan dari model yang menangkap pola palsu dalam data pelatihan—overfitting.

Meningkatkan kecanggihan model dapat memungkinkan model menangkap lebih banyak pola, sehingga menurunkan bias. Namun, model yang lebih canggih ini akan cenderung menyesuaikan data pelatihan secara berlebihan, sehingga menghasilkan varians yang lebih tinggi, dan sebaliknya. Dalam praktiknya, trade-off bias-varians yang seimbang sulit dicapai.

Bagging berfokus pada pengurangan varians. Setiap model dalam ansambel mungkin memiliki varian yang tinggi karena model tersebut cocok dengan kumpulan datanya. Namun karena setiap model mendapatkan kumpulan data acak, mereka akan menemukan pola palsu yang berbeda. Dalam contoh harga rumah, satu model mungkin menilai terlalu tinggi harga rumah dengan angka genap, model lain mungkin menilai terlalu rendah, dan sebagian besar mungkin mengabaikan angka rumah sama sekali.

Pola-pola sewenang-wenang ini cenderung rata-rata ketika kita menghitung rata-rata prediksinya, sehingga kita mendapatkan hubungan mendasar yang sebenarnya. Dengan demikian, ansambel ini mencapai varians yang lebih rendah dan mengurangi overfitting dibandingkan dengan model individual mana pun.

Mengantongi vs. meningkatkan

Anda mungkin mendengar bagging dibicarakan dalam konteks yang sama dengan boosting. Ini adalah teknik pembelajaran ansambel yang paling umum dan mendasari banyak model ML yang populer. Boosting adalah teknik di mana model dilatih berdasarkan kesalahan model sebelumnya. Kemudian kelompok model ini digunakan untuk merespons masukan apa pun. Mari kita bahas perbedaan kedua teknik tersebut lebih lanjut.

Mengantongi Meningkatkan
Pelatihan model Model dilatih secara paralel pada subkumpulan data yang berbeda Model dilatih secara berurutan, dengan setiap model berfokus pada kesalahan model sebelumnya
Fokus pengurangan kesalahan Mengurangi varians Mengurangi bias
Algoritma umum Hutan acak, pohon keputusan yang dikantongi AdaBoost, peningkatan gradien, XGBoost
Risiko yang berlebihan Risiko overfitting lebih rendah karena pengambilan sampel acak Risiko overfitting lebih tinggi
Kompleksitas komputasi Lebih rendah Lebih tinggi

Kedua teknik ini umum dilakukan, namun boosting lebih populer. Boosting dapat mengurangi biasdanvarians, sedangkan bagging biasanya hanya mempengaruhi varians.

Cara kerja mengantongi

Mari kita pertimbangkan cara kerja pengantongan sebenarnya. Intinya adalah membagi data pelatihan secara acak, melatih model secara paralel pada data terpisah, dan menggunakan semua model untuk merespons masukan. Kami akan menangani masing-masing secara bergantian.

Pemisahan data

Asumsikan kita memiliki kumpulan data pelatihan denganntitik data dan ingin membuat kumpulanmmodel dalam kantong. Kemudian, kita perlu membuatmdataset (satu untuk setiap model), masing-masing dengannpoin. Jika terdapat lebih atau kurang darintitik di setiap kumpulan data, beberapa model akan mengalami pelatihan berlebih atau kurang.

Untuk membuat satu kumpulan data acak baru, kami memilihnpoin secara acak dari kumpulan data pelatihan asli. Yang penting, kami mengembalikan poin ke kumpulan data asli setelah setiap pemilihan. Akibatnya, kumpulan data acak yang baru akan memiliki lebih dari satu salinan dari beberapa titik data asli sementara tidak ada salinan dari titik data lainnya. Rata-rata, kumpulan data ini terdiri dari 63% titik data unik dan 37% titik data duplikat.

Kami kemudian mengulangi proses ini untuk membuat semuamdataset. Variasi dalam representasi titik data membantu menciptakan keragaman di antara model ansambel, yang merupakan salah satu kunci untuk mengurangi varians secara keseluruhan.

Pelatihan model

Denganmkumpulan data acak, kami cukup melatihmmodel, satu model untuk setiap kumpulan data. Kita harus menggunakan model yang sama untuk memastikan bias yang serupa. Kita dapat melatih model secara paralel, sehingga memungkinkan iterasi lebih cepat.

Model agregasi

Sekarang kita memilikimmodel terlatih, kita dapat menggunakannya sebagai sebuah ansambel untuk merespons masukan apa pun. Setiap titik data masukan dimasukkan secara paralel ke masing-masing model, dan setiap model merespons dengan keluarannya. Kemudian kami menggabungkan keluaran model untuk mendapatkan jawaban akhir. Jika ini masalah klasifikasi, kami mengambil mode keluaran (keluaran paling umum). Jika ini masalah regresi, kami mengambil rata-rata keluarannya.

Kunci untuk mengurangi varians di sini adalah bahwa setiap model lebih baik pada beberapa jenis masukan dan lebih buruk pada jenis masukan lainnya karena perbedaan dalam data pelatihan. Namun, secara keseluruhan, kesalahan pada salah satu model harus dihilangkan oleh model lainnya, sehingga menghasilkan varians yang lebih rendah.

Jenis algoritma pengantongan

Bagging sebagai suatu algoritma dapat diterapkan pada semua jenis model. Dalam praktiknya, ada dua model kantong yang sangat umum: hutan acak dan pohon keputusan kantong. Mari kita jelajahi keduanya secara singkat.

Hutan acak

Hutan acak adalah kumpulan pohon keputusan, yang masing-masing dilatih berdasarkan kumpulan data acak. Pohon keputusan merupakan model yang melakukan prediksi dengan menjawab pertanyaan ya/tidak terhadap data masukan hingga menemukan label yang sesuai.

Di hutan acak, setiap pohon keputusan memiliki hyperparameter yang sama—konfigurasi preset seperti kedalaman maksimum pohon atau sampel minimum per pemisahan—tetapi pohon keputusan menggunakan fitur yang berbeda (dipilih secara acak) dari kumpulan data pelatihan. Tanpa pengacakan fitur, setiap pohon keputusan dapat bertemu dengan jawaban yang serupa meskipun ada perbedaan dalam data pelatihan. Hutan acak adalah pilihan yang sangat populer untuk ML dan sering kali menjadi titik awal yang baik untuk menyelesaikan tugas-tugas ML.

Pohon keputusan yang dikantongi

Pohon keputusan yang dikantongi sangat mirip dengan hutan acak, hanya saja setiap pohon menggunakan fitur yang sama dari kumpulan data pelatihan. Hal ini mengurangi keragaman keluaran dari pepohonan, yang menimbulkan pro dan kontra. Sisi positifnya, pepohonan lebih stabil dan kemungkinan besar akan memberikan jawaban serupa; ini dapat digunakan untuk menentukan fitur mana yang penting. Sisi negatifnya adalah varians tidak akan berkurang banyak. Oleh karena itu, hutan acak lebih banyak digunakan dibandingkan pohon keputusan dalam kantong.

Aplikasi mengantongi

Bagging dapat digunakan dalam masalah ML apa pun yang variansnya lebih tinggi dari yang diinginkan. Asal ada model ML bisa dikantongi. Untuk membuatnya lebih konkrit, kami akan meninjau beberapa contoh.

Klasifikasi dan regresi

Klasifikasi dan regresi adalah dua masalah inti ML. Pengguna mungkin ingin memberi label pada subjek gambar sebagai kucing atau anjing—klasifikasi. Atau pengguna mungkin ingin memprediksi harga jual rumah dari fitur-fiturnya—regresi. Bagging dapat membantu mengurangi varians untuk kedua hal tersebut, seperti yang telah kita lihat.

Dalam klasifikasi, mode model ansambel digunakan. Dalam regresi, rata-rata digunakan.

Pemilihan fitur

Pemilihan fitur adalah tentang menemukan fitur terpenting dalam kumpulan data—fitur yang paling baik dalam memprediksi keluaran yang benar. Dengan menghapus data fitur yang tidak relevan, pengembang model dapat mengurangi kemungkinan overfitting.

Mengetahui fitur yang paling penting juga dapat membuat model lebih mudah diinterpretasikan. Selain itu, pengembang model dapat menggunakan pengetahuan ini untuk mengurangi jumlah fitur dalam data pelatihan, sehingga menghasilkan pelatihan yang lebih cepat. Pohon keputusan yang dikantongi berfungsi dengan baik untuk mengungkap fitur-fitur penting. Fitur-fitur yang sangat ditonjolkan di dalamnya kemungkinan besar akan menjadi fitur-fitur penting.

Mengantongi dalam e-commerce

Mengantongi dalam e-commerce sangat berharga untuk memprediksi perpindahan pelanggan. Model ML yang dilatih pada data churn sering kali memiliki varian tinggi karena pola perilaku pelanggan yang kompleks dan bermasalah; mereka mungkin menyesuaikan data pelatihan mereka secara berlebihan. Mereka mungkin juga menyimpulkan hubungan palsu, seperti asumsi jumlah vokal dalam nama pelanggan memengaruhi kemungkinan mereka untuk berhenti berlangganan.

Kumpulan data pelatihan mungkin hanya berisi beberapa contoh yang menyebabkan overfitting ini. Dengan menggunakan model yang dikantongi, ansambel ini dapat mengidentifikasi indikator churn asli dengan lebih baik dan mengabaikan korelasi palsu, sehingga menghasilkan prediksi churn yang lebih andal.

Keuntungan mengantongi

Bagging mengurangi varians model dan overfitting serta dapat membantu mengatasi masalah data. Ini juga merupakan salah satu teknik pengantongan yang paling dapat diparalelkan dan efisien.

Varians berkurang

Varians model menunjukkan bahwa model tidak mempelajari pola data yang sebenarnya dan bermakna. Sebaliknya, ia menangkap korelasi acak yang tidak berarti banyak dan merupakan gejala dari data pelatihan yang tidak sempurna.

Bagging mengurangi variasi model; ansambel secara keseluruhan berfokus pada hubungan bermakna antara masukan dan keluaran.

Generalisasi dengan baik terhadap data baru

Karena model yang dikantongi lebih mungkin menangkap hubungan yang bermakna, model tersebut dapat melakukan generalisasi pada data baru atau yang belum terlihat. Generalisasi yang baik adalah tujuan akhir pembelajaran mesin, sehingga bagging sering kali merupakan teknik yang berguna untuk banyak model.

Di hampir setiap masalah ML, kumpulan data pelatihan tidak sepenuhnya mewakili data sebenarnya, jadi generalisasi yang baik adalah kuncinya. Dalam kasus lain, distribusi data sebenarnya mungkin berubah seiring waktu, sehingga diperlukan model yang dapat beradaptasi. Mengantongi membantu dalam kedua kasus tersebut.

Sangat dapat diparalelkan

Berbeda dengan peningkatan, pembuatan model dalam kantong sangat dapat diparalelkan. Setiap model dapat dilatih secara independen dan bersamaan, sehingga memungkinkan eksperimen cepat dan penyesuaian hyperparameter lebih mudah (tentu saja, asalkan Anda memiliki sumber daya komputasi yang cukup untuk dilatih secara paralel).

Selain itu, karena setiap model tidak bergantung pada model lainnya, maka model tersebut dapat ditukar masuk atau keluar. Misalnya, model yang lemah dapat dilatih ulang pada subset acak yang berbeda untuk meningkatkan performanya tanpa menyentuh model lainnya.

Tantangan dan keterbatasan mengantongi

Sayangnya, menambahkan lebih banyak model menambah kompleksitas. Tantangan kompleksitas ekstra berarti bahwa model yang dikantongi memerlukan lebih banyak sumber daya komputasi, lebih sulit untuk diinterpretasikan dan dipahami, serta memerlukan lebih banyak penyesuaian hyperparameter.

Dibutuhkan lebih banyak sumber daya komputasi

Lebih banyak model memerlukan lebih banyak sumber daya untuk menjalankannya, dan sering kali, ansambel yang dikantongi memiliki 50+ model. Ini mungkin bekerja dengan baik untuk model yang lebih kecil, tetapi dengan model yang lebih besar, hal ini bisa menjadi sulit dilakukan.

Waktu respons untuk ansambel juga dapat menurun seiring dengan pertumbuhannya. Sumber daya juga memiliki biaya peluang: Sumber daya tersebut mungkin lebih baik digunakan untuk melatih model yang lebih besar dan lebih baik.

Lebih sulit untuk ditafsirkan

Model ML secara keseluruhan sulit untuk ditafsirkan. Pohon keputusan individual sedikit lebih mudah karena menunjukkan fitur mana yang menjadi dasar pengambilan keputusan. Namun jika Anda mengelompokkannya menjadi satu, seperti di hutan acak, jawaban yang bertentangan dari setiap pohon dapat membingungkan.

Mengambil modus atau rata-rata prediksi tidak dengan sendirinya menjelaskan mengapa prediksi tersebut benar. Kebijaksanaan orang banyak, meski seringkali benar, sulit untuk dipahami.

Penyetelan hyperparameter lebih banyak

Dengan lebih banyak model, efek hyperparameter diperbesar. Satu kesalahan kecil pada hyperparameter kini dapat memengaruhi lusinan atau ratusan model. Menyesuaikan kumpulan hyperparameter yang sama memerlukan lebih banyak waktu, yang dapat memberikan beban lebih besar pada sumber daya yang terbatas.