คุณสามารถ overfit โดยการฝึกอบรมอัลกอริทึมการเรียนรู้โดยใช้ CV / Bootstrap ได้หรือไม่?


34

คำถามนี้อาจเปิดกว้างเกินไปที่จะได้รับคำตอบที่ชัดเจน แต่หวังว่าจะไม่

อัลกอริทึมการเรียนรู้ของเครื่องเช่น SVM, GBM, Random Forest เป็นต้นโดยทั่วไปจะมีพารามิเตอร์อิสระบางอย่างที่นอกเหนือจากกฎของคำแนะนำนิ้วหัวแม่มือจำเป็นต้องปรับจูนให้กับแต่ละชุดข้อมูล โดยทั่วไปจะทำด้วยเทคนิคการสุ่มตัวอย่างใหม่ (bootstrap, CV ฯลฯ ) เพื่อให้พอดีกับชุดของพารามิเตอร์ที่ให้ข้อผิดพลาดในการวางนัยทั่วไปที่ดีที่สุด

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

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

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


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

คำตอบ:


30

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

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

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

GC Cawley และ NLC Talbot ป้องกันการปรับตัวเกินแบบในการเลือกรูปแบบผ่านการกำหนดค่าพารามิเตอร์ไฮเปอร์อย่างสม่ำเสมอ, วารสารการวิจัยการเรียนรู้ของเครื่องจักร, เล่ม 8, หน้า 841-861, เมษายน 2550 ( www )

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

ฉันกำลังเขียนบทความเกี่ยวกับการเลือกแบบจำลองตามการค้นหาแบบกริดในขณะนี้ซึ่งแสดงให้เห็นว่าเป็นไปได้อย่างแน่นอนที่จะใช้กริดที่ดีเกินกว่าที่คุณจะจบลงด้วยแบบจำลองที่ด้อยกว่าแบบจำลองทางสถิติที่เลือกโดยมาก coarser grid (เป็นคำถามใน StackExchange ที่เป็นแรงบันดาลใจให้ฉันมองเข้าไปที่ grid-search)

หวังว่านี่จะช่วยได้

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


ที่สมบูรณ์แบบ! ดูเหมือนว่าเอกสารเหล่านั้นเป็นสิ่งที่ฉันเป็นหลังจากนั้น ขอบคุณสำหรับสิ่งนั้น
Bogdanovist

แจ้งให้เราทราบหากคุณมีคำถามใด ๆ เกี่ยวกับเอกสาร (ผ่านทางอีเมล - ฉันเป็นผู้เขียนคนแรกและที่อยู่อีเมลของฉันอยู่บนกระดาษ)
Dikran Marsupial

@DikranMarsupial คุณแยกแยะความแตกต่างที่มากเกินไปเนื่องจากการเลือกรุ่นและวิธีการสุ่มตัวอย่างที่ไม่ตรงกันระหว่างชุดรถไฟและชุดทดสอบอย่างไร
image_doctor

1
โดยหลักการแล้วการใช้ชุดข้อมูลสังเคราะห์ที่มีความจริงภาคพื้นดินนั้นจะเป็นแบบตรงไปข้างหน้าเนื่องจากไม่มีการสุ่มตัวอย่างที่ไม่ตรงกัน ชุดการฝึกอบรมเป็นเพียงตัวอย่างแบบสุ่มจากการแจกแจงต้นแบบและคุณสามารถประเมินข้อผิดพลาดจากการแจกจ่ายเองแทนที่จะเป็นตัวอย่าง จำกัด สำหรับชุดข้อมูลคำจริงอย่างไรก็ตาม AFAICS ที่ดีที่สุดที่คุณสามารถจัดการได้คือการใช้การสุ่มใหม่และกำหนดเอฟเฟกต์ของการเลือกเกณฑ์การเลือกรุ่นที่เหมาะสมกว่าเกณฑ์การทดสอบ / การฝึกซ้อมแบบสุ่มจำนวนมาก
Dikran Marsupial

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

7

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


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

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

1
แน่นอนว่าความแม่นยำคือการรวมกันของความลำเอียงและความแปรปรวนและการประมาณที่ไม่เอนเอียงกับความแปรปรวนขนาดใหญ่นั้นไม่ดีเท่าตัวประมาณลำเอียงเล็กน้อยที่มีความแปรปรวนเล็กน้อย การประเมินอัตราข้อผิดพลาดแบบ niave คือการออกใหม่และมีอคติขนาดใหญ่ bootstrap 632 และ 632+ ทำงานได้ดีเพราะมันทำงานได้ดีในการปรับค่าไบแอสโดยไม่เพิ่มความแปรปรวนมากนัก นั่นคือเหตุผลสำหรับฟังก์ชั่นการจำแนกเชิงเส้นและฟังก์ชั่นการเลือกปฏิบัติแบบแยกส่วนพวกเขาทำงานได้ดีกว่าการตรวจสอบข้ามรุ่นที่เหลืออยู่ครั้งเดียว
Michael Chernick

ด้วยต้นไม้การจำแนกตระการตา bootstrap ไม่ได้แสดงให้เห็นว่าทำได้ดีกว่า
Michael Chernick

1
บางทีปัญหาอย่างหนึ่งก็คือการปรับให้กระชับมักหมายถึงสิ่งต่าง ๆ ในการเรียนรู้ของเครื่องและสถิติ สำหรับฉันแล้วนักสถิติบางครั้งใช้การปรับให้เหมาะสมมากเกินไปเพื่อหมายถึงแบบจำลองที่มีพารามิเตอร์มากกว่าที่จำเป็นจะถูกใช้แทนที่จะเป็นแบบที่ใกล้ชิดเกินไปกับการสังเกตการณ์ (วัดจากเกณฑ์การฝึกอบรม) ปกติฉันจะใช้ "over-parameterised" ในสถานการณ์นั้นและใช้ "over-fit" เพื่อหมายถึงแบบจำลองนั้นถูกติดตั้งอย่างใกล้ชิดกับการสังเกตด้วยค่าใช้จ่ายของประสิทธิภาพการวางนัยทั่วไป บางทีนี่อาจเป็นที่ที่เราอาจพูดคุยข้ามวัตถุประสงค์?
Dikran Marsupial

4

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

วิธีการมากมายในการจัดการกับความท้าทายของท้องถิ่นขนาดเล็กและพื้นที่การค้นหาที่มีราคาแพงนั้นมีพารามิเตอร์ที่อาจต้องมีการปรับแต่งเช่นวิธีการอบแบบจำลองหรือวิธีการมอนติคาร์โล

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

ในโลกแห่งความจริงฉันสงสัยว่าคุณอาจพบว่าตัวเองอยู่ในขั้นต่ำของท้องถิ่น

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


4

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

แก่นแท้ของปัญหานี้คือนี่ไม่ใช่การเพิ่มประสิทธิภาพที่เข้มงวด - คุณไม่มีกำหนดไว้ในบางโดเมนซึ่งมี extremum อย่างน้อยหนึ่งค่า , พูดและสิ่งที่คุณต้องทำคือค้นหา แต่คุณมีโดยที่มีการกระจายบ้า ๆ บอ ๆ มักจะสุ่มและขึ้นอยู่กับแต่ยังรวมถึงข้อมูลการฝึกอบรมและรายละเอียด CV / bootstrap ของคุณ ด้วยวิธีนี้สิ่งเดียวที่สมเหตุสมผลที่คุณสามารถค้นหาได้คือสเปซย่อยของโดเมนพูดซึ่งค่าทั้งหมดของx x opt f ( x ) + ϵ ϵ x f X เลือกx opt f + ϵf(x)xxoptf(x)+ϵϵxfXoptxoptf+ϵ มีความแตกต่างเล็กน้อย (ถ้าคุณต้องการพูดเชิงสถิติ)

ตอนนี้ในขณะที่คุณไม่สามารถหาในทางปฏิบัติค่าใด ๆ จากจะทำ - และโดยปกติจะเป็นเพียงจุดกริดการค้นหาจากเลือกโดยการสุ่มเพื่อลดภาระการคำนวณเพื่อเพิ่มบางย่อยวัดประสิทธิภาพการทำงานของคุณชื่อมันX การเลือกX การเลือกxoptXoptXoptf

การพลุ่งพล่านอย่างรุนแรงสามารถเกิดขึ้นได้หากภูมิทัศน์มีความคมชัดมาก - แต่สิ่งนี้ "ไม่ควรเกิดขึ้น" นั่นคือลักษณะของอัลกอริธึม / คู่ข้อมูลที่เลือกไม่ดีและการพยากรณ์โรคที่ไม่ดีf

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


4

ใช่พารามิเตอร์สามารถ“ overfitted” ไปยังการฝึกอบรมและชุดทดสอบในระหว่างการทดสอบ crossvalidation หรือ bootstrapping อย่างไรก็ตามมีวิธีการบางอย่างเพื่อป้องกันสิ่งนี้ วิธีการง่าย ๆ แรกคือคุณแบ่งชุดข้อมูลของคุณออกเป็น 3 พาร์ติชั่นหนึ่งสำหรับการทดสอบ (~ 20%), หนึ่งสำหรับการทดสอบพารามิเตอร์ที่ปรับให้เหมาะสม (~ 20%) และอีกวิธีหนึ่งสำหรับการปรับตัวจําแนก เป็นไปได้เฉพาะถ้าคุณมีชุดข้อมูลที่ค่อนข้างใหญ่ ในกรณีอื่น ๆ แนะนำให้ทำการ crossvalidation สองครั้ง

Romain Françoisและ Florent Langrognet, "การตรวจสอบความถูกต้องสองครั้งสำหรับการจำแนกประเภทแบบจำลอง", 2006

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