Peningkatan gradien (unit opsional)

Dalam masalah regresi, masuk akal untuk menentukan error yang ditandatangani sebagai perbedaan antara prediksi dan label. Namun, dalam jenis masalah lain, strategi ini sering menyebabkan hasil yang buruk. Strategi yang lebih baik digunakan dalam peningkatan gradien adalah dengan:

  • Tentukan fungsi kerugian yang mirip dengan fungsi kerugian yang digunakan di jaringan neural. Misalnya, entropi (juga dikenal sebagai kerugian log) untuk masalah klasifikasi.
  • Latih model lemah untuk memprediksi gradien kerugian sesuai dengan output model yang kuat.

Secara formal, dengan fungsi loss $L(y,p)$ di mana $y$ adalah label dan $p$ sebuah prediksi, respons pseudo $z_i$ yang digunakan untuk melatih model lemah pada langkah $i$ adalah:

$$ z_i = \frac {\partial L(y, F_i)} {\partial F_i} $$

dalam hal ini:

  • $F_i$ adalah prediksi dari model yang kuat.

Contoh sebelumnya adalah masalah regresi: Tujuannya adalah memprediksi nilai numerik. Dalam kasus regresi, error kuadrat adalah fungsi kerugian yang umum:

$$ L(y,p) = (y - p)^2 $$

Dalam hal ini, gradiennya adalah:

$$ z = \frac {\partial L(y, F_i)} {\partial F_i} = \frac {\partial(y-p)^2} {\partial p} = -2(y - p) = 2 \ \text{signed error} $$

Dalam urutan kata, gradien adalah error yang ditandatangani dari contoh kita dengan faktor 2. Perhatikan bahwa faktor konstan tidak berpengaruh karena penyusutan. Perhatikan bahwa kesetaraan ini hanya berlaku untuk masalah regresi dengan kerugian error kuadrat. Untuk masalah supervised learning lainnya (misalnya klasifikasi, peringkat, regresi dengan penurunan persentil), tidak ada kesetaraan antara gradien dan error yang ditandatangani.

Pengoptimalan daun dan struktur dengan langkah metode Newton

Metode Newton adalah metode pengoptimalan seperti penurunan gradien. Namun, tidak seperti penurunan gradien yang hanya menggunakan gradien fungsi untuk mengoptimalkan, metode Newton menggunakan gradien (turunan pertama) dan turunan kedua dari fungsi untuk pengoptimalan.

Langkah penurunan gradien adalah sebagai berikut:

$$ x_{i+1} = x_i - \frac {df}{dx}(x_i) = x_i - f'(x_i) $$

dan metode Newton sebagai berikut:

$$ x_{i+1} = x_i - \frac {\frac {df}{dx} (x_i)} {\frac {d^2f}{d^2x} (x_i)} = x_i - \frac{f'(x_i)}{f''(x_i)}$$

Secara opsional, metode Newton dapat diintegrasikan ke pelatihan pohon yang ditingkatkan gradien dengan dua cara:

  1. Setelah pohon dilatih, langkah Newton diterapkan pada setiap daun dan akan mengganti nilainya. Struktur pohon tidak berubah; hanya nilai daun yang berubah.
  2. Selama pertumbuhan pohon, kondisi dipilih sesuai dengan skor yang mencakup komponen formula Newton. Struktur pohon akan terpengaruh.
Kode YDF
Di YDF:
  • YDF selalu menerapkan langkah Newton pada bagian daun (opsi 1).
  • Anda dapat mengaktifkan opsi 2 dengan use_hessian_gain=True.