การตรวจสอบความถูกต้องข้ามของ K-fold กับ Monte Carlo


29

ฉันกำลังพยายามเรียนรู้วิธีการตรวจสอบข้ามหลายวิธีโดยมีความตั้งใจที่จะนำไปใช้กับเทคนิคการวิเคราะห์หลายตัวแปรภายใต้การดูแล สองที่ฉันเจอคือเทคนิคการตรวจสอบข้ามแบบ K-fold และ Monte Carlo ฉันได้อ่านแล้วว่า K-fold เป็นรูปแบบที่เปลี่ยนแปลงของ Monte Carlo แต่ฉันไม่แน่ใจว่าฉันเข้าใจอย่างถ่องแท้ว่าอะไรเป็นตัวกำหนดนิยามของ Monte Carlo ใครช่วยอธิบายความแตกต่างระหว่างสองวิธีนี้ได้ไหม


3
ที่น่าสนใจเป็นไปได้: ความแตกต่างระหว่างการตรวจสอบข้ามและความร่วมมือในการประมาณการข้อผิดพลาดการทำนาย
chl

ฉันจะถูกต้องหรือไม่ถ้าจะบอกว่า Monte Carlo เป็นขนาดสุ่มของชุดการฝึกและทดสอบในขณะที่ k-fold เป็นขนาดที่กำหนดไว้? ฉันได้เห็นหน้าเว็บด้านบนแล้ว แต่ไม่เข้าใจเลยว่าความแตกต่างคืออะไร
เลียม

ฉันคุ้นเคยกับการตรวจสอบความถูกต้องไขว้แบบต่าง ๆ และการตรวจสอบความถูกต้องแบบ out-of-bootstrap แต่ยังไม่เจอคำว่าการตรวจสอบความถูกต้องของ Monte Carlo (ฉันอาจรู้ได้ภายใต้ชื่ออื่น) คุณสามารถลิงค์หรืออ้างถึงคำอธิบายว่าการตรวจสอบไขว้ของ Monte Carlo ทำงานอย่างไร?
cbeleites รองรับ Monica

รายละเอียดการเข้าถึงที่ง่ายและเปิดกว้างของ Monte Carlo อยู่ในวิกิพีเดีย ฉันดูเหมือนจะไม่เห็นความแตกต่างระหว่างวิธี k-fold และ Monte Carlo
เลียม

คำตอบ:


36

k -Fold Cross Validation

สมมติว่าคุณมี 100 จุดข้อมูล สำหรับการตรวจสอบความถูกต้องข้ามของk -fold 100 คะแนนเหล่านี้จะแบ่งออกเป็นkเท่าขนาดเท่ากันและ 'folds' ร่วมกัน แต่เพียงผู้เดียว สำหรับk = 10 คุณอาจกำหนดคะแนน 1-10 เพื่อพับ # 1, 11-20 เพื่อพับ # 2 และอื่น ๆ โดยจบด้วยการกำหนดคะแนน 91-100 เพื่อพับ # 10 ต่อไปเราเลือกหนึ่งเท่าเพื่อทำหน้าที่เป็นชุดทดสอบและใช้k1เท่าที่เหลือเพื่อจัดทำข้อมูลการฝึกอบรม สำหรับการทดสอบครั้งแรกคุณอาจใช้คะแนน 1-10 เป็นชุดทดสอบและ 11-100 เป็นชุดฝึก การทดสอบครั้งต่อไปจะใช้คะแนน 11-20 เป็นชุดทดสอบและฝึกซ้อมที่คะแนน 1-10 บวก 21-100 และต่อ ๆ ไปจนกว่าจะใช้การพับแต่ละครั้งหนึ่งครั้งเป็นชุดทดสอบ

การตรวจสอบความถูกต้องของ Monte-Carlo

