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


11

ฉันมีการถดถอยแบบป่าที่สร้างขึ้นโดยใช้ skl และฉันทราบว่าฉันให้ผลลัพธ์ที่แตกต่างกันตามการตั้งค่าเมล็ดแบบสุ่มเป็นค่าที่แตกต่างกัน

หากฉันใช้ LOOCV เพื่อกำหนดว่าเมล็ดพันธุ์ใดทำงานได้ดีที่สุดนี่เป็นวิธีที่ถูกต้องหรือไม่


1
ผู้คนทำเช่นนั้นในการแข่งขัน แม้ว่าสำหรับสถาบันการศึกษาที่จะยากที่จะปรับ
Firebug

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

@ usεr11852คุณคิดอย่างไรกับความคิดเห็นของฉันเกี่ยวกับคำตอบที่ยอมรับในปัจจุบัน? ฉันไม่แน่ใจว่านี่จะแตกต่างจากการรีสตาร์ทแบบสุ่มเช่นเดียวกับ kmeans หรือไม่ ไม่มีใครคิดว่าเราควรถูกบังคับให้ยอมรับการวิ่งครั้งแรกของมันจนถึงจุดที่การรีสตาร์ทแบบสุ่มถูกสร้างขึ้นในฟังก์ชั่นมาตรฐานในอาร์เว้นแต่คุณจะคิดว่าแบบจำลองนั้นใช้ kmeans 100 ครั้งแทนที่จะเป็นแบบจำลอง เป็นเพียงการจัดกลุ่มที่ดีที่สุดเพียงครั้งเดียว
jld

ไม่ - ดูเหมือนว่าคำจำกัดความที่มากเกินไปของการสุ่มตามความเป็นจริง
ทำเครื่องหมายสีขาว

@Chaconne: ฉันสนับสนุนจุดของคุณเกี่ยวกับความต้องการการตรวจสอบที่เหมาะสม ที่กล่าวว่าฉันคิดว่ามีความแตกต่างที่สำคัญในทั้งสองกรณีการใช้งาน: ในกรณีของ k- หมายถึง (หรือการเพิ่มประสิทธิภาพสุ่มโดยทั่วไป) เรามองหา "ชุดที่ดีที่สุด" ของพารามิเตอร์ในขณะที่ CV เราสนใจ "ตัวแทนชุด " ในกรณีแรกเราพยายามแสดงให้เห็นว่า "เราดีแค่ไหน" ในขณะที่ในกรณีต่อมา "เราจะดีแค่ไหน"
usεr11852

คำตอบ:


11

คำตอบคือไม่มี

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

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


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

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

5
@ user2723494 ใช้ได้กับพารามิเตอร์ไฮเปอร์โดยหวังว่าจะเพิ่มประสิทธิภาพโดยไม่ต้องเสียค่าใช้จ่ายในการวางหลักเกณฑ์ทั่วไป อย่างไรก็ตามการปรับพารามิเตอร์ให้ละเอียดอีกครั้งและอีกครั้งในชุดการตรวจสอบความถูกต้องจะให้เอฟเฟกต์แบบเดียวกันกับที่ฉันอธิบายไว้ (การใส่ในชุดการตรวจสอบความถูกต้องมากเกินไป) เพราะการเพาะสุ่มโดยการสุ่มธรรมชาติของมันมันเป็นไกลมีแนวโน้มที่จะปรับปรุงประสิทธิภาพการทำงานเนื่องจากการ overfitting กว่าเนื่องจากได้มีการผลิตจริงรูปแบบที่ดีขึ้น
Djib2011

4
@Chaconne ฉันไม่ได้บอกว่าเป็นไปไม่ได้ อย่างไรก็ตามโดยขั้นตอนนี้มันมีแนวโน้มที่จะเลือกเมล็ดพันธุ์ที่มากกว่าชุดที่สร้างแบบจำลองที่ดีกว่า ...
Djib2011

4
พูดตามตรงฉันไม่เคยคิดว่าการฝึกฝนอัลกอริธึม ML (และกีดกันพวกเขาจากธรรมชาติที่สุ่ม) เป็นวิธีปฏิบัติที่ดี OP สร้างคำถามใหม่ถามแค่นี้ ฉันสนใจที่จะอ่านคำตอบของคุณ!
Djib2011
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.