Pertanyaan Bagaimana parameter "berat" (DMatrix) digunakan dalam prosedur peningkatan gradien (xgboost)?


Dalam xgboost dimungkinkan untuk mengatur parameter weight untuk sebuah DMatrix. Ini tampaknya daftar bobot di mana setiap nilai adalah bobot untuk sampel yang sesuai. Saya tidak dapat menemukan informasi apa pun tentang bagaimana bobot ini benar-benar digunakan dalam prosedur peningkatan gradien. Apakah mereka terkait eta ?

Misalnya, jika saya akan mengatur weight 0,3 untuk semua sampel dan eta ke 1, apakah ini sama dengan pengaturan eta menjadi 0,3 dan weight ke 1?


12
2018-03-14 09:20


asal


Jawaban:


xgboost memungkinkan untuk pembobotan selama konstruksi DMatrix, seperti yang Anda catat. Bobot ini secara langsung terikat pada instance dan berjalan dengan itu sepanjang seluruh pelatihan. Jadi ini termasuk dalam perhitungan gradien dan hessian, dan langsung mempengaruhi titik perpecahan dan traing dari suatu xgboost model. 

Lihat sini dan sini 

Instance Berat File

XGBoost mendukung menyediakan setiap contoh bobot untuk membedakan   pentingnya contoh. Misalnya, jika kami memberikan contoh   file berat untuk file "train.txt" dalam contoh seperti di bawah ini:

train.txt.weight

1

0,5

0,5

1

0,5

Ini berarti XGBoost akan lebih menekankan pada contoh pertama dan keempat, yaitu mengatakan hal positif saat pelatihan. Itu   konfigurasi mirip dengan mengkonfigurasi informasi grup. Jika itu   nama file contoh adalah "xxx", XGBoost akan memeriksa apakah ada   file bernama "xxx.weight" di direktori yang sama dan jika ada, akan   gunakan bobot saat model pelatihan.

Ini sangat berbeda dari  eta

eta hanya mengatakan xgboost berapa banyak campuran pohon terakhir yang dilatih ke dalam ensemble. Ukuran seberapa serakah ensemble seharusnya pada setiap iterasi.

Misalnya, jika saya akan mengatur weight 0,3 untuk semua sampel dan eta   ke 1, apakah ini sama dengan pengaturan eta menjadi 0,3 dan weight untuk   1?

  • Sebuah konstanta weight dari 1 untuk semua instance adalah default, jadi mengubah itu menjadi konstan .3 karena semua instance akan tetap memiliki bobot yang sama, jadi ini tidak boleh terlalu banyak berdampak. Namun, pengaturan eta hingga 1, dari 0,3, akan membuat pelatihan jauh lebih agresif.


15
2018-03-17 13:22