ขนาดของต้นไม้ในการไล่ระดับต้นไม้ไล่สี


10

การไล่ระดับต้นไม้แบบไล่ตามที่เสนอโดยฟรีดแมนใช้ต้นไม้ตัดสินใจด้วยJโหนดขั้ว (= ใบ) เป็นผู้เรียนพื้นฐาน มีหลายวิธีในการปลูกต้นไม้ที่มีJจุดตรงตัวอย่างเช่นสามารถปลูกต้นไม้ในแบบลึกแรกหรือแบบกว้างแรก ...

มีวิธีการที่กำหนดไว้ในการปลูกต้นไม้ด้วยJโหนดเทอร์มินัลสำหรับการไล่ระดับสีต้นไม้หรือไม่?

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


2
gbm ใช้ CART เพื่อสร้างต้นไม้ซึ่งเป็นอัลกอริทึมที่รู้จักกันดีในยุค 80 ฮิวริสติกเรียกว่า gini impurity ซึ่งเป็นตัวเลือกมาตรฐานสำหรับการถดถอยที่มีการสูญเสียกำลังสอง

2
สิ่งเจือปน Afaik gini ใช้สำหรับการจำแนกปัญหา อย่างไรก็ตามคำถามหมายถึงขนาดของต้นไม้
Peter Prettenhofer

มันเพิ่มสาขาในเวลา ฉันจะแปลกใจถ้าการแยกแต่ละครั้งนั้นดีที่สุดของผู้สมัครแยกที่เหลือในต้นไม้ไม่ใช่แค่สาขา มีบางครั้งที่ข้อมูลไม่รองรับจำนวนที่แน่นอน - เช่นเมื่อข้อมูลมีขนาดเล็กเกินไปสำหรับ 'J'
EngrStudent

ดังที่ @EngrStudent กล่าวว่าคุณไม่สามารถบังคับจำนวนโหนดได้อย่างแม่นยำ อย่างไรก็ตามคุณสามารถควบคุมขอบเขตบนของจำนวนโหนดได้ gbmมีพารามิเตอร์n.minobsinnodeที่ควบคุมจำนวนวัตถุขั้นต่ำต่อโหนด แน่นอนว่าจำนวนโหนดนั้นน้อยกว่าหรือเท่ากับ NumberOfPoints / n.minobsinnode
G5W

ถ้าฉันกำลังมองหาใบไม้ 'J' จากนั้นฉันจะสร้างต้นไม้ให้เต็มที่แล้วจากนั้นถ้ามีมากกว่า J ใบไม้ฉันจะตัดลงไปที่ J นี่จะให้โหนด 'J' แก่ฉันและพวกเขาจะเป็นที่สุด การแยกข้อมูล - มันจะเป็นโมเดลรถเข็นที่ดีต่อสุขภาพที่สุดเท่าที่จะเป็นไปได้ หากมีการแบ่งไม่เพียงพอฉันสามารถแยกแบบสุ่มภายในโดเมนเพื่อรับ 'J' แต่พวกเขาจะปลอมและค่อนข้างเล็กน้อย ฉันอาจดูการกระจายตัวของค่าภายใน leaf และใช้การประมาณค่าแบบ CDF-driven แต่นั่นจะแยกจากโมเดลค่าเฉลี่ยต่อใบ
EngrStudent

คำตอบ:


2

การแก้ปัญหาใน R's gbmไม่ใช่วิธีทั่วไป

แพ็คเกจอื่น ๆ เช่นscikit-learnหรือLightGBMใช้สิ่งที่เรียกว่า (ใน scikit-learn) BestFirstTreeBuilderเมื่อจำนวนของใบไม้ถูก จำกัด รองรับคิวลำดับความสำคัญของใบไม้ทั้งหมดและในแต่ละการวนซ้ำจะแยกใบไม้ที่นำมาซึ่งการลดสิ่งเจือปนที่ดีที่สุด ดังนั้นจึงไม่ใช่ความลึกอันดับหนึ่งหรือกว้างแรก แต่เป็นอัลกอริธึมที่สามตามการคำนวณในใบไม้

ผมผม

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