ทำความเข้าใจกับการบูตสแตรปสำหรับการตรวจสอบความถูกต้องและการเลือกรุ่น


13

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

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

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

แก้ไข:ดูกระทู้นี้และคำตอบโดย @ mark999 สำหรับบริบทเพิ่มเติมหลังคำถามนี้


@suncoolsu ถ้าฉันมีรุ่น A, B และ C ให้เลือกฉันมักจะใช้ cross validation หรือ bootstrapping เพื่อเลือกรุ่นเมื่อ 1) ฉันสนใจทำนายความถูกต้อง / การจัดอันดับและ 2) ฉันไม่มีข้อมูลเพียงพอสำหรับการระงับ ชุดการตรวจสอบความถูกต้อง เหตุใดจึงไม่เป็นความคิดที่ดี (และฉันรู้ว่าการตรวจสอบความซ้อนกันมีความสำคัญสำหรับการเลือกคุณสมบัติ ฯลฯ )
B_Miner

คำตอบโดย @ mark999 ในชุดข้อความนี้จะแนะนำการตรวจสอบความถูกต้องของ bootstrap เพื่อเป็นวิธีการเรียนรู้แบบจำลองบนชุดข้อมูลแบบเต็มในขณะที่ยังคงรับมือกับการโอเวอร์โหลด คำตอบนั้นเป็นสิ่งที่สร้างแรงบันดาลใจให้กับคำถามนี้และคำถามต้นฉบับในหัวข้อนั้นควรเพิ่มบริบทให้กับคำถามนี้
Amelio Vazquez-Reina

1
ฉันขอโทษ - อาจเป็นเพราะฉันเป็นนักสถิติ - แต่ฉันคิดว่าการตรวจสอบความถูกต้องและการบู๊ตเป็นสองสิ่งที่แตกต่างกัน การตรวจสอบข้ามเป็นสิ่งที่ดีและต้องทำ (และบูตด้วย) แต่ถ้าคุณอยู่ในสถานการณ์เช่นเลือกระหว่าง A, B, C (สามรุ่นเท่านั้น) BIC อาจเป็นตัวเลือกที่ดีกว่า ดังที่ฉันได้กล่าวไปแล้ววิธีการแก้ปัญหานั้นขึ้นอยู่กับปัญหาในมือและหลายวิธีอาจเหมาะสม
suncoolsu

2
โดยทั่วไปแล้ว AIC จะให้ผลตอบแทนต่ำกว่า BIC
Frank Harrell

คำตอบ:


14

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

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

หากใช้ resampling (bootstrap หรือ cross-validation) เพื่อเลือกพารามิเตอร์การปรับแต่งโมเดลและเพื่อประเมินโมเดลคุณจะต้องใช้ bootstrap หรือ double-validation ซ้อนกัน

โดยทั่วไป bootstrap ต้องการรุ่นที่พอดีน้อยกว่า (มักจะประมาณ 300) กว่าการตรวจสอบความถูกต้องข้าม (การตรวจสอบความถูกต้องแบบ 10 เท่าจะต้องทำซ้ำ 50-100 ครั้งเพื่อความเสถียร)

การศึกษาแบบจำลองบางอย่างอาจพบได้ที่http://biostat.mc.vanderbilt.edu/rms


2
ว้าวฉันไม่รู้ว่าควรทำซ้ำ CV 10 เท่า 50-100 ครั้ง! ฉันจะต้องทบทวนโครงการสุดท้ายของฉันอีกครั้งและลองทดสอบ bootstrap แทน รักเว็บไซต์นี้: ฉันเรียนรู้ทุกวัน!
เวย์น

ขอบคุณ @ Frank! สมมติว่าฉันมีชุดของตัวแบบผู้สมัครที่มี # ของพารามิเตอร์เหมือนกันผู้ที่มีความแปรปรวนต่ำกว่าในการประมาณค่า bootstrap จะดีกว่าผู้สมัคร (สมมติว่าการสูญเสียหรือความเสี่ยงโดยรวมนั้นเหมือนกันสำหรับพวกเขาทั้งหมด)
Amelio Vazquez-Reina

ฉันไม่คิดว่ามันจะเป็นไปได้
Frank Harrell

คำตอบที่ดีขอบคุณ! ฉันไม่รู้ว่า bootstrap สามารถใช้สำหรับการตรวจสอบความถูกต้องของรูปแบบและการตรวจสอบความถูกต้องได้หลายครั้ง ฉันเห็นข้อได้เปรียบอื่นของวิธีนี้: การตรวจสอบความถูกต้องต้องมีการกำหนดจำนวนการพับ (ใจ) ก่อนโดยทั่วไปคือ 10 ซึ่งเป็นวิธีแก้ปัญหามากกว่าหรือน้อยกว่าที่ดีที่สุด แต่ในขณะนี้เป็นวิธีที่ดีทำไมมันไม่เป็นที่นิยมในการตรวจสอบข้าม?
SiXUlm

การตรวจสอบรูปแบบ Bootstrap เป็นที่นิยมพอสมควร แต่การตรวจสอบความถูกต้องไขว้นั้นมีความยาวกว่า แต่อย่างที่คุณบอกว่ามีความเด็ดขาดในการเลือก # folds ใน cv
Frank Harrell

3

พิจารณาใช้บูตสำหรับรุ่นเฉลี่ย

กระดาษด้านล่างนี้สามารถช่วยได้เมื่อเปรียบเทียบวิธีการเฉลี่ยแบบจำลองบูตสแตรปกับ (โดยทั่วไปใช้มากขึ้นหรือไม่?) การสร้างแบบจำลองแบบเบย์เฉลี่ยและวางสูตรการแสดงค่าเฉลี่ยของแบบจำลอง

แบบจำลองการบูตโดยเฉลี่ยในการศึกษาอนุกรมเวลาของมลพิษทางอากาศของอนุภาคและการเสียชีวิต


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

@ Frank Harrell - เห็นด้วย กระดาษที่ฉันอ้างถึงนำไปใช้กับพื้นที่ที่ฉันทำงานในบางครั้งและฉันได้ใช้ bootstrap สำหรับสถานการณ์ที่คุณระบุ: การประเมินความแปรปรวนของรูปแบบเฉพาะเนื่องจากข้อผิดพลาดการสุ่มตัวอย่าง แต่ความไม่แน่นอนเนื่องจากการเลือกรูปแบบเองนั้นยากกว่าการประเมินและวิธีการหาค่าเฉลี่ยแบบจำลองบูตสแตรปอาจมีประโยชน์ในการช่วยเหลือโดยเฉพาะอย่างยิ่งสำหรับผู้ปฏิบัติงานเช่นตัวฉันเองที่ขาดประสบการณ์ / ภูมิหลังในการปฏิรูปปัญหา
Josh Hemann

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

จุดที่ดีเกี่ยวกับ bootstrap คู่ ผู้เขียนบทความที่ฉันอ้างถึงมีกระดาษติดตามเกี่ยวกับเรื่องนี้: รูปแบบBootstrap-after-Bootstrap โดยเฉลี่ยสำหรับการลดความไม่แน่นอนของแบบจำลองในการเลือกแบบจำลองสำหรับการศึกษาการเสียชีวิตจากมลพิษทางอากาศ
Josh Hemann

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