การเพิ่มการไล่ระดับสี (หน่วยที่ไม่บังคับ)

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

  • กำหนดฟังก์ชันการสูญเสียที่คล้ายกับฟังก์ชันการสูญเสียที่ใช้ในโครงข่ายประสาท เช่น เอนโทรปี (หรือที่เรียกว่าการสูญหายของบันทึก) ของปัญหาการแยกประเภท
  • ฝึกโมเดลที่อ่อนให้คาดการณ์การไล่ระดับสีของการสูญเสียตามเอาต์พุตโมเดลที่มีประสิทธิภาพ

อย่างเป็นทางการ เมื่อมีฟังก์ชันการสูญเสีย $L(y,p)$ โดยที่ $y$ เป็นป้ายกำกับและ $p$ เป็นการคาดคะเน การตอบสนองเทียม $z_i$ ที่ใช้ในการฝึกโมเดลที่อ่อน ในขั้นตอน $i$ คือ

$$ z_i = \frac {\partial L(y, F_i)} {\partial F_i} $$

ที่ไหน:

  • $F_i$ คือการคาดการณ์ของโมเดลที่มีประสิทธิภาพ

ตัวอย่างก่อนหน้านี้คือปัญหาการถดถอย วัตถุประสงค์คือการคาดการณ์ค่าตัวเลข ในกรณีการถดถอย ความคลาดเคลื่อนกำลังสองคือฟังก์ชันการสูญเสียที่พบบ่อย ดังนี้

$$ L(y,p) = (y - p)^2 $$

ในกรณีนี้ การไล่ระดับสีจะเป็นดังนี้

$$ z = \frac {\partial L(y, F_i)} {\partial F_i} = \frac {\partial(y-p)^2} {\partial p} = -2(y - p) = 2 \ \text{signed error} $$

ตามลำดับ การไล่ระดับสีคือข้อผิดพลาดแบบมีเครื่องหมายจากตัวอย่างของเราที่มีตัวประกอบเป็น 2 โปรดทราบว่าปัจจัยที่คงที่ไม่สำคัญเพราะการลดลง โปรดทราบว่าค่าเทียบเท่านี้เป็นจริงสำหรับโจทย์การถดถอยที่มีการสูญเสียข้อผิดพลาดกำลังสองเท่านั้น สำหรับปัญหาการเรียนรู้อื่นๆ ที่มีการควบคุมดูแล (เช่น การแยกประเภท การจัดอันดับ การถดถอยแบบสูญเสียเปอร์เซ็นไทล์) จะไม่มีความเทียบเท่าระหว่างการไล่ระดับสีและข้อผิดพลาดแบบมีเครื่องหมาย

การเพิ่มประสิทธิภาพ Leaf และโครงสร้างด้วยขั้นตอนวิธีการของนิวตัน

วิธีการของนิวตันเป็นวิธีเพิ่มประสิทธิภาพอย่างเช่นการไล่ระดับสีลง อย่างไรก็ตาม เมธอดของนิวตันจะใช้ทั้งการไล่ระดับสี (อนุพันธ์แรก) และอนุพันธ์อันดับ 2 ของฟังก์ชันเพื่อเพิ่มประสิทธิภาพ ซึ่งแตกต่างจากการไล่ระดับสีที่ใช้เฉพาะการไล่ระดับสีของฟังก์ชันเพื่อเพิ่มประสิทธิภาพ

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

$$ x_{i+1} = x_i - \frac {df}{dx}(x_i) = x_i - f'(x_i) $$

และวิธีการของนิวตันดังนี้

$$ x_{i+1} = x_i - \frac {\frac {df}{dx} (x_i)} {\frac {d^2f}{d^2x} (x_i)} = x_i - \frac{f'(x_i)}{f''(x_i)}$$

เมธอดของนิวตันสามารถผสานรวมเข้ากับการฝึกต้นไม้ที่บูสต์แบบไล่ระดับสีได้ 2 วิธี ดังนี้

  1. เมื่อต้นไม้ได้รับการฝึกฝนแล้ว จะมีการใช้นิวตันกับแต่ละใบและลบล้างค่า โครงสร้างต้นไม้ยังคงเหมือนเดิม มีเพียงค่าใบไม้เท่านั้นที่เปลี่ยนแปลง
  2. ในช่วงการเติบโตของต้นไม้ ระบบจะเลือกเงื่อนไขตามคะแนนที่มีส่วนประกอบของสูตรนิวตัน โครงสร้างของต้นไม้ ได้รับผลกระทบ
รหัส YDF
ใน YDF
  • YDF จะใช้ขั้นตอนนิวตันบนใบไม้เสมอ (ตัวเลือกที่ 1)
  • คุณเปิดใช้ตัวเลือก 2 ด้วย use_hessian_gain=True ได้