ENSAMBLE LEARNING

ENSAMBLE LEARNING

oleh Novita Triyasri -
Jumlah balasan: 0

ENSAMBLE LEARNING

1.       Masalah pada Algoritma Tunggal (Single Model)

Saat membangun model machine learning, salah satu pendekatan yang sering dilakukan adalah membandingkan beberapa algoritma tunggal, seperti K-Nearest Neighbor (KNN), Decision Tree, Naive Bayes, dan C4.5. Beberapa algoritma tersebut dilatih menggunakan dataset yang sama, kemudian performanya dibandingkan berdasarkan metrik evaluasi tertentu. Setelah itu, algoritma yang memberikan hasil terbaik biasanya dipilih sebagai model akhir.

Pendekatan tersebut memang sederhana dan mudah dilakukan, tetapi memiliki keterbatasan. Setiap algoritma mempunyai cara kerja dan karakteristik yang berbeda dalam memahami data. KNN, misalnya, menentukan prediksi berdasarkan kedekatan antar data. Algoritma ini dapat bekerja dengan baik ketika pola data dapat dibedakan berdasarkan jarak, tetapi kinerjanya dapat terpengaruh oleh dimensi data dan pemilihan nilai k. Sementara itu, Decision Tree membentuk aturan keputusan melalui percabangan sehingga mampu menangkap hubungan yang kompleks, tetapi pohon yang terlalu dalam dapat menyebabkan overfitting. Naive Bayes menggunakan pendekatan probabilitas dan memiliki asumsi independensi antarfitur yang belum tentu sesuai dengan kondisi sebenarnya.

Perbedaan tersebut menyebabkan setiap algoritma dapat memiliki kelebihan pada bagian data tertentu dan kelemahan pada bagian lainnya. Model yang memiliki akurasi paling tinggi secara keseluruhan belum tentu menjadi model terbaik untuk seluruh jenis kasus atau seluruh kelompok data. Dengan hanya memilih satu model, informasi dan kemampuan dari model lain tidak dimanfaatkan. Padahal, kesalahan prediksi yang dihasilkan oleh beberapa model dapat berbeda-beda. Kondisi inilah yang kemudian menjadi dasar munculnya konsep Ensemble Learning, yaitu menggabungkan beberapa model untuk menghasilkan prediksi akhir.

2.     Konsep Bias and Variance Trade-off

Sebelum memahami Ensemble Learning, penting memahami konsep bias dan variance yang berkaitan dengan kemampuan model mempelajari pola dan melakukan generalisasi pada data baru. Bias menunjukkan kesalahan akibat model terlalu sederhana sehingga kurang mampu menangkap pola data. Bias yang tinggi dapat menyebabkan underfitting. Sementara itu, variance menunjukkan sensitivitas model terhadap perubahan data training. Variance yang tinggi dapat menyebabkan overfitting karena model terlalu menyesuaikan diri dengan data training, termasuk noise.

Secara umum, hubungan bias dan variance dapat digambarkan melalui beberapa
kondisi berikut:

a.     High Bias & High Variance

Kondisi ini terjadi ketika model memiliki kesalahan yang tinggi sekaligus sangat sensitif terhadap perubahan data. Model tidak mampu menangkap pola dengan baik, tetapi pada saat yang sama hasilnya juga tidak stabil ketika data pelatihan berubah. Kondisi ini tentu tidak diharapkan karena kemampuan model dalam mempelajari data maupun melakukan generalisasi sama-sama rendah.

b.     High Bias & Low Variance (Underfitting)

Pada kondisi ini, model terlalu sederhana sehingga belum mampu menangkap hubungan penting dalam data. Model menghasilkan prediksi yang relatif stabil, tetapi tingkat kesalahannya masih tinggi. Underfitting dapat terjadi ketika model memiliki kompleksitas yang terlalu rendah atau fitur yang digunakan belum cukup merepresentasikan permasalahan.

c.     Low Bias & High Variance (Overfitting)

