การใช้การตรวจสอบข้ามแบบซ้อน


14

หน้า Scikit Learn เกี่ยวกับการเลือกแบบจำลองกล่าวถึงการใช้การตรวจสอบความถูกต้องแบบซ้อน:

>>> clf = GridSearchCV(estimator=svc, param_grid=dict(gamma=gammas),
  ...                    n_jobs=-1)  
>>> cross_validation.cross_val_score(clf, X_digits, y_digits)

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

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

นอกจากนี้ฉันไม่สามารถรับค่า clf ที่ดีที่สุดจากcross_validation.cross_val_score(clf, X_digits, y_digits)ขั้นตอน คุณช่วยกรุณาแนะนำวิธีการที่สามารถทำได้?

คำตอบ:


18

GC Cawley และ NLC Talbot, การเลือกรุ่นที่มากเกินไปและความลำเอียงในการเลือกการประเมินผลการปฏิบัติงาน, วารสารการวิจัยการเรียนรู้ของเครื่องจักร, การวิจัย 2010, บทที่ 11, pp. 2079-2107, กรกฎาคม 2010 ( http://jmlr.org/papers/volume11/cawley10a/cawley10a.pdf )

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


5

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

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

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