ข้อผิดพลาดของการฝึกอบรมที่ต้องรายงานสำหรับป่าสุ่มคืออะไร


15

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

ข้อผิดพลาดในการฝึกอบรมของฉันใกล้เคียงกับ 0% เมื่อฉันคำนวณโดยใช้การคาดการณ์ที่ฉันได้รับจากคำสั่ง:

predict(model, data=X_train)

ที่X_trainเป็นข้อมูลการฝึกอบรม

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

predict(model)

ในกรณีนี้ข้อผิดพลาดในการฝึกอบรมของ OOB นั้นใกล้กับข้อผิดพลาดในการทดสอบ 10-CV เฉลี่ยซึ่งมากถึง 11%

ฉันสงสัย:

  1. เป็นที่ยอมรับกันโดยทั่วไปในการรายงานข้อผิดพลาดการฝึกอบรมของ OOB ว่าเป็นข้อผิดพลาดในการฝึกอบรมสำหรับป่าสุ่มหรือไม่?

  2. ความจริงที่ว่าข้อผิดพลาดในการฝึกอบรมแบบดั้งเดิมนั้นต่ำเกินจริงหรือไม่?

  3. หากข้อผิดพลาดในการฝึกอบรมแบบดั้งเดิมอยู่ในระดับต่ำมาก ๆ ฉันจะเปรียบเทียบได้สองวิธีเพื่อตรวจสอบว่า RF กำลังเกินขนาดหรือไม่

คำตอบ:


10

หากต้องการเพิ่มคำตอบของ @Soren H. Welling

1. เป็นที่ยอมรับโดยทั่วไปในการรายงานข้อผิดพลาดการฝึกอบรม OOB ว่าเป็นข้อผิดพลาดในการฝึกอบรมสำหรับป่าสุ่มหรือไม่?

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

2. จริงหรือไม่ที่ข้อผิดพลาดในการฝึกอบรมแบบดั้งเดิมอยู่ในระดับต่ำเทียม?

สิ่งนี้เป็นจริงถ้าเรากำลังเรียกใช้ปัญหาการจำแนกประเภทโดยใช้การตั้งค่าเริ่มต้น กระบวนการที่แน่นอนมีการอธิบายไว้ในโพสต์ฟอรัมโดย Andy Liawผู้ดูแลrandomForestบรรจุภัณฑ์ใน R ดังนี้:

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

