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?
12
Jawaban:
XGBoost untuk klasifikasi adalah model yang menggabungkan prinsip-prinsip pohon keputusan dan regresi logistik.
Fungsi regresi logistik menghitung probabilitas yang linear pada skala logit:
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.)X X T T
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).n X
Setiap daun di pohon memiliki "bobot" yang terkait. Berat itu dicatat dalam . Agar sesuai dengan , ada elemen dalam .w X n w
Atau, sebagai alternatif lain, peluang log untuk sampel adalah jumlah bobot daun terminalnya. Probabilitas sampel milik kelas 1 adalah transformasi invers-logit dari jumlah.
sumber
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 dariX
matriks dan vektor beta?