คำอธิบายของ min_child_weight ในอัลกอริทึม xgboost


23

นิยามของพารามิเตอร์ใน min_child_weight xgboost จะได้รับเป็น:

ผลรวมขั้นต่ำของน้ำหนักอินสแตนซ์ (รัฐ) ที่จำเป็นในเด็ก หากขั้นตอนการแบ่งพาร์ติชันเป็นผลให้โหนดใบมีผลรวมของน้ำหนักอินสแตนซ์น้อยกว่า min_child_weight กระบวนการสร้างจะทำให้การแบ่งพาร์ติชันเพิ่มเติม ในโหมดการถดถอยเชิงเส้นสิ่งนี้จะสอดคล้องกับจำนวนอินสแตนซ์ขั้นต่ำที่จำเป็นในแต่ละโหนด ยิ่งอัลกอริธึมมีขนาดใหญ่ขึ้นเท่าใด

ฉันได้อ่านสิ่งเล็ก ๆ น้อย ๆ บน xgboost รวมถึงกระดาษต้นฉบับ (ดูสูตร 8 และหนึ่งหลังจากสมการที่ 9) คำถามนี้และสิ่งต่าง ๆ ที่เกี่ยวข้องกับ xgboost ที่ปรากฏในหน้าแรก ๆ ของการค้นหา google ;)

โดยพื้นฐานแล้วฉันยังไม่มีความสุขว่าทำไมเราถึงกำหนดข้อ จำกัด เกี่ยวกับผลรวมของรัฐ? ผมไม่คิดว่าเพียงนาทีจากกระดาษเดิมก็คือว่ามันเกี่ยวข้องกับการถ่วงน้ำหนัก quantile ส่วนร่าง (และ reformulation เป็นของสมการการสูญเสีย 3 Squared ถ่วงน้ำหนัก) ซึ่งมีชั่วโมงผมเป็นน้ำหนัก 'ของแต่ละกรณี

คำถามเพิ่มเติมเกี่ยวข้องกับสาเหตุที่มันเป็นเพียงจำนวนอินสแตนซ์ในโหมดการถดถอยเชิงเส้น? ฉันเดาว่านี่เกี่ยวข้องกับอนุพันธ์อันดับสองของผลรวมของสมการกำลังสองหรือไม่?

คำตอบ:


42

สำหรับการถดถอยการสูญเสียของแต่ละจุดในโหนดคือ

12(Yผม-Yผม^)2

อนุพันธ์อันดับสองของนิพจน์นี้เทียบกับคือ1Yผม^1 1ดังนั้นเมื่อคุณหาผลรวมของอนุพันธ์อันดับสองในทุกจุดในโหนดคุณจะได้จำนวนคะแนนในโหนด ที่นี่ min_child_weight หมายถึงบางสิ่งเช่น "หยุดพยายามแยกเมื่อขนาดตัวอย่างของคุณในโหนดต่ำกว่าเกณฑ์ที่กำหนด"

สำหรับการถดถอยแบบไบนารีโลจิสติก hessian สำหรับแต่ละจุดในโหนดจะมีคำศัพท์เช่น

σ(Yผม^)(1-σ(Yผม^))

σYผม^σ(Yผม^)จะใกล้ 1 ดังนั้นคำศัพท์ทั้งหมดในรัฐเฮสเซียนจะอยู่ใกล้ 0 ตัวอย่างการฝึกอบรมในโหนดคือ 0 ที่นี่ min_child_weight หมายถึงบางสิ่งเช่น "หยุดพยายามแยกเมื่อคุณมีความบริสุทธิ์ระดับหนึ่งในโหนดและโมเดลของคุณสามารถเข้ากันได้"

Hessian เป็นสิ่งที่มีเหตุผลที่จะใช้สำหรับการทำให้เป็นปกติและจำกัดความลึกของต้นไม้ สำหรับการถดถอยมันง่ายที่จะเห็นว่าคุณจะมีความสามารถมากเกินไปถ้าคุณแยกออกไปที่โหนดด้วยเสมอพูดเพียง 1 การสังเกต ในทำนองเดียวกันสำหรับการจัดหมวดหมู่มันเป็นเรื่องง่ายที่จะเห็นว่าคุณอาจมีความเหมาะสมมากเกินไปถ้าคุณยืนยันในการแยกจนกว่าแต่ละโหนดจะบริสุทธิ์


ขอบคุณสำหรับการตอบกลับฉันไม่สามารถลงคะแนนคุณเนื่องจากชื่อเสียงต่ำ
maw501

1
สวัสดี @ maw501: ไม่มีปัญหาฉันทำได้ คำตอบที่ดี Hahdawg!
Catbuilts

ดังนั้นในกรณีของข้อมูลที่มีความไม่สมดุลสูงช่วงที่คุณเสนอสำหรับ min_child_weight คืออะไร?
Mahdi Baghbanzadeh

เมื่ออยู่ในชุดข้อมูลที่ไม่สมดุล min_child_weight ควรมีน้ำหนักด้วยหรือไม่ ขอขอบคุณ! @hahdawg
HanaKaze
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.