การตรวจสอบข้ามระบบหรือการบูตสแตรปเพื่อประเมินประสิทธิภาพการจัดหมวดหมู่?


24

วิธีการสุ่มตัวอย่างที่เหมาะสมที่สุดในการประเมินประสิทธิภาพของตัวจําแนกในชุดข้อมูลเฉพาะและเปรียบเทียบกับตัวจําแนกอื่น ๆ คืออะไร? การตรวจสอบความถูกต้องไขว้นั้นดูเหมือนจะเป็นแบบมาตรฐาน แต่ฉันได้อ่านวิธีการเช่น. 632 bootstrap เป็นตัวเลือกที่ดีกว่า

การติดตามผล: การเลือกตัวชี้วัดประสิทธิภาพส่งผลกระทบต่อคำตอบหรือไม่ (ถ้าฉันใช้ AUC แทนความแม่นยำ)

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


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

คำตอบ:


42

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

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

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

วรรณกรรม:

  • Kohavi, R .: การศึกษาข้ามการตรวจสอบและเงินทุนสำหรับการประเมินความถูกต้องและโมเดลการคัดเลือกปัญญาประดิษฐ์ดำเนินการตามกฎหมายที่ 14 ร่วมประชุมนานาชาติ 20 - 25 สิงหาคม 1995, มอนทรีออควิเบก, แคนาดา, 1995 1137 - 1145.
    (คลาสสิก )

Dougherty และ Braga-Neto มีสิ่งพิมพ์จำนวนมากในหัวข้อเช่น

ตัวเลือกของการวัด:

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

  • ใช้การทดสอบแบบจับคู่เพื่อประเมินว่า สำหรับการเปรียบเทียบสัดส่วนลองดูที่การทดสอบของ McNemar

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

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

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

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

  • พระครูเอฟและคณะ : กรณีต่อต้านการประมาณความแม่นยำสำหรับการเปรียบเทียบอัลกอริทึมการเหนี่ยวนำในการดำเนินการประชุมนานาชาติครั้งที่สิบห้าเรื่องการเรียนรู้ของเครื่องจักร, 1998


แก้ไข: เปรียบเทียบตัวแยกประเภทหลายรายการ

ฉันเคยคิดเกี่ยวกับปัญหานี้มาระยะหนึ่งแล้ว แต่ยังไม่ได้รับการแก้ไข (ฉันไม่ได้พบใครที่มีวิธีแก้ไข)

นี่คือสิ่งที่ฉันได้รับ:

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


แก้ไข 2: การทดสอบที่จับคู่

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

nn


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

3
(+6) การตอบรับที่ดี
chl

@cbeleites ฉันรักคุณสำหรับความคิดเห็นนี้ สำหรับความสำคัญของการเปรียบเทียบแบบจำลองหลายรูปแบบ - วิธีการวิเคราะห์ความแปรปรวน (ANOVA) เช่น Kruskal – Wallis ?
บังเอิญ

1
@Serendipity: ฉันไม่รู้เกี่ยวกับ Kruskal-Wallis มากพอที่จะให้คำตอบได้ที่นี่ แต่ฉันสงสัยว่าวิธีที่เหมือน ANOVA ไม่ใช่สิ่งที่ต้องการในที่นี้เป็น (1) มันไม่ได้ใช้ธรรมชาติของข้อมูลและ (2) มันได้พลังงานเมื่อเทียบกับการเปรียบเทียบหลายครั้งเพราะสมมติฐานว่างเป็นเพียง "ทุกรุ่น ดำเนินการอย่างเท่าเทียมกัน" - ถ้าที่ปฏิเสธคุณยังไม่ทราบซึ่งอัลกอริทึม (s) ดำเนินการที่แตกต่างกัน ดังนั้นจึงสามารถใช้เพื่อเน้นผลลัพธ์เชิงลบเท่านั้น (ไม่สำคัญว่าอัลกอริทึมใดที่คุณเลือก) ฉันสงสัยว่ามีโซนขนาดใหญ่ที่ ANOVA บอกคุณว่าไม่ใช่ทุกรุ่น ...
cbeleites รองรับโมนิก้า

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

6

คุณต้องแก้ไข bootstrap (.632, .632+) เพียงเพราะงานวิจัยดั้งเดิมใช้กฎการให้คะแนนที่ไม่เหมาะสมซึ่งไม่ต่อเนื่อง (สัดส่วนจำแนกอย่างถูกต้อง) สำหรับคะแนนความแม่นยำอื่น ๆ bootstrap optimism ทั่วไปมีแนวโน้มที่จะทำงานได้ดี สำหรับข้อมูลเพิ่มเติมดูhttp://biostat.mc.vanderbilt.edu/RmS#Studies_of_Methods_Used_in_the_T

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


4

จาก 'แบบจำลองการพยากรณ์ประยุกต์ จอห์นสัน หน้า 78

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

นอกจากนี้เมื่อเลือกตัวเลือกของผลลัพธ์ที่คล้ายกันสองแบบโมเดลที่ตีความได้มากกว่าจะเป็นที่ต้องการโดยทั่วไป เป็นตัวอย่าง (จากข้อความเดียวกัน) โดยใช้ 10 เท่า CV ตัวจําแนก SVM มีการประมาณการความแม่นยํา 75% พร้อมผลลัพธ์ตัวอย่างระหว่าง 66 ถึง 82% พารามิเตอร์เดียวกันถูกใช้ในลักษณนามการถดถอยโลจิสติกที่มีความแม่นยำ 74.9% และช่วงการสุ่มตัวอย่างเดียวกัน ตัวแบบการถดถอยแบบลอจิสติกที่ง่ายกว่าอาจเป็นที่ต้องการเนื่องจากง่ายต่อการตีความผลลัพธ์


4
โปรดทราบว่าความแปรปรวนที่คุณสามารถลดได้โดยการทำซ้ำจำนวนมากของการบูต / การตรวจสอบความถูกต้องข้าม / การทำซ้ำเป็นเพียงส่วนหนึ่งของความแปรปรวนที่มาจากความไม่แน่นอนของแบบจำลองตัวแทน คุณสามารถวัดได้ว่านี่เป็นผลงานสำคัญต่อความแปรปรวนทั้งหมดหรือไม่โดยการตรวจสอบความถูกต้องของข้อมูลแต่ละครั้งในระหว่างการทดสอบแต่ละครั้งดังนั้นความแปรปรวนเนื่องจากขนาดตัวอย่างที่ จำกัด จะไม่ปรากฏขึ้นในการเปรียบเทียบค่าเฉลี่ยของ . สำหรับการจัดประเภท "ยาก" คุณสามารถคำนวณความแปรปรวนเนื่องจากขนาดตัวอย่างที่ จำกัด จากการแจกแจงทวินาม
cbeleites รองรับโมนิก้า

@cbeleites: คุณช่วยอธิบายหน่อยได้ไหมว่าคุณหมายถึง "มันทดสอบแต่ละตัวอย่างทุกครั้งในระหว่างการทดสอบแต่ละครั้งดังนั้นความแปรปรวนเนื่องจากขนาดตัวอย่างที่ จำกัด จะไม่ปรากฏขึ้นในการเปรียบเทียบค่าเฉลี่ยของการตรวจสอบความถูกต้องไขว้ทั้งหมด (การอ้างอิงก็ดีเช่นกัน!) (+1 ชัดเจน)
usεr11852พูดว่า Reinstate Monic

@ usεr11852: แต่ละกรณีจะถูกทดสอบหนึ่งครั้งต่อการดำเนินการตรวจสอบความถูกต้องข้าม ลองนึกภาพผลการเรียกใช้ n_sample xr CV หากเรามีการคาดการณ์ที่เสถียรการทำนาย r ทั้งหมดสำหรับกรณีเดียวกันจะเท่ากัน คือไม่มีความแปรปรวนตามแถว แต่กรณีที่แตกต่างกันอาจได้รับการคาดการณ์ที่แตกต่างกัน (เว้นแต่เราจะมีความแม่นยำ 100% เช่น): เรามีความแปรปรวนตามแนว colums ตอนนี้การประเมินมาตรฐานของการวนข้ามซ้ำ / ซ้ำเพื่อเปรียบเทียบค่าเฉลี่ยของคอลัมน์ สำหรับแบบจำลองที่มีเสถียรภาพสิ่งเหล่านี้จะเหมือนกันแม้ว่าเราจะมีความแปรปรวนตามคอลัมน์นั่นคือระหว่างแต่ละกรณี
cbeleites รองรับ Monica

(หากแบบจำลอง / การทำนายไม่เสถียรเราจะได้รับการทำนายที่แตกต่างกันโดยแบบจำลองตัวแทนที่แตกต่างกันและดูความแปรปรวนตามแถวเช่นกันบวกความแปรปรวนเพิ่มเติมบางส่วนตามคอลัมน์เนื่องจากแต่ละคอลัมน์ใน k-fold CV ครอบคลุม k แบบจำลองตัวแทน ) ดังนั้นสำหรับการวัดความเสถียรของแบบจำลอง / การทำนาย (ใน) อาจจะยิ่งตรงไปตรงกว่าสำหรับความแปรปรวนตามแถวเช่นความแปรปรวนของการทำนายของตัวแบบตัวแทนที่แตกต่างกันในกรณีเดียวกัน
cbeleites รองรับ Monica

1
@cbeleites: ขอบคุณมากสำหรับการชี้แจง ตอนนี้ฉันสามารถชื่นชมจุดที่คุณทำมากขึ้น
usεr11852พูดว่า Reinstate Monic
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.