การปรับมากเกินไป การทำให้สม่ำเสมอ และการหยุดใช้ก่อนกำหนด

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

ตัวอย่างเช่น ภาพต่อไปนี้แสดงเส้นโค้งการสูญเสียและความแม่นยำสำหรับการฝึก และชุดการตรวจสอบเมื่อฝึกโมเดล 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.

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

ต้นไม้ที่เพิ่มระดับแบบไล่ระดับสีมีข้อดีและข้อเสียบางอย่าง

ข้อดี

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

ข้อเสีย

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