Gradient boosting adalah algoritma machine learning yang menggunakan ensamble dari decision tree untuk memprediksi nilai.
Gradient boosting mampu menangani complex pattern dan data ketika linear model tidak dapat menangani.
Ensamble learning algorithm adalah algortima yang menggunakan banyak simple machine learning model yang bekerja bersama untuk menghasilkan prediksi yang tepat.
Sturtur data dari gradient boosting adalah decision tree. Decision tree adalah model dengan cabang pilihan (decision branch), nilai ditentukan dengan mengikuti alur cabang pilihan.
Contoh sederhana dari decision tree adalah decision tree dengan 1 point cabang pilihan. Contoh, luas rumah > 1000 square feet, jika ya, harga diatas $ 50000, jika tidak harga dibawah $ 50000.
Agar prediksi lebih detail, kita dapat menambahkan layer decision point pada decision tree.
Jadi model yang dapat menjangkau berbagai variasi ukuran rumah, kita harus meningkatkan decision tree kita lebih kompleks. Ada dua cara membuat decision tree menjadi lebih kompleks.
Cara pertama adalah dengan menambah layer dengan cabang pilihan pada decision tree hingga dapat memenuhi model yang menjangkau semua rumah yang ada pada dataset.
Mungkin decision tree akan berakhir dengan ratusan layer dengan ribuan cabang pilihan.
Namun seringkali decision tree yang sangat komplek ini tidak bekerja baik dalam kenyataan. Tree yang besar seringkali tidak bekerja dengan baik pada data baru.
Cara kedua adalah pendekatan ensamble, dengan membuat simple decision tree yang terpisah dan mengkombinasikan output dari setiap decision tree tersebut untuk mendapatkan hasil akhir.
Gradient boosting menggunakan pendekatan ini dengan membuat simple decision tree yang berkesinambungan, setiap tree baru yang dibuat adalah perbaikan dari error tree sebelumnya.
Jika dilihat secara graphic, graphic hubungan antara ukuran rumah dengan harga. Secara umum dapat makin luas berarti makin mahal, makin sempit makin murah.
Tujuan kita adalah membuat model dari hubungan luas dan harga rumah tersebut dengan menggunakan gradient boosting.
Pada garis kuning di graphic, adalah model dengan beberapa simple decision tree. Disini masih belum terlalu akurat, belum menjangkau range ukuran rumah dan harga.
Dengan menambah decision tree sampai beberapa tahap maka akan diperoleh model yang sudah cukup akurat.
Namun, bila kelebihan decision tree, model akan mulai menangkap data-data outlier, hal seperti ini disebut over fitting. (akan dibahas tersendiri mengenai over fitting)
Saat kita terlalu kompleks membuat model, maka kita akan mulai menangkap data-data harga rumah (untuk contoh ini) yang diluar kebiasaan yang mana akan membuat prediksi kita menjadi kurang akurat.
Gradient boosting mampu menangani complex pattern dan data ketika linear model tidak dapat menangani.
Ensamble learning algorithm adalah algortima yang menggunakan banyak simple machine learning model yang bekerja bersama untuk menghasilkan prediksi yang tepat.
Sturtur data dari gradient boosting adalah decision tree. Decision tree adalah model dengan cabang pilihan (decision branch), nilai ditentukan dengan mengikuti alur cabang pilihan.
Contoh sederhana dari decision tree adalah decision tree dengan 1 point cabang pilihan. Contoh, luas rumah > 1000 square feet, jika ya, harga diatas $ 50000, jika tidak harga dibawah $ 50000.
Agar prediksi lebih detail, kita dapat menambahkan layer decision point pada decision tree.
Jadi model yang dapat menjangkau berbagai variasi ukuran rumah, kita harus meningkatkan decision tree kita lebih kompleks. Ada dua cara membuat decision tree menjadi lebih kompleks.
Cara pertama adalah dengan menambah layer dengan cabang pilihan pada decision tree hingga dapat memenuhi model yang menjangkau semua rumah yang ada pada dataset.
Mungkin decision tree akan berakhir dengan ratusan layer dengan ribuan cabang pilihan.
Namun seringkali decision tree yang sangat komplek ini tidak bekerja baik dalam kenyataan. Tree yang besar seringkali tidak bekerja dengan baik pada data baru.
Cara kedua adalah pendekatan ensamble, dengan membuat simple decision tree yang terpisah dan mengkombinasikan output dari setiap decision tree tersebut untuk mendapatkan hasil akhir.
Gradient boosting menggunakan pendekatan ini dengan membuat simple decision tree yang berkesinambungan, setiap tree baru yang dibuat adalah perbaikan dari error tree sebelumnya.
Jika dilihat secara graphic, graphic hubungan antara ukuran rumah dengan harga. Secara umum dapat makin luas berarti makin mahal, makin sempit makin murah.
Tujuan kita adalah membuat model dari hubungan luas dan harga rumah tersebut dengan menggunakan gradient boosting.
Pada garis kuning di graphic, adalah model dengan beberapa simple decision tree. Disini masih belum terlalu akurat, belum menjangkau range ukuran rumah dan harga.
Dengan menambah decision tree sampai beberapa tahap maka akan diperoleh model yang sudah cukup akurat.
Namun, bila kelebihan decision tree, model akan mulai menangkap data-data outlier, hal seperti ini disebut over fitting. (akan dibahas tersendiri mengenai over fitting)
Saat kita terlalu kompleks membuat model, maka kita akan mulai menangkap data-data harga rumah (untuk contoh ini) yang diluar kebiasaan yang mana akan membuat prediksi kita menjadi kurang akurat.
Gradient Boosting
Reviewed by noname needed
on
May 24, 2018
Rating:
No comments: