Lebih mudah untuk memulai dengan pertanyaan kedua Anda dan kemudian pergi ke yang pertama.
Mengantongi
Random Forest adalah algoritma pengemasan. Ini mengurangi varians.
Katakan bahwa Anda memiliki model yang sangat tidak dapat diandalkan, seperti Pohon Keputusan. (Mengapa tidak bisa diandalkan? Karena jika Anda mengubah sedikit data Anda, pohon keputusan yang dibuat bisa sangat berbeda.) Dalam kasus seperti itu, Anda dapat membangun model yang kuat (mengurangi varians) melalui bagging - bagging adalah ketika Anda membuat model yang berbeda. dengan resampling data Anda untuk membuat model yang dihasilkan lebih kuat.
Hutan acak adalah apa yang kita sebut bagging yang diterapkan pada pohon keputusan, tetapi tidak berbeda dari algoritma bagging lainnya.
Mengapa Anda ingin melakukan ini? Itu tergantung masalah. Tetapi biasanya, sangat diinginkan agar model menjadi stabil.
Meningkatkan
Meningkatkan mengurangi varians, dan juga mengurangi bias. Ini mengurangi varians karena Anda menggunakan banyak model (mengantongi). Ini mengurangi bias dengan melatih model selanjutnya dengan mengatakan kepadanya kesalahan apa yang dibuat model sebelumnya (bagian pendongkrak).
Ada dua algoritma utama:
- Adaboost: ini adalah algoritma asli; Anda memberi tahu model-model selanjutnya untuk menghukum lebih banyak pengamatan yang keliru oleh model-model sebelumnya
- Peningkatan Gradien: Anda melatih setiap model berikutnya menggunakan residual (perbedaan antara nilai yang diprediksi dan nilai sebenarnya)
Dalam ansambel ini, pembelajar dasar Anda harus lemah. Jika cocok dengan data, tidak akan ada residu atau kesalahan untuk model selanjutnya untuk membangun. Mengapa model yang bagus ini? Yah, sebagian besar kompetisi di situs web seperti Kaggle telah dimenangkan menggunakan pohon meningkatkan gradien. Ilmu data adalah ilmu empiris, "karena berfungsi" cukup baik. Bagaimanapun, perhatikan bahwa meningkatkan model bisa cocok (meskipun secara empiris itu tidak terlalu umum).
Alasan lain mengapa peningkatan gradien, khususnya, juga cukup keren: karena membuatnya sangat mudah untuk menggunakan fungsi kerugian yang berbeda, bahkan ketika turunannya tidak cembung. Misalnya, ketika menggunakan perkiraan probabilistik, Anda dapat menggunakan hal-hal seperti fungsi pinball sebagai fungsi kerugian Anda; sesuatu yang jauh lebih sulit dengan jaringan saraf (karena turunannya selalu konstan).
[Catatan sejarah yang menarik: Meningkatkan pada awalnya merupakan penemuan teoretis yang dimotivasi oleh pertanyaan " bisakah kita membangun model yang lebih kuat menggunakan model yang lebih lemah "]
Catatan: Orang-orang kadang-kadang membingungkan hutan acak dan gradien meningkatkan pohon, hanya karena keduanya menggunakan pohon keputusan, tetapi mereka adalah dua keluarga ansambel yang sangat berbeda.