Model mampu mempelajari pola pada data training dengan sangat baik, tetapi terlalu menyesuaikan diri dengan data tersebut. Akibatnya, performa pada data training dapat jauh lebih baik dibandingkan data testing. Decision Tree yang terlalu kompleks merupakan salah satu contoh model yang dapat mengalami kondisi ini. SVM dan Neural Network juga dapat mengalami overfitting apabila model tidak diatur dengan tepat.

d.     Low Bias & Low Variance (Kondisi yang Diharapkan)

Kondisi yang diharapkan adalah ketika model mampu menangkap pola penting dalam data tanpa terlalu sensitif terhadap perubahan kecil pada dataset. Model seperti ini memiliki kemampuan generalisasi yang lebih baik sehingga dapat memberikan hasil yang relatif konsisten pada data yang belum pernah digunakan selama proses training.

3.    Langkah Mencapai Model yang Ideal

Untuk memperoleh model yang memiliki performa dan kemampuan generalisasi yang baik, terdapat beberapa tahapan yang perlu diperhatikan. Tahapan tersebut tidak hanya berkaitan dengan pemilihan algoritma, tetapi juga kualitas data dan proses evaluasi.

a.     Menggunakan Dataset yang Andal (Reliable)

        Kualitas dataset menjadi dasar dalam proses machine learning. Data yang digunakan harus relevan dengan permasalahan, memiliki kualitas yang baik, dan telah melalui proses pemeriksaan. Data yang mengandung banyak kesalahan, nilai yang hilang, duplikasi, atau ketidaksesuaian dapat memengaruhi hasil model. Oleh karena itu, proses data preprocessing perlu dilakukan sebelum model dilatih.

b.     Menerapkan Cross-Validation

        Cross-validation digunakan untuk memperoleh gambaran mengenai kemampuan model dalam melakukan generalisasi. Salah satu teknik yang sering digunakan adalah k-fold cross-validation, yaitu membagi data menjadi beberapa bagian (fold). Model dilatih dan diuji secara bergantian menggunakan bagian data yang berbeda. Hasil dari setiap fold kemudian dirata-ratakan sehingga evaluasi model tidak hanya bergantung pada satu pembagian data.

c.     Melakukan Tuning Parameter dan Hyperparameter

        Setiap algoritma memiliki parameter atau hyperparameter yang dapat memengaruhi performanya. Oleh karena itu, diperlukan proses tuning untuk menemukan konfigurasi yang sesuai dengan karakteristik dataset. Proses tersebut dapat dilakukan menggunakan metode seperti Grid Search atau Random Search. Tujuannya bukan sekadar memperoleh nilai akurasi tinggi pada data training, tetapi menemukan konfigurasi yang mampu memberikan performa baik pada data yang belum pernah dilihat model.

d.     Menggunakan Metrik Evaluasi yang Komprehensif

        Evaluasi model sebaiknya tidak hanya bergantung pada akurasi. Pada dataset yang memiliki distribusi kelas tidak seimbang, akurasi dapat memberikan gambaran yang kurang tepat. Oleh karena itu, metrik seperti Precision, Recall, F1-Score, dan ROC-AUC dapat digunakan sebagai pelengkap. Penggunaan beberapa metrik memungkinkan performa model dilihat dari berbagai aspek, terutama kemampuan model dalam mengenali setiap kelas.

4.    Konsep Utama Ensemble Learning

Ensemble Learning merupakan pendekatan machine learning yang menggabungkan beberapa model atau base learners untuk menghasilkan satu prediksi akhir. Konsep ini menggunakan beberapa model agar kelemahan satu model dapat dilengkapi oleh model lainnya. Dengan demikian, keputusan akhir tidak hanya bergantung pada satu algoritma.

Secara umum, beberapa base learners dilatih menggunakan data yang tersedia, kemudian hasil prediksinya digabungkan melalui metode tertentu. Pada klasifikasi, penggabungan dapat dilakukan dengan teknik voting, yaitu menentukan kelas berdasarkan suara terbanyak. Sementara pada regresi, hasil prediksi beberapa model dapat digabungkan menggunakan nilai rata-rata (mean).

Keberhasilan Ensemble Learning dipengaruhi oleh keberagaman model yang digunakan. Jika setiap model memiliki kesalahan yang berbeda, penggabungan prediksi dapat membantu mengurangi kesalahan dan meningkatkan kestabilan model. Namun, penggunaan banyak model tetap perlu disesuaikan dengan karakteristik data dan metode yang digunakan.

5.     Tiga Metode Utama Ensemble Learning

a.     Bagging (Bootstrap Aggregating)

Bagging atau Bootstrap Aggregating merupakan metode Ensemble Learning yang membangun beberapa model menggunakan sampel data yang diperoleh melalui proses bootstrap. Pada proses ini, sampel data dibuat dari dataset awal dengan pengambilan data secara acak dan memungkinkan adanya data yang terpilih lebih dari satu kali.

Setiap model kemudian dilatih menggunakan sampel yang berbeda. Karena model-model tersebut dapat dilatih secara independen, proses Bagging dapat dilakukan secara paralel. Setelah seluruh model selesai dilatih, hasil prediksinya digabungkan. Pada klasifikasi dapat digunakan majority voting, sedangkan pada regresi dapat digunakan rata-rata prediksi.

Bagging terutama berguna untuk mengurangi variance dan meningkatkan kestabilan model. Metode ini cocok digunakan pada algoritma yang memiliki kecenderungan menghasilkan model yang sangat berbeda ketika data training berubah, seperti Decision Tree. Dengan menggabungkan banyak model, pengaruh kesalahan dari satu model dapat dikurangi.

b.     Random Forest

Random Forest merupakan salah satu algoritma Ensemble Learning yang menggunakan banyak Decision Tree. Metode ini mengembangkan prinsip Bagging dengan menerapkan dua bentuk pengacakan, yaitu pengambilan sampel data secara bootstrap dan pemilihan subset fitur secara acak pada proses pembentukan setiap pohon.

Pemilihan fitur secara acak membuat setiap Decision Tree tidak selalu menggunakan fitur yang sama sebagai dasar percabangan. Akibatnya, pohon-pohon yang terbentuk menjadi lebih beragam. Seluruh pohon kemudian memberikan prediksi dan hasilnya digabungkan untuk menentukan prediksi akhir.

Random Forest memiliki kelebihan berupa kemampuan menangani hubungan data yang kompleks dan relatif tahan terhadap overfitting dibandingkan satu Decision Tree yang tidak dibatasi. Metode ini juga dapat digunakan untuk klasifikasi maupun regresi. Namun, karena terdiri dari banyak pohon, kebutuhan komputasinya dapat lebih besar dan interpretasinya lebih kompleks dibandingkan satu Decision Tree.

c.     Boosting

Berbeda dengan Bagging yang membangun model secara independen, Boosting membangun model secara sekuensial atau bertahap. Model pertama dilatih menggunakan data, kemudian model berikutnya dibentuk dengan memberikan perhatian lebih besar terhadap kesalahan yang dihasilkan oleh model sebelumnya.

Proses tersebut dilakukan secara berulang sehingga model berikutnya berusaha memperbaiki kesalahan dari model sebelumnya. Hasil akhir diperoleh dari kombinasi seluruh model yang telah dibangun. Dengan proses perbaikan secara bertahap tersebut, Boosting dapat menghasilkan model dengan kemampuan prediksi yang kuat dan membantu mengurangi bias.

Beberapa algoritma yang menggunakan pendekatan Boosting antara lain AdaBoost, Gradient Boosting, dan XGBoost. XGBoost merupakan salah satu metode yang banyak digunakan karena mampu menangani data dengan karakteristik yang kompleks dan menyediakan berbagai pengaturan untuk mengoptimalkan proses pembelajaran. Meskipun demikian, Boosting membutuhkan proses pelatihan yang lebih berurutan dan pengaturan hyperparameter yang tepat agar tidak mengalami overfitting.