ข้อผิดพลาดนอกกระเป๋าทำให้ CV ไม่จำเป็นในป่าสุ่ม?


15

ฉันค่อนข้างใหม่สำหรับป่าสุ่ม ในอดีตฉันมักจะเปรียบเทียบความถูกต้องของการพอดีกับการทดสอบเทียบกับการพอดีกับรถไฟเพื่อตรวจจับการ overfitting ใด ๆ แต่ฉันเพิ่งอ่านที่นี่ว่า:

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

วรรคเล็ก ๆ ข้างต้นสามารถพบได้ภายใต้ออกจากกระเป๋า (OOB) ข้อผิดพลาดประมาณการมาตรา แนวคิดเรื่อง Out of Bag Error นี้ใหม่สำหรับฉันอย่างสมบูรณ์และสิ่งที่สับสนเล็กน้อยคือข้อผิดพลาด OOB ในแบบจำลองของฉันคือ 35% (หรือความแม่นยำ 65%) แต่ถ้าฉันใช้การตรวจสอบความถูกต้องข้ามกับข้อมูลของฉัน วิธีการ) และเปรียบเทียบทั้งพอดีกับการทดสอบเทียบกับพอดีกับรถไฟฉันได้รับความแม่นยำ 65% และความแม่นยำ 96% ตามลำดับ จากประสบการณ์ของฉันนี่ถือเป็นการ overfitting แต่ OOB ถือข้อผิดพลาด 35% เช่นเดียวกับข้อผิดพลาดการทดสอบพอดีของฉัน ฉันกำลัง overfitting หรือไม่ ฉันควรจะใช้การตรวจสอบความถูกต้องข้ามเพื่อตรวจสอบการกำหนดราคาสูงเกินไปในป่าที่มีการสุ่มหรือไม่?

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


OOB สามารถใช้สำหรับการพิจารณาพารามิเตอร์ไฮเปอร์ นอกเหนือจากนั้นสำหรับฉันเพื่อประเมินประสิทธิภาพของโมเดลหนึ่งควรใช้การตรวจสอบข้าม
Metariat

@ Matemattica เมื่อคุณพูดถึงพารามิเตอร์หลายตัวคุณพูดถึงอะไรกันแน่? ขออภัยที่ฉันขาดความรู้ในหัวข้อ
jgozal

จำนวนต้นไม้และคุณสมบัติที่เลือกแบบสุ่มในแต่ละการวนซ้ำ
Metariat

ฉันรู้ว่านี่เป็นคำถามที่แตกต่างอย่างสิ้นเชิง แต่คุณจะกำหนดจำนวนต้นไม้และตัวอย่างของคุณลักษณะในการทำซ้ำแต่ละข้อได้อย่างไร
jgozal

1
อาจเป็นเช่นนี้อาจช่วยได้: stats.stackexchange.com/a/112052/78313โดยทั่วไปฉันไม่เคยเห็นความแตกต่างดังกล่าวใน RF!
Metariat

คำตอบ:


21
  • ข้อผิดพลาดในการฝึกอบรม (ในpredict(model, data=train)) มักจะไร้ประโยชน์ จนกว่าคุณจะทำ (ที่ไม่ได้มาตรฐาน) การตัดแต่งกิ่งของต้นไม้ก็ไม่สามารถจะมากสูงกว่า 0 โดยการออกแบบของขั้นตอนวิธี ฟอเรสต์แบบสุ่มใช้การรวม bootstrap ของต้นไม้การตัดสินใจซึ่งเป็นที่ทราบกันดีว่าไม่เหมาะสม นี่เป็นเหมือนข้อผิดพลาดในการฝึกอบรมสำหรับลักษณนามใกล้เคียง 1 ตัวที่ใกล้ที่สุด

  • อย่างไรก็ตามอัลกอริธึมนำเสนอวิธีการคำนวณข้อผิดพลาดนอกถุงซึ่งมีความสวยงามมากซึ่งโดยทั่วไปแล้วเป็นการประเมินข้อผิดพลาดแบบ out-of-bootstrap ของข้อผิดพลาดแบบรวม) ข้อผิดพลาดนอกถุงคือข้อผิดพลาดโดยประมาณสำหรับการรวมการคาดการณ์ของส่วนของต้นไม้ที่ผ่านการฝึกอบรมโดยไม่มีกรณีนั้น โมเดลที่รวมสำหรับข้อผิดพลาดถุงจะมีความเป็นอิสระเท่านั้นหากไม่มีการพึ่งพาระหว่างแถวข้อมูลอินพุต คือแต่ละแถว = หนึ่งกรณีอิสระไม่มีโครงสร้างข้อมูลแบบลำดับชั้น / ไม่มีการจัดกลุ่ม / ไม่มีการวัดซ้ำ1อี

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

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


11

ข้อผิดพลาด Out-of-bag มีประโยชน์และอาจแทนที่โปรโตคอลการประมาณประสิทธิภาพอื่น ๆ (เช่นการตรวจสอบข้าม) แต่ควรใช้ด้วยความระมัดระวัง

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

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