Bagaimana meningkatkan gradien menghitung estimasi probabilitas?

12

Saya telah mencoba memahami peningkatan gradien membaca berbagai blog, situs web dan mencoba menemukan jawaban saya dengan melihat contohnya misalnya kode sumber XGBoost. Namun, saya tidak bisa menemukan penjelasan yang dapat dimengerti tentang bagaimana algoritma peningkatan gradien menghasilkan estimasi probabilitas. Jadi, bagaimana mereka menghitung probabilitas?

Icyeval
sumber
3
Ini pada dasarnya menanyakan dan menjawab pertanyaan yang sama, kalau-kalau penjelasan yang berbeda akan berguna bagi Anda: stats.stackexchange.com/questions/204154/...
Matthew Drury

Jawaban:

14

XGBoost untuk klasifikasi adalah model yang menggabungkan prinsip-prinsip pohon keputusan dan regresi logistik.

Fungsi regresi logistik menghitung probabilitas yang linear pada skala logit:

z=XwP(y=1|X)=11+exp(z)

Tidak seperti regresi logistik, "fitur" dalam dibangun sebagai simpul terminal dari ansambel pohon keputusan - sehingga setiap baris mengumpulkan daun terminal untuk setiap sampel; barisnya adalah -hot vektor biner, untuk jumlah pohon. (Setiap pohon XGBoost dihasilkan berdasarkan algoritma tertentu, tetapi itu tidak relevan di sini.)XXTT

Ada kolom di , satu kolom untuk setiap simpul terminal. Tidak ada ekspresi untuk jumlah total terminal node, karena jumlah node dapat bervariasi di antara pohon (dan biasanya, menurut pengalaman saya).nX

Setiap daun di pohon memiliki "bobot" yang terkait. Berat itu dicatat dalam . Agar sesuai dengan , ada elemen dalam .wXnw

Atau, sebagai alternatif lain, peluang log untuk sampel adalah jumlah bobot daun terminalnya. Probabilitas sampel milik kelas 1 adalah transformasi invers-logit dari jumlah.

Sycorax berkata Reinstate Monica
sumber
Ini sangat membantu, terima kasih. Berapa banyak elemen yang akan mengandung beta-vektor? Apakah sama dengan jumlah total simpul daun di semua pohon? (Dan akan ada jumlah kolom yang sama dalam matriks X, benar?)
Vishal
Terima kasih atas jawaban yang diperbarui. Apakah ini berarti ada matriks yang unik X serta serangkaian beta yang unik untuk setiap sampel / pengamatan ( i)? Dengan kata lain, untuk setiap sampel / observasi yang ingin Anda hitung kemungkinan milik kelas 1, Anda perlu menentukan nilai unik dari Xmatriks dan vektor beta?
Vishal
1
Setiap baris menyimpan daun terminal untuk sampel. X
Sycorax berkata Reinstate Monica
@SycoraxsaysReinstateMonica Anda menjawab sangat membantu dalam memahami GBM. Juga, Tolong jelaskan bagaimana pohon pertama dalam GBM (classifier) ​​dibangun, dan bagaimana kriteria pemisahan simpul untuk pohon pertama ditentukan. Saya tidak yakin, apa yang kami prediksi untuk pohon pertama (bahkan dengan asumsi konstanta diinisialisasi, bagaimana gradien kerugian dihitung dari konstanta) dan jika mse adalah kriteria split, apa itu terdiri dari (selisih kuadrat dari nilai apa ??)
tjt