จะตัดสินได้อย่างไรว่ารูปแบบการเรียนรู้ของเครื่องภายใต้การดูแลนั้นมากเกินไปหรือไม่?


27

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

คำตอบ:


29

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

Overfit

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

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

แยกชุดข้อมูล

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

ในการประเมินปริมาณการรับน้ำหนักเกินเพียงแค่ประเมินเมตริกที่คุณสนใจในชุดทดสอบเป็นขั้นตอนสุดท้ายและเปรียบเทียบกับประสิทธิภาพของคุณในชุดการฝึกอบรม คุณพูดถึง ROC แต่ในความเห็นของฉันคุณควรดูตัวชี้วัดอื่น ๆ เช่นคะแนน brier หรือพล็อตการสอบเทียบเพื่อให้มั่นใจถึงประสิทธิภาพของแบบจำลอง แน่นอนขึ้นอยู่กับปัญหาของคุณ มีตัวชี้วัดมากมาย แต่นอกเหนือจากนี้ตรงนี้

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

การตรวจสอบครอส

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

อย่างไรก็ตามการประมาณการ CV นั้นไม่เป็นกลาง แต่ยิ่งคุณพับเท่าไรคุณก็ยิ่งมีความเอนเอียงน้อยลง แต่คุณก็จะได้ค่าความแปรปรวนที่ใหญ่ขึ้นแทน

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

เงินทุน

แนวคิดเบื้องหลัง bootstrap คล้ายกับ CV แต่แทนที่จะแยกชุดข้อมูลออกเป็นส่วน ๆ เราแนะนำการสุ่มในการฝึกอบรมโดยการวาดชุดการฝึกอบรมจากชุดข้อมูลทั้งหมดซ้ำ ๆ ด้วยการแทนที่และดำเนินการขั้นตอนการฝึกอบรมเต็มรูปแบบในตัวอย่าง bootstrap เหล่านี้แต่ละชุด

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

วิธีนี้จะให้การประมาณประสิทธิภาพของแบบจำลองซึ่งโดยส่วนใหญ่แล้วจะมีความลำเอียงน้อยกว่า CV เปรียบเทียบกับชุดฝึกซ้อมของคุณอีกครั้ง

มีวิธีในการปรับปรุงการตรวจสอบ bootstrap วิธีการ. 632+ นั้นเป็นที่รู้จักกันว่าให้การประมาณที่ดีขึ้นและมีประสิทธิภาพมากขึ้นของประสิทธิภาพของโมเดลทั่วไป (หากคุณสนใจบทความต้นฉบับคือการอ่านที่ดี: การปรับปรุงการตรวจสอบข้าม: วิธี Bootstrap 632+ )

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


2
โปรดทราบว่าคำศัพท์ของคุณเกี่ยวกับการตรวจสอบความถูกต้องและการทดสอบไม่ได้ถูกติดตามในทุกฟิลด์ เช่นในการตรวจสอบความถูกต้องของเคมี (เคมีวิเคราะห์) เป็นกระบวนการที่ควรพิสูจน์ว่าแบบจำลองนั้นทำงานได้ดี (และวัดว่ามันใช้งานได้ดี) มันทำกับรุ่นสุดท้ายไม่อนุญาตให้มีการเปลี่ยนแปลงเพิ่มเติมในภายหลัง (หรือถ้าคุณทำเช่นนั้นคุณจะต้องตรวจสอบอีกครั้งกับข้อมูลอิสระ) ดังนั้นฉันจะเรียกการตรวจสอบของคุณว่า "ชุดทดสอบภายใน" หรือ "ชุดทดสอบเพิ่มประสิทธิภาพ" ข้อมูลการทดสอบ "outer" ไม่ได้ป้องกันการ overfitting แต่อาจใช้เพื่อวัดขอบเขตการ overfitting
cbeleites รองรับโมนิก้า

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

7

นี่คือวิธีที่คุณสามารถประเมินขนาดของการบรรจุเกิน

  • รับการประเมินข้อผิดพลาดภายใน resubstitutio (= ทำนายข้อมูลการฝึกอบรม) อย่างใดอย่างหนึ่งหรือถ้าคุณทำการข้ามการตรวจสอบความถูกต้องเพื่อเพิ่มประสิทธิภาพพารามิเตอร์ไฮเปอร์พารามิเตอร์การวัดจะเป็นที่สนใจ
  • รับการประเมินข้อผิดพลาดชุดทดสอบอิสระ โดยทั่วไปให้ทำการ resampling ซ้ำ (แนะนำให้ใช้การตรวจสอบความถูกต้องแบบไขว้ซ้ำหรือ out-of-bootstrap * แต่คุณต้องระวังว่าไม่มีการรั่วไหลของข้อมูลเกิดขึ้น Ie การวนซ้ำ resampling ต้องคำนวณขั้นตอนทั้งหมดที่มีการคำนวณที่ครอบคลุมมากกว่าหนึ่งกรณี การประมวลผลขั้นตอนเช่นตรงกลางปรับ ฯลฯ นอกจากนี้ให้แน่ใจว่าคุณแยกในระดับสูงสุดถ้าคุณมี "ลำดับชั้น" (เรียกว่า "คลัสเตอร์) โครงสร้างข้อมูลเช่นวัดซ้ำของผู้ป่วยเช่นเดียวกัน (=> resample ผู้ป่วย )
  • จากนั้นเปรียบเทียบว่าการประมาณข้อผิดพลาด "ภายใน" นั้นดูดีกว่าการประเมินข้อผิดพลาดอิสระเพียงใด

นี่คือตัวอย่าง:
อิง
Trefferrate = อัตราการเข้าชม (% ถูกต้องจำแนก), Variablenzahl = จำนวนของตัวแปร (= ความซับซ้อนของรูปแบบ)
สัญลักษณ์: การเรียกคืนใหม่ + การประมาณการลาแบบตัวต่อตัวออกครั้งเดียวของเครื่องมือเพิ่มประสิทธิภาพพารามิเตอร์มากที่สุด, o การตรวจสอบความถูกต้องของไขว้ภายนอกในระดับผู้ป่วย

สิ่งนี้ใช้ได้กับ ROC หรือการวัดประสิทธิภาพเช่นคะแนนของ Brier ความไวความจำเพาะ ...

* ฉันไม่แนะนำให้. 632 หรือ. 632+ bootstrap ที่นี่: พวกเขาผสมในข้อผิดพลาดในการคืนเงินแล้ว: คุณสามารถคำนวณได้ในภายหลังจากการประเมินการเปลี่ยนคืนและการบูตใหม่


0

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

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