Tidak seperti hutan acak, pohon yang ditingkatkan gradien dapat kelebihan beban. Oleh karena itu, seperti untuk jaringan neural, Anda dapat menerapkan regularisasi dan penghentian awal validasi.
Misalnya, gambar berikut menunjukkan kurva kerugian dan akurasi untuk pelatihan dan set validasi saat melatih model GBT. Perhatikan bagaimana kurva divergen adalah, yang menunjukkan tingkat {i>overfitting<i} yang tinggi.
Gambar 29. Kerugian vs jumlah pohon keputusan.
Gambar 30. Akurasi vs. jumlah pohon keputusan.
Parameter regularisasi umum untuk pohon yang ditingkatkan gradien meliputi:
- Kedalaman maksimum hierarki.
- Tingkat penyusutan.
- Rasio atribut yang diuji di setiap node.
- Koefisien L1 dan L2 pada kerugian.
Perhatikan bahwa pohon keputusan umumnya tumbuh jauh lebih dangkal daripada hutan acak jaringan. Secara default, pohon yang ditingkatkan gradien pada TF-DF ditanam ke kedalaman 6. Karena pohon-pohon itu dangkal, jumlah minimum contoh per daun memiliki sedikit dampak dan umumnya tidak disesuaikan.
Kebutuhan akan {i>dataset<i} validasi menjadi masalah ketika jumlah pelatihan contohnya kecil. Oleh karena itu, biasa saja melatih pohon yang ditingkatkan gradien di dalam loop validasi silang, atau menonaktifkan penghentian awal saat model diketahui untuk tidak terlalu pas.
Contoh penggunaan
Di bab sebelumnya, kita melatih {i>forest<i} acak pada {i>dataset<i} kecil. Di sini misalnya, kita akan mengganti model forest acak dengan peningkatan gradien model pohon:
model = tfdf.keras.GradientBoostedTreesModel()
# Part of the training dataset will be used as validation (and removed
# from training).
model.fit(tf_train_dataset)
# The user provides the validation dataset.
model.fit(tf_train_dataset, validation_data=tf_valid_dataset)
# Disable early stopping and the validation dataset. All the examples are
# used for training.
model.fit(
tf_train_dataset,
validation_ratio=0.0,
early_stopping="NONE")
# Note: When "validation_ratio=0", early stopping is automatically disabled,
# so early_stopping="NONE" is redundant here.
Penggunaan dan batasan
Pohon yang didukung gradien memiliki beberapa kelebihan dan kekurangan.
Kelebihan
- Seperti pohon keputusan (decision tree), pohon ini secara asli mendukung fitur dan biasanya tidak memerlukan pra-pemrosesan fitur.
- Pohon yang didukung gradien memiliki hyperparameter default yang sering kali memberikan hasil hasil pengujian tersebut. Meskipun demikian, menyesuaikan hyperparameter tersebut dapat memperbaiki model.
- Model pohon yang didukung gradien umumnya berukuran kecil (dalam jumlah simpul dan memori) dan cepat untuk dijalankan (sering kali hanya satu atau beberapa μs / contoh).
Kekurangan
- Pohon keputusan harus dilatih secara berurutan, yang dapat memperlambat pelatihan secara signifikan. Namun, perlambatan pelatihan agak diimbangi oleh pohon keputusan menjadi lebih kecil.
- Seperti hutan acak, pohon yang ditingkatkan gradien tidak dapat mempelajari dan menggunakan kembali dan representasi. Setiap pohon keputusan (dan setiap cabang dari setiap pohon keputusan) harus mempelajari kembali pola set data. Dalam beberapa {i>dataset<i}, terutama {i>dataset<i} dengan data tidak terstruktur (misalnya, gambar, teks), ini menyebabkan gradien meningkat pohon untuk menunjukkan hasil yang lebih buruk daripada metode lain.