การตรวจสอบข้ามแตกต่างจากการสอดแนมข้อมูลอย่างไร


13

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

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

กรุณายกโทษให้ฉันเข้าใจสามเณรของการเรียนรู้ของเครื่องและฉันอยากได้รับการศึกษา

แก้ไข: โปรดดูคำตอบ @AdamO เกี่ยวกับคำจำกัดความของ "data snooping" ฉันใช้คำนั้นไม่ถูกต้องในคำถามของฉัน


ฉันมีความสุขมากที่พบสิ่งนี้ ... มี TC ในวันพรุ่งนี้กับนักวิจัยบางคนที่เผยแพร่บางสิ่งบางอย่าง .... โชคไม่ดีที่ปัญหานี้เกิดขึ้น เป็นคำถามที่ดีมาก!
pallevillesen

คำตอบ:


12

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

ความกังวลของคุณอยู่ในจุดที่ถูกต้องและมีวรรณกรรมมากมายในหัวข้อนี้เช่น

ปัญหาคือการปรับแต่งพารามิเตอร์แบบไฮเปอร์พารามิเตอร์พร้อมการตรวจสอบความถูกต้องข้ามเป็นกระบวนการปรับให้เหมาะสมที่ขับเคลื่อนด้วยข้อมูลและยังคงมีแนวโน้มที่จะเกินกว่าชุดข้อมูลที่น้อยลง (น้อยกว่าการปรับแต่งโดยข้อผิดพลาดการประกาศใหม่ การพยายามใช้ผลลัพธ์การตรวจสอบความถูกต้องของการปรับแต่งไขว้เนื่องจากการวัดประสิทธิภาพแบบ "อิสระ" นั้นเหมือนกับการกินพาย (= การปรับแต่ง) และการรักษา (= วัดประสิทธิภาพของรุ่นสุดท้าย)

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

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

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

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


PS: ฉันพบว่าคำศัพท์การทดสอบและการตรวจสอบมีความสับสนอย่างมากเพราะใน "การตรวจสอบความถูกต้อง" หมายถึงการพิสูจน์ว่าแบบจำลองสุดท้ายนั้นเหมาะสำหรับวัตถุประสงค์และเป็นสิ่งที่คนอื่นเรียกการทดสอบแทนการตรวจสอบ ฉันชอบเรียกชุดทดสอบภายใน "ชุดทดสอบการปรับแต่ง" และชุดทดสอบการตรวจสอบความถูกต้องสุดท้าย "ด้านนอก" หรือที่คล้ายกัน


ปรับปรุง:

ดังนั้นหากโมเดลของฉัน (เช่นพารามิเตอร์การปรับของฉันในกรณีนี้) ไม่ผ่านการตรวจสอบภายนอกฉันควรทำอย่างไร

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

คำแนะนำของฉัน:

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

  • คุณควรตรวจสอบความเสถียรของการทำนายที่ได้รับด้วย chosen ที่เลือกและ optimal ที่เหมาะสมที่สุดที่พบโดยขั้นตอนการปรับจูนอัตโนมัติ หากλไม่เสถียรพอสมควรตามส่วนของข้อมูลที่แตกต่างกันการเพิ่มประสิทธิภาพไม่ทำงาน

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


1
ฉันยอมรับรถไฟคำศัพท์ / ทดสอบ / การตรวจสอบไม่ง่ายมาก
M. Berk

3

k

λλ

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

k


λλ

1
@Anh: การปรับค่าของλโดยการตรวจสอบความถูกต้องของข้อมูลนั้นไม่ได้เลวร้ายนัก แต่การทำเช่นนั้นคุณ "หมด" ที่ใช้การตรวจสอบไขว้สำหรับการปรับλและคุณต้องการการตรวจสอบอีกอย่างที่ไม่ขึ้นอยู่กับการสร้างแบบจำลองรวมถึงกระบวนการปรับแต่งλ การไม่ทำการตรวจสอบภายนอกนี้คือ BAD หาก particular นั้นไม่ทำงาน "อีกครั้ง" (เช่นในการแบ่งข้อมูลอื่น) การเพิ่มประสิทธิภาพของคุณไม่ทำงาน ในสถานการณ์นั้นโดยทั่วไปคุณจะเห็นความแตกต่างอย่างมากระหว่างผลลัพธ์การตรวจสอบภายนอกและประสิทธิภาพ "ดีที่สุด" ที่สังเกตได้ระหว่างการปรับจูน
cbeleites ไม่มีความสุขกับ SX

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

λ

λk

1

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


หากชุดการตรวจสอบและชุดการทดสอบแตกต่างจากนั้นก็สมเหตุสมผลสำหรับฉัน อย่างไรก็ตามในหนังสือที่ฉันอ่าน (โดย Hastie et al. ไม่น้อยกว่า) พวกเขายืนยันว่าการใช้การทดสอบการระงับมีราคาแพง (เราไม่ได้ใช้ข้อมูลจำนวนมากในการฝึกอบรม) ดังนั้นพวกเขาจึงแนะนำการตรวจสอบไขว้แบบ k-fold ที่ฉันไม่คิดว่าจะมีชุดทดสอบแยกต่างหาก
ไฮเซนเบิร์ก

1
@Anh: ทั้งสองแยกสามารถทำได้โดยการ resampling อีกครั้ง (เช่นการตรวจสอบข้ามซ้ำ) แทนที่จะตั้งค่าชุดข้อมูลขนาดเล็กเพียงชุดเดียว
cbeleites ไม่มีความสุขกับ SX

@Anh: ในการตรวจสอบข้าม k-fold คุณแบ่ง k คูณชุดฝึกอบรมดั้งเดิมเป็นชุดฝึกอบรมที่มีขนาดเล็กลงและชุดตรวจสอบ ชุดทดสอบดั้งเดิมไม่เกี่ยวข้องและใช้งานได้เมื่อสิ้นสุดเท่านั้น
Jerorx

0

หากคุณมองหาตัวอย่างที่หน้า 225 ของ "การแนะนำการเรียนรู้เชิงสถิติ" ด้วยตัวอย่าง Lasso คุณจะเห็นว่าพวกเขาทำการตรวจสอบข้ามแบบซ้อนกัน คือรูปแบบการเลือกที่จะทำในcv.glmnetบนtrainชุดซึ่งเป็นแยกจากcv.glmnetแพคเกจเป็นคู่รถไฟทดสอบ การตรวจสอบความถูกต้องของแบบจำลองนั้นเสร็จสิ้นในชุดการตรวจสอบความถูกต้อง (" test") ดังนั้นจึงเป็นการตรวจสอบความถูกต้องอิสระ

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