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


14

ฉันใช้อัลกอริธึมฟอเรสต์แบบสุ่มเป็นตัวจําแนกในชุดข้อมูลขนาดเล็กซึ่งแบ่งออกเป็นสองกลุ่มที่รู้จักพร้อมกับคุณลักษณะ 1000s หลังจากรันครั้งแรกฉันดูความสำคัญของฟีเจอร์และเรียกใช้อัลกอริทึมแบบทรีอีกครั้งด้วยฟีเจอร์ที่สำคัญที่สุด 5, 10 และ 20 ฉันพบว่าสำหรับฟีเจอร์ทั้งหมดอันดับ 10 และ 20 ที่การประเมิน OOB ของอัตราข้อผิดพลาดคือ 1.19% ซึ่งสำหรับฟีเจอร์ 5 อันดับแรกนั้นคือ 0% นี่ดูเหมือนจะขัดกับฉันดังนั้นฉันจึงสงสัยว่าคุณจะอธิบายได้หรือไม่ว่าฉันขาดอะไรไปหรือฉันใช้เมตริกที่ไม่ถูกต้อง

ฉันใช้แพ็คเกจ randomForest ใน R กับ ntree = 1,000, nodesize = 1 และ mtry = sqrt (n)


2
เพียงเพื่อให้ชัดเจน: คุณใช้ RFs ในลักษณะวนซ้ำนั่นคือโดยการเลือกคุณสมบัติที่มีอันดับสูงสุด (ตามดัชนี Gini หรือลดลงใน MSE) จากพื้นที่อินพุตทั้งหมดหรือไม่ ฉันรู้ว่า RFs อาจไม่จำเป็นต้องปรับปรุงด้วยการเพิ่มจำนวนต้นไม้ แต่สิ่งที่คุณกำลังพรรณนาดูเหมือนจะสมเหตุสมผล (คุณสมบัติที่ดีที่สุดช่วยให้สามารถคาดการณ์ได้ด้วยความถูกต้อง 100% ตัวอย่าง OOB) แม้ว่าจะมีความเสี่ยงที่ชัดเจน .
chl

ใช่นั่นคือสิ่งที่ฉันกำลังทำอยู่
danielsbrewer

2
@chl คุณช่วยอธิบายได้ไหมว่าทำไมจึงมีความเสี่ยงที่จะเกิด overfitting โดยใช้เพียง 5 ฟีเจอร์?
tashuhka

คำตอบ:


15

นี้เป็นคุณลักษณะ overfit เลือกและการนี้เป็นที่รู้จักกันสวย - ดูAmbroise & McLachlan 2002 ปัญหาขึ้นอยู่กับข้อเท็จจริงที่ว่า RF นั้นฉลาดเกินไปและจำนวนของวัตถุนั้นเล็กเกินไป ในกรณีหลังเป็นเรื่องง่ายมากที่จะสร้างคุณลักษณะแบบสุ่มซึ่งอาจมีความสัมพันธ์ที่ดีกับการตัดสินใจ และเมื่อจำนวนของคุณลักษณะมีขนาดใหญ่คุณอาจมั่นใจได้ว่าสิ่งที่ไม่เกี่ยวข้องทั้งหมดจะเป็นตัวทำนายที่ดีมากพอที่จะสร้างกลุ่มที่จะสามารถสร้างการตัดสินใจใหม่ได้ 100% โดยเฉพาะเมื่อความยืดหยุ่นของ RF ได้รับการพิจารณา ดังนั้นจึงเป็นที่ชัดเจนว่าเมื่อได้รับคำสั่งให้ค้นหาชุดย่อยของแอตทริบิวต์ที่ดีที่สุดกระบวนการ FS ค้นหาคลัสเตอร์นี้
ทางออกหนึ่ง (CV) ให้ไว้ใน A & McL คุณยังสามารถทดสอบแนวทางของเราในหัวข้ออัลกอริทึม Borutaซึ่งโดยทั่วไปจะขยายชุดด้วย "คุณลักษณะเงา" ที่ทำโดยการสุ่มและการเปรียบเทียบความสำคัญ RF ของพวกเขากับสิ่งนี้ได้รับสำหรับคุณลักษณะที่แท้จริงในการตัดสินว่าพวกเขาเป็นแบบสุ่มและสามารถลบออกได้จริง; นี่คือการจำลองแบบหลายครั้งที่จะมีความสำคัญ Boruta ค่อนข้างตั้งใจที่จะทำงานที่แตกต่างกันเล็กน้อย แต่เท่าที่การทดสอบของฉันแสดงให้เห็นชุดผลลัพธ์ที่เป็นอิสระจากปัญหา FS overfit


2

ฉันคิดว่าฉันจะเพิ่มคำอธิบายที่เข้าใจง่ายสำหรับรูปแบบนี้

ในต้นไม้การตัดสินใจแต่ละชุดประกอบด้วยป่าสุ่มข้อมูลจะถูกแบ่งออกเป็นส่วน ๆ ไปในมิติเดียว ขั้นตอนนี้เกี่ยวข้องอย่างยิ่ง

1) พิจารณาเฉพาะชุดย่อยขนาดเล็กที่สุ่มเลือกของตัวแปรอธิบายทั้งหมดและ

2) การเลือกตัวแปรอธิบายที่เกี่ยวข้องมากที่สุดภายในชุดย่อยตัวแปรที่เลือกแบบสุ่มนี้เพื่อแบ่งข้อมูลตาม

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

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

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