เพื่อหลีกเลี่ยงพฤติกรรมนี้คุณสามารถตั้งค่าnodesize > 1(เพื่อให้ต้นไม้ไม่ได้เติบโตเป็นขนาดสูงสุด) และ / หรือชุดsampsize < 0.5N(เพื่อให้ต้นไม้น้อยกว่า 50% มีแนวโน้มที่จะมีจุดที่กำหนด(xผม,Yผม).

3. หากการวัดความผิดพลาดในการฝึกอบรมแบบดั้งเดิมต่ำมากฉันจะเปรียบเทียบการวัดสองแบบเพื่อตรวจสอบว่า RF กำลังเกินกำหนดหรือไม่

หากเรารัน RF ด้วยnodesize = 1และsampsize > 0.5ดังนั้นข้อผิดพลาดในการฝึกอบรมของ RF จะอยู่ใกล้กับ 0 เสมอในกรณีนี้วิธีเดียวที่จะบอกได้ว่าแบบจำลองนี้มีการ overfitting หรือไม่เพื่อเก็บข้อมูลบางอย่างไว้เป็นชุดการตรวจสอบอิสระ จากนั้นเราสามารถเปรียบเทียบข้อผิดพลาดการทดสอบ 10-CV (หรือข้อผิดพลาดการทดสอบ OOB) กับข้อผิดพลาดในชุดการตรวจสอบความถูกต้องอิสระ หากข้อผิดพลาดในการทดสอบ 10-CV นั้นต่ำกว่าข้อผิดพลาดในชุดการตรวจสอบความถูกต้องอิสระมากแสดงว่าแบบจำลองนั้นมีขนาดใหญ่เกินไป


2

[แก้ไข 21.7.15 8:31 น. CEST]

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

predict(model, data=X_train)

บรรทัดของการเข้ารหัสนี้เป็นเหมือนการไล่ล่าสุนัข [~ 66% จาก] หางของมัน การทำนายของตัวอย่างการฝึกอบรมใด ๆ คือคลาสของตัวอย่างการฝึกอบรมนั้นเอง สำหรับการถดถอย RF หยุดถ้าโหนดมีตัวอย่าง 5 หรือน้อยกว่านั้นหรือถ้าโหนดบริสุทธิ์ ข้อผิดพลาดในการทำนายที่นี่จะมีขนาดเล็ก แต่ไม่เป็น 0%

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

กลับไปที่ประวัติส่วนตัว: การออกนอกกระเป๋ามักจะเป็นรูปแบบที่ยอมรับได้ของ CV โดยส่วนตัวฉันจะถือว่า OOB-CV ให้ผลลัพธ์ที่คล้ายกันเป็น 5-fold-CV แต่นี่เป็นสิ่งที่สร้างความรำคาญเล็กน้อย ถ้าหากจะเปรียบเทียบสมมติว่า RF กับ SVM แล้ว OOB-CV จะไม่เป็นประโยชน์อย่างที่เรามักจะหลีกเลี่ยงการทำถุง SVM แต่ทั้ง SVM และ RF จะถูกฝังอยู่ในรูปแบบการตรวจสอบความถูกต้องข้ามที่แน่นอนเช่น 10-fold 10-repeats กับพาร์ทิชันที่ตรงกันสำหรับการทำซ้ำแต่ละครั้ง ขั้นตอนทางวิศวกรรมคุณลักษณะใด ๆ ก็มักจะต้องมีการตรวจสอบข้าม หากเก็บสิ่งต่าง ๆ ให้สะอาดสายข้อมูลทั้งหมดอาจถูกฝังอยู่ใน CV

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

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


ขอบคุณสำหรับสิ่งนี้. คำถามสองข้อ: (1) การคาดการณ์ของตัวอย่างการฝึกอบรมเป็นอย่างไรในชั้นเรียนของตัวอย่างการฝึกอบรม? จะต้องมีต้นไม้ที่ไม่ได้ใช้ตัวอย่างการฝึกอบรมที่ใช้ในการลงคะแนนเสียงข้างมากไม่ใช่หรือ? (2) คุณจะประเมินได้อย่างไรว่าการวัดคลื่นวิทยุกำลังวัดค่ามากเกินไป?
Berk U.

(1) ใช่ฉันอยู่ที่นั่นนิดหน่อยฉันแก้ไขคำตอบ ตัวอย่างใด ๆ จะ inbag ใน ~ 66% ของต้นไม้ หากตัวอย่างในต้นไม้อยู่ในกระเป๋าระหว่างการฝึกมันจะจบลงที่โหนดเดียวกันในระหว่างการทำนายใน ~ 66% และนั่นก็เพียงพอที่จะได้รับคะแนนเสียงข้างมากทุกครั้ง ยืนยันสิ่งนี้โดยการลดขนาดของตัวอย่างไปที่ 30% ของตัวอย่างรถไฟและสังเกตว่าข้อผิดพลาดการจำแนกประเภทเพิ่มขึ้น 0% (2) ฉันคิดว่าฉันตอบว่า RF ไม่เหมาะกับคุณมากนัก แต่คุณสามารถสร้างบริบทระหว่างการปรับจูนที่ซึ่งคุณจะได้รับผลลัพธ์ OOB-CV ที่มองโลกในแง่ดีเกินไป ฝังกระบวนการทั้งหมดของคุณใน CV ใหม่เพื่อทราบอย่างแน่นอน
Soren Havelund Welling
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.