กระบวนการสำหรับ“ การตรวจสอบ bootstrap” (aka“ resampling cross-validation”) คืออะไร?


15

"การตรวจสอบความถูกต้อง Bootstrap" / "การตรวจสอบความถูกต้องแบบข้ามภาพ" เป็นสิ่งใหม่สำหรับฉัน แต่ได้มีการพูดคุยกันโดยคำตอบของคำถามนี้ ฉันรวบรวมมันประกอบด้วยข้อมูล 2 ประเภท: ข้อมูลจริงและข้อมูลจำลองที่ชุดข้อมูลจำลองที่กำหนดถูกสร้างขึ้นจากข้อมูลจริงโดยการสุ่มใหม่พร้อมเปลี่ยนใหม่จนกระทั่งข้อมูลจำลองมีขนาดเท่ากับข้อมูลจริง ฉันสามารถคิดถึงวิธีการสองแบบในการใช้ชนิดข้อมูลดังกล่าว: (1) ปรับโมเดลให้เหมาะสมครั้งเดียวประเมินมันหลายครั้งในชุดข้อมูลจำลองจำนวนมาก (2) ปรับโมเดลให้เหมาะสมหลายครั้งโดยใช้ชุดข้อมูลจำลองจำนวนมากแต่ละชุดแต่ละครั้งประเมินกับข้อมูลจริง อันไหนดีกว่ากัน?

คำตอบ:


20

คำตอบสั้น ๆ : เทคนิคการตรวจสอบทั้งสองเกี่ยวข้องกับการฝึกอบรมและการทดสอบหลายรุ่น

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

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

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

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

  2. มุมมองที่สองคือชุดข้อมูลที่ resampled เป็นรุ่นที่รบกวนของชุดข้อมูลทั้งหมด ตรวจสอบว่าแบบจำลองตัวแทน (หรือการทำนายของพวกเขาสำหรับตัวอย่างซ้าย - ออก / oob) แตกต่างจากทั้งข้อมูลแบบจำลองแล้วบอกบางสิ่งเกี่ยวกับความมั่นคงแบบที่เกี่ยวกับข้อมูลการฝึกอบรม
    จากมุมมองนี้โมเดลตัวแทนก็เหมือนกับการวัดซ้ำ สมมติว่างานของคุณคือการวัดเนื้อหาของแร่บางส่วนของขบวนรถไฟทั้งหมด แร่นั้นไม่เป็นเนื้อเดียวกัน ดังนั้นคุณต้องสุ่มตัวอย่างทางกายภาพจากสถานที่ต่าง ๆ จากนั้นดูเนื้อหาโดยรวมและความหลากหลายของมันในรถไฟ ในทำนองเดียวกันถ้าคุณคิดว่าแบบจำลองของคุณอาจไม่เสถียรคุณสามารถดูประสิทธิภาพโดยรวมและการเปลี่ยนแปลงของแบบจำลองตัวแทน

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

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

Bootstrap เทียบกับคำศัพท์การตรวจสอบข้าม :

  • การ resampling พร้อมการแทนที่มักเรียกว่า bootstrap
  • การสุ่มใหม่โดยไม่มีการแทนที่การตรวจสอบความถูกต้องข้าม

ทั้งสองสามารถมีการแบ่งชั้นบางชนิด ในอดีตการแยกเพื่อการตรวจสอบความถูกต้องของข้อมูล (อย่างน้อยก็ในวิชาเคมี) มักจะทำแบบไม่สุ่มเช่นการตรวจสอบความถูกต้องแบบข้าม 3 เท่าของแบบฟอร์ม abcabc..abc (ชุดข้อมูลเรียงลำดับ WRT ผลลัพธ์) สำหรับการสอบเทียบ / การถดถอยถ้าคุณมีกรณีน้อยมาก (ตัวอย่างทางกายภาพ) และคุณต้องการตรวจสอบให้แน่ใจว่าช่วงข้อมูลทั้งหมดของคุณครอบคลุม

เทคนิคทั้งสองนั้นมักจะทำซ้ำ / ซ้ำหลายครั้ง อีกครั้งด้วยเหตุผลทางประวัติศาสตร์และอย่างน้อยในวิชาเคมี, การตรวจสอบข้าม k-fold มักจะหมายถึงการฝึกอบรมและการทดสอบแบบจำลอง k (แต่ละทดสอบด้วย 1 / kth ของข้อมูลที่ไม่ได้เกี่ยวข้องกับการฝึกอบรม) หากมีการแบ่งการสุ่มแบบสุ่มซ้ำผู้คนเรียกว่าการตรวจสอบข้ามซ้ำ

kknnn

  • โปรดทราบว่า bootstrap นั้นไม่เหมาะสำหรับเทคนิคการปรับแบบบางอย่างที่จะลบการวัดซ้ำออกไป
  • มีบางรุ่นของ bootstrap เช่น. 632-bootstrap และ. 632 + -bootstrap

kk


คำตอบที่ยาวดี
Momo

(+1) มุมมองที่ดี ฉันค่อนข้างมั่นใจว่าคำว่าตัวแทนจะติดอยู่
steffen

@steffen ขอบคุณ ฉันไม่ได้เป็นนักประดิษฐ์ของคำ ฉันคิดว่าฉันพบกันครั้งแรกในกระดาษของ U. Braga-Neto (อาจเป็นหนึ่งในนี้: ncbi.nlm.nih.gov/pubmed/14960464 ) แต่ฉันมั่นใจทันทีในคำว่า ...
cbeleites รองรับ Monica

เกี่ยวกับข้อสังเกตในคำถามเกี่ยวกับข้อมูลจำลอง bootstrap ต่อ se ไม่เกี่ยวข้องกับข้อมูลจำลอง ข้อมูลจำลองจะใช้เป็นวิธีการประเมินว่าวิธีบูตสแตรปทำงานกับปัญหาเฉพาะหรือไม่ แต่ bootstrap นั้นเป็นเพียงการนำข้อมูลกลับมาใช้ใหม่ตามตัวอย่าง bootstrap ตัวอย่างที่เลือกโดยการสุ่มโดยแทนที่จากชุดข้อมูลดั้งเดิม เรื่องนี้มักเกี่ยวข้องกับการ resamples n โดยที่ n คือขนาดของตัวอย่างดั้งเดิม Monte Carlo เข้าสู่วิธีประมาณการกระจาย bootstrap โดยการสร้างตัวอย่าง bootstrap บนคอมพิวเตอร์
Michael R. Chernick

3

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

  1. วาดชุดฝึกอบรมการสังเกตการณ์ N จากข้อมูลต้นฉบับ (ขนาด N) ด้วยการแทนที่
  2. จัดวางโมเดลให้สอดคล้องกับข้อมูลการฝึกอบรม
  3. ประเมินโมเดลของตัวอย่าง out-of-bag (oob)

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

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

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

ดูเช่นการออกแบบและวิเคราะห์การทดลองเปรียบเทียบ

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