การปรับให้พอดี การปรับให้พอดี และการหยุดก่อนกําหนด

ต้นไม้ไล่ระดับแตกต่างจากป่าแบบสุ่ม ดังนั้น เช่นเดียวกับเครือข่ายโครงข่ายประสาท ให้ใช้การทําให้เป็นมาตรฐานและหยุดทํางานก่อนโดยใช้ชุดข้อมูลตรวจสอบความถูกต้อง

เช่น รูปต่อไปนี้แสดงเส้นโค้งการสูญเสียและความแม่นยําสําหรับชุดการฝึกและการตรวจสอบเมื่อฝึกโมเดล GBT สังเกตว่าเส้นโค้งมีความคล่องตัว ซึ่งชี้ให้เห็นถึงความแออัดในระดับสูง

แปลงจํานวนการสูญเสียการฝึกและการสูญเสียการตรวจสอบเทียบกับจํานวนแผนผังการตัดสินใจ การสูญเสียการฝึกจะค่อยๆ ลดลงเมื่อจํานวนต้นไม้ตัดสินใจเพิ่มขึ้น อย่างไรก็ตาม การสูญเสียการตรวจสอบลดลงจนกว่าจะมีแผนผังการตัดสินใจประมาณ 40 ตาราง หากมีต้นไม้ตัดสินใจมากกว่า 40 ต้น การสูญเสียการตรวจสอบจะเพิ่มขึ้น หากมีต้นไม้ตัดสินใจ 400 ต้น ช่องว่างระหว่างการสูญเสียการฝึกและการสูญเสียการตรวจสอบจะอย่างมาก

รูปที่ 29 การสูญเสียเทียบกับจํานวนต้นไม้ตัดสินใจ

 

ความถูกต้องของการฝึกและความถูกต้องของการตรวจสอบเทียบกับจํานวนแผนผังการตัดสินใจ การฝึกความแม่นยําจะค่อยๆ เพิ่มขึ้นเมื่อต้นไม้ตัดสินใจเพิ่มขึ้น โดยจนถึงจุดสูงสุดที่มีการตัดสินใจ 1.0 ต้นจากทั้งหมด 400 ต้น ความถูกต้องในการตรวจสอบจะเพิ่มขึ้นถึง 0.86 จุดในแผนผังการตัดสินใจ 40 จุด จากนั้นจะค่อยๆ ลดลงเหลือประมาณ 0.83 ที่แผนผังการตัดสินใจ 400 ต้น

รูปที่ 30 ความถูกต้องเทียบกับจํานวนแผนผังการตัดสินใจ

 

พารามิเตอร์การปรับให้เหมือนกันทั่วไปสําหรับต้นไม้ไล่ระดับสีมีดังนี้

  • ความลึกสูงสุดของโครงสร้าง
  • อัตราการหด
  • อัตราส่วนของแอตทริบิวต์ที่ทดสอบต่อแต่ละโหนด
  • ค่าสัมประสิทธิ์ L1 และ L2 ของการสูญเสีย

โปรดทราบว่าโดยทั่วไปแล้วต้นไม้สําหรับตัดสินใจจะเติบโตน้อยกว่าชนิดของป่าจําลองมาก โดยค่าเริ่มต้น ต้นไม้ไล่ระดับแบบไล่ระดับสีใน TF-DF จะเติบโตเป็นความลึก 6 เนื่องจากต้นไม้มีความตื้น จํานวนตัวอย่างขั้นต่ําต่อใบจึงลดลงเล็กน้อยและไม่ค่อยมีการปรับแต่ง

ความต้องการชุดข้อมูลตรวจสอบความถูกต้องเกิดขึ้นเมื่อปัญหามีตัวอย่างการฝึกน้อย ดังนั้นจึงเป็นเรื่องปกติที่จะฝึกต้นไม้แบบไล่ระดับสีแบบไล่ระดับสีภายในลูปการตรวจสอบความถูกต้อง หรือปิดใช้การหยุดก่อนเวลาเมื่อทราบว่าโมเดลไม่กระชับ

ตัวอย่างการใช้งาน

ในบทก่อนหน้า เราได้ฝึกเรื่องป่าแบบสุ่มขึ้นมาในชุดข้อมูลขนาดเล็ก ในตัวอย่างนี้ เราจะแทนที่โมเดลป่าแบบสุ่มด้วยโมเดลแผนผังที่สนับสนุนการไล่ระดับสี

model = tfdf.keras.GradientBoostedTreesModel()

# Part of the training dataset will be used as validation (and removed
# from training).
model.fit(tf_train_dataset)

# The user provides the validation dataset.
model.fit(tf_train_dataset, validation_data=tf_valid_dataset)

# Disable early stopping and the validation dataset. All the examples are
# used for training.
model.fit(
   tf_train_dataset,
   validation_ratio=0.0,
   early_stopping="NONE")
# Note: When "validation_ratio=0", early stopping is automatically disabled,
# so early_stopping="NONE" is redundant here.

การใช้งานและข้อจํากัด

ต้นไม้แบบไล่ระดับสีมีข้อดีและข้อเสีย

ข้อดี

  • โครงสร้างเหล่านี้รองรับโครงสร้างตัวเลขและฟีเจอร์ตามหมวดหมู่ในตัว และมักจะไม่ต้องประมวลผลฟีเจอร์ล่วงหน้า
  • ต้นไม้แบบไล่ระดับสีมีไฮเปอร์พารามิเตอร์เริ่มต้นซึ่งมักจะให้ผลลัพธ์ที่ดี อย่างไรก็ตาม การปรับแต่งไฮเปอร์พารามิเตอร์เหล่านั้นจะช่วยปรับปรุงโมเดลได้อย่างมาก
  • โดยทั่วไป โมเดลแบบไล่ระดับสีไล่ระดับจะมีขนาดเล็ก (มีจํานวนโหนดและอยู่ในหน่วยความจํา) และทํางานได้อย่างรวดเร็ว (มักมี 1 หรือ 2-3 μs / ตัวอย่าง)

ข้อเสีย

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