Monte Carlo ทำงานค่อนข้างแตกต่าง คุณสุ่มเลือก (โดยไม่มีการแทนที่) ข้อมูลบางส่วนของคุณเพื่อจัดทำชุดการฝึกอบรมจากนั้นกำหนดคะแนนที่เหลือให้กับชุดทดสอบ กระบวนการนี้จะทำซ้ำหลายครั้งสร้างพาร์ติชันใหม่และการทดสอบ (โดยการสุ่ม) ในแต่ละครั้ง ตัวอย่างเช่นสมมติว่าคุณเลือกที่จะใช้ 10% ของข้อมูลของคุณเป็นข้อมูลทดสอบ จากนั้นชุดทดสอบของคุณใน rep # 1 อาจเป็นคะแนน 64, 90 , 63, 42 , 65, 49, 10, 64, 96 และ 48 ในการทดสอบครั้งต่อไปชุดทดสอบของคุณอาจเป็น90 , 60, 23, 67 16, 78, 42 , 17, 73 และ 26 เนื่องจากพาร์ติชันนั้นทำอย่างอิสระสำหรับการวิ่งแต่ละครั้งจุดเดียวกันสามารถปรากฏในชุดทดสอบได้หลายครั้งซึ่งเป็นความแตกต่างที่สำคัญระหว่าง Monte Carlo และการตรวจสอบข้าม

การเปรียบเทียบ

แต่ละวิธีมีข้อดีและข้อเสียของตัวเอง ภายใต้การตรวจสอบความถูกต้องไขว้แต่ละจุดจะได้รับการทดสอบหนึ่งครั้งซึ่งดูเหมือนว่ายุติธรรม อย่างไรก็ตามการตรวจสอบความถูกต้องไขว้สำรวจเพียงไม่กี่วิธีที่เป็นไปได้ที่ข้อมูลของคุณอาจได้รับการแบ่งพาร์ติชัน Monte Carlo ช่วยให้คุณสำรวจพาร์ทิชันที่เป็นไปได้ค่อนข้างมากแม้ว่าคุณจะไม่ได้รับพาร์ติชั่นทั้งหมด - มีวิธีที่เป็นไปได้ที่ 50/50 แยกจุดข้อมูล 100 จุด ชุด (!)(10050)1028

หากคุณกำลังพยายามที่จะอนุมาน (เช่นการเปรียบเทียบอัลกอริธึมสองสถิติ) การเฉลี่ยผลของการตรวจสอบความถูกต้องข้าม -fold จะทำให้คุณได้รับการประเมินประสิทธิภาพของอัลกอริทึมที่เกือบจะเป็นกลาง แต่มีความแปรปรวนสูง คาดหวังว่าจะมีเพียง 5 หรือ 10 จุดข้อมูล) โดยหลักการแล้วคุณสามารถรันมันได้นานเท่าที่คุณต้องการ / สามารถจ่ายได้การตรวจสอบข้าม Monte Carlo สามารถทำให้คุณมีตัวแปรน้อยลง แต่การประเมินแบบเอนเอียงมากขึ้นk

วิธีการบางอย่างหลอมรวมทั้งสองเช่นเดียวกับในการตรวจสอบข้าม 5x2 (ดูDietterich (1998)สำหรับความคิดแม้ว่าฉันคิดว่ามีการปรับปรุงเพิ่มเติมบางอย่างตั้งแต่นั้นมา) หรือโดยการแก้ไขอคติ (เช่นNadeau และ Bengio, 2003 ) .


2
มีคนถามผ่านคิวการแก้ไขที่แนะนำไม่ว่าจะดำเนินการด้วย Monte Carlo โดยมีหรือไม่มีการทดแทน สำหรับการวิ่ง Monte Carlo แต่ละครั้งชุดการฝึกอบรมและการทดสอบจะถูกวาดโดยไม่มีการแทนที่ (เช่นแต่ละจุดจะถูกกำหนดเพียงหนึ่งครั้งให้กับรถไฟหรือชุดทดสอบ) อย่างไรก็ตามการรันจะทำอย่างอิสระดังนั้นตัวอย่างที่กำหนดสามารถแสดงในชุดเดียวกันหลาย ๆ ครั้ง นี่เป็นข้อแตกต่างที่สำคัญระหว่างการตรวจสอบความถูกต้องของ Monte Carlo และ k-fold!
Matt Krause

13

สมมุติว่าคือขนาดของชุดข้อมูล, คือจำนวนของชุดย่อย ,คือขนาดของชุดฝึกอบรมและคือขนาดของชุดการตรวจสอบ ดังนั้นสำหรับการตรวจสอบความถูกต้องข้ามของและสำหรับการตรวจสอบความถูกต้องข้ามของ Monte CarloNkkntnvN=k×nvkN=nt+nv

k -fold cross-validation (kFCV) แบ่งจุดข้อมูลออกเป็นส่วนย่อยพิเศษที่มีขนาดเท่ากัน จากนั้นกระบวนการจะทำให้ชุดย่อยชุดใดชุดหนึ่งเป็นชุดการตรวจสอบความถูกต้องและฝึกใช้ชุดย่อยที่เหลืออยู่ กระบวนการนี้ทำซ้ำครั้งโดยละหนึ่งส่วนย่อยในแต่ละครั้ง ขนาดของสามารถอยู่ในช่วงตั้งแต่ถึง (เรียกว่าการตรวจสอบความถูกต้องแบบ cross-one-out) ผู้เขียนใน [2] แนะนำให้ตั้งค่าหรือ10NkkkkkN2k=Nk=510

การตรวจสอบข้าม Monte Carlo (MCCV) แยกจุดข้อมูลออกเป็นสองชุดย่อยและ โดยการสุ่มตัวอย่างโดยไม่ต้องเปลี่ยนจุดข้อมูลแบบจำลองนั้นได้รับการฝึกอบรมเกี่ยวกับชุดย่อยและตรวจสอบความถูกต้องในชุดย่อย . มีชุดการฝึกอบรมที่ไม่ซ้ำกันชุด แต่ MCCV หลีกเลี่ยงความจำเป็นในการเรียกใช้การทำซ้ำหลาย ๆ ชุด จาง [3] แสดงว่าการเรียกใช้ MCCV สำหรับการทำซ้ำมีผลลัพธ์ใกล้เคียงกับการตรวจสอบความถูกต้องของชุดการฝึกอบรมที่ไม่ซ้ำกันทั้งหมด มันควรจะสังเกตว่าวรรณกรรมขาดการวิจัยสำหรับ N. ขนาดใหญ่ Nntnvntntnv(Nnt)N2(Nnt)

การเลือกและส่งผลต่อการแลกเปลี่ยนอคติ / ความแปรปรวน ใหญ่กว่าหรือก็จะยิ่งต่ำลงและความแปรปรวนก็จะยิ่งสูงขึ้น ชุดการฝึกอบรมที่ใหญ่กว่าจะมีความคล้ายคลึงกันระหว่างการทำซ้ำดังนั้นจึงเหมาะสมกับข้อมูลการฝึกอบรมมากกว่า ดู [2] สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสนทนานี้ อคติและความแปรปรวนของ kFCV และ MCCV จะแตกต่างกัน แต่อคติของทั้งสองวิธีที่สามารถทำเท่ากันโดยการเลือกระดับที่เหมาะสมของและn_tค่าของอคติและความแปรปรวนสำหรับทั้งสองวิธีแสดงใน [1] (บทความนี้อ้างถึง MCCV เป็นแบบทดสอบการเรียนรู้ซ้ำ ๆ )kntkntknt


[1] Burman, P. (1989) การศึกษาเปรียบเทียบการตรวจสอบความถูกต้องข้ามแบบปกติ, การตรวจสอบความถูกต้องแบบครอสและวิธีการทดสอบแบบจำลองซ้ำ Bometrika 76 503-514v

[2] Hastie, T. , Tibshirani, R. และ Friedman, J. (2011) องค์ประกอบของการเรียนรู้ทางสถิติ: การทำเหมืองข้อมูลการอนุมานและการทำนาย ประการที่สอง นิวยอร์ก: สปริงเกอร์

[3] จาง, P. (1993) การเลือกรูปแบบผ่านการตรวจสอบข้าม Muiltfold แอน สถิติ 21 299–313


7

อีกสองคำตอบนั้นยอดเยี่ยมฉันจะเพิ่มรูปภาพสองรูปและคำเหมือนหนึ่งคำ


การตรวจสอบความถูกต้องข้าม K-fold (kFCV):

ป้อนคำอธิบายรูปภาพที่นี่

การตรวจสอบข้ามแบบ Monte Carlo (MCCV) = การตรวจสอบความถูกต้องการสุ่มตัวอย่างย่อยแบบสุ่มซ้ำ (RRSSV):

ป้อนคำอธิบายรูปภาพที่นี่


อ้างอิง:

รูปภาพมาจาก (1) ( หน้า 64 และ 65 ) และคำพ้องความหมายถูกกล่าวถึงใน (1) และ (2)

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