Apa Itu Extreme Gradient Boosting - Extreme Gradient Boosting adalah model prediktif yang sangat terkenal. Pasalnya pengguna model ini sering kali menjadi pemenang di berbagai kompetisi data science.
BoostinG merupakan salah satu algoritme pembentukan model prediktif dengan ide utamanya adalah menggabungkan beberapa model sederhana (weak learner) agar menjadi suatu model yang kuat/bertenaga (strong learner) secara iteratif. Pada setiap iterasinya, algoritme ini berupaya untuk memperoleh weak learner yang mampu memprediksi dengan lebih baik dibandingkan yang didapatkan pada iterasi sebelumnya. Dasar dari algoritme ini pertama kali diusulkan oleh Valiant (1984) yang kemudian diterapkan menjadi suatu model prediktif oleh Freund dan Schapire (1996). Freund dan Schapire menyebutnya sebagai algoritme AdaBoost alias Adaptive Boosting. Selanjutnya, Friedman (2000) mengusulkan model boosting baru dengan menyematkan kerangka kerja pemodelan statistika pada AdaBoost. Model baru itu kemudian disebut dengan GBM (Gradient Boosting Machine). Pada tahun 2016, GBM mengalami pengembangan pada penerapan algoritmenya sehingga model GBM bisa diimpelmetasikan dengan lebih cepat dan menghasilkan prediksi yang lebih akurat. Pengembangan ini diusulkan oleh Tianqi Chen, yang kemudian memberikan nama model bersangkutan dengan XGBoost (Extreme Gradient Boosting). Seiring berjalanya waktu, XGBoost menjadi model yang sangat terkenal karena pengguna XGBoost sering menjadi peringkat pertama pada berbagai kompetisi data science. Mengapa XGBoost begitu bertenaga?
AdaBoost dan GBM
Untuk menjawab pertanyaan tersebut, kita perlu memahami terlebih dahulu cara kerja algoritme AdaBoost dan GBM yang merupakan dasar dari XGBoost. AdaBoost bekerja dengan terlebih dahulu menyusun suatu model weak learner, yakni tree, dengan memberikan bobot yang sama pada setiap observasi. Tree yang diperoleh selanjutnya dievaluasi untuk melihat kemampuan prediksinya. Tentu saja akan ada beberapa observasi yang diprediksi secara salah oleh tree itu. Amatan yang demikian kemudian bobotnya diperbesar. Pasalnya, pada pembentukan model tree iterasi berikutnya, kita berharap model mampu memprediksi secara tepat amatan-amatan bersangkutan. Prosedur tersebut dilakukan berulang kali sehingga diperoleh puluhan sampai ratusan weak learner. Model akhir diperoleh dengan menggabungkan berbagai tree yang diperoleh dengan mekanisme pembobotan tertentu.
Pendekatan AdaBoost semacam ini tergolong sebagai proses sequential learning karena secara berurutan melakukan perubahan model weak learner; tidak dikerjakan secara paralel seperti halnya algoritme random forest. Algoritme GBM memiliki kesamaan cara kerja dengan AdaBoost yaitu melakukan pemodelan secara iteratif dan sequential. Prediksi kejadian pada suatu iterasi diperoleh dari gabungan model-model berbagai iterasi terdahulu. Selanjutnya, pembentukan model pada suatu iterasi berupaya untuk memperbaiki kesalahan dari model sebelumnya. Proses ini dilakukan dengan cara menjadikan residu hasil prediksi model-model sebelumnya sebagai variabel respon model berikutnya. Pada setiap iterasi, model diperoleh dengan cara meminimalkan fungsi kerugian (loss function) tertentu yang sesuai dengan kebutuhan pengguna. Untuk pemodelan regresi, fungsi kerugian bisa berupa jumlah kuadrat kesalahan, sedangkan pada kasus klasifkasi umumnya digunakan fungsi kerugian logaritmik. Prediksi fnal dihasilkan dari pengabungan prediksi model-model yang diperoleh pada seluruh iterasi.
XGBoost
XGBoost merupakan pengembangan algoritme GBM dengan beberapa ftur tambahan yang berguna dalam mempercepat proses komputasi dan mencegah terjadinya overftting. Kunci kecepatan komputasi XGBoost terletak pada optimasi penggunaan memori dan cache di komputer sehingga dapat bekerja secara efsien, meskipun berhadapan dengan data berukuran besar. Fitur itu menyebabkan XGBoost bisa dijalankan dengan waktu yang lebih cepat dibandingkan model-model “canggih” lainnya saat ini, seperti deep learning dan random forest. Sementara, pencegahan kejadian overftting dilakukan dengan teknik regularisasi dengan cara memberikan komponen penalti pada fungsi kerugian. Dengan cara tersebut algoritme akan terhindar dari model yang terlalu kompleks, tetapi berkinerja buruk dalam memprediksi kejadian dengan data baru.
Tianqi Chen mengklaim bahwa ftur pengontrolan overftting menyebabkan XGBoost memiliki performa yang lebih baik. Klaim ini antara lain ditunjukkan oleh hasil yang didapatkan para data scientist pengguna XGBoost di beberapa kompetisi, misalnya KDD Cup dan CERN LHCb Experiment Flavor of Physics. Dalam banyak kesempatan, XGBoost hampir selalu mampu menempati posisi tiga besar kompetisi-kompetisi itu. Salah satu yang bisa disebutkan adalah raihan juara pertama kompetisi Avito Context Ad Click atas nama Owen Zhang yang menggunakan XGBoost dalam pemodelannya. Kompetisi mengharuskan peserta untuk membuat model yang dapat memprediksi pengunjung situs Avito untuk mengeklik iklan yang sesuai dengan minat mereka. Menurut hasil wawancara yang dilakukan oleh Kaggle, Owen menyebutkan bahwa ada dua kunci yang membuatnya berhasil memprediksi dengan tepat. Yang pertama adalah melakukan feature engineering untuk memperoleh prediktor, dan yang kedua adalah menerapkan algoritme XGBoost disertai proses optimasi hiperparameter.
Penutup
Dengan kapasitas yang diuraikan di atas, algoritme boosting merupakan salah satu pilihan terbaik yang tersedia saat ini untuk memperoleh pemodelan prediktif dengan akurasi tinggi. Implementasi dari algoritme ini juga sudah tersedia di berbagai perangkat lunak analitik, baik yang bersifat komersial maupun open source. Selamat mencoba!
- yandex russia video bokeh museum 2021 asli - November 21, 2024
- 111.90.l50.204 Yandex APK 2024, Streaming Film Bokeh Legal - November 21, 2024
- Yandex Korea Terbaru 2018 Indoxxi - November 21, 2024