จะรู้ได้อย่างไรว่าตัวแบบเริ่มขึ้นแล้ว?


12

ฉันหวังว่าข้อความที่ตัดตอนมาต่อไปนี้จะให้ข้อมูลเชิงลึกเกี่ยวกับสิ่งที่คำถามของฉันจะเป็น เหล่านี้มาจากhttp://neuralnetworksanddeeplearning.com/chap3.html

การเรียนรู้จะค่อยๆช้าลง ในที่สุดเมื่อประมาณ 280 ยุคความแม่นยำในการจัดหมวดหมู่ก็ค่อนข้างดีขึ้น หลังจากนั้นก็เห็นความผันผวนเล็ก ๆ ใกล้เคียงกับค่าความถูกต้องที่ยุค 280 ตัดกันสิ่งนี้กับกราฟก่อนหน้าซึ่งค่าใช้จ่ายที่เกี่ยวข้องกับข้อมูลการฝึกอบรมยังคงลดลงอย่างราบรื่น หากเราเพียงแค่ดูค่าใช้จ่ายนั้นปรากฏว่าโมเดลของเรายังคง "ดีขึ้น" แต่ผลการทดสอบความแม่นยำแสดงว่าการปรับปรุงเป็นภาพลวงตา เช่นเดียวกับรุ่นที่ Fermi ไม่ชอบสิ่งที่เครือข่ายของเราเรียนรู้หลังจากยุค 280 ไม่ได้สรุปข้อมูลการทดสอบอีกต่อไป ดังนั้นการเรียนรู้จึงไม่มีประโยชน์ เราบอกว่าเครือข่ายกำลัง overfitting หรือ overtraining เกินยุค 280

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

เราสามารถเห็นได้ว่าค่าใช้จ่ายในข้อมูลการทดสอบเพิ่มขึ้นจนถึงราว ๆ ยุค 15 แต่หลังจากนั้นมันก็เริ่มแย่ลงถึงแม้ว่าค่าใช้จ่ายในข้อมูลการฝึกอบรมจะดีขึ้นเรื่อย ๆ นี่เป็นอีกสัญญาณว่าโมเดลของเรากำลัง overfitting มันเป็นปริศนาที่ว่าเราควรพิจารณายุค 15 หรือยุค 280 ว่าเป็นจุดที่ overfitting กำลังเข้าครอบงำการเรียนรู้หรือไม่ จากมุมมองของภาคปฏิบัติสิ่งที่เราใส่ใจคือการปรับปรุงความถูกต้องในการจัดหมวดหมู่ของข้อมูลการทดสอบในขณะที่ค่าใช้จ่ายในข้อมูลการทดสอบไม่เกินพร็อกซีสำหรับความแม่นยำในการจำแนกประเภท ดังนั้นจึงเป็นเรื่องที่สมเหตุสมผลที่จะคำนึงถึงยุค 280 ว่าเป็นเรื่องที่เกินความจริงที่ครอบงำการเรียนรู้ในเครือข่ายประสาทของเรา

ตรงข้ามกับความถูกต้องของการจัดหมวดหมู่ของข้อมูลการทดสอบเทียบกับค่าฝึกอบรมก่อนหน้านี้ตอนนี้เรากำลังวางข้อมูลการทดสอบเทียบกับค่าฝึกอบรม

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

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


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

คุณหมายถึงอะไรโดย 'ตัดสินใจด้วยความมั่นใจต่ำ'
ตั๊กแตน

@Grasshopper ให้เราบอกว่าแบบจำลองพยายามทำนายหนึ่งใน 4 คลาส {A, B, C, D} ฉลากข้อมูลทดสอบ (ตามลำดับ) คือ (A, B, C, D) ตอนนี้ในตัวอย่างหนึ่งแบบจำลองความน่าจะเป็น (ฉันจะติดฉลากการทำนายตาม) ((0.28, 0.24, 0.24, 0.24) (A), (0.24,0.28,0.24,0.24) (B), (0.24,0.24, 0.28,0.24) (C), (0.24,0.24,0.24,0.28) (D)) และอีกแบบโยน ((1,0,0,0) (A), (0,1,0,0) (B), (0.24,0.26,0.25,0.25) (B), (0,0,0,1) (D)) สิ่งที่ฉันหมายถึงโดยความมั่นใจต่ำเป็นตัวอย่างแรก โปรดทราบความถูกต้องของการจำแนกประเภทคือ 100% ในตัวอย่างแรกและยังมีค่าใช้จ่ายสูงกว่า
Nitin Siwach

@Grasshopper สรุป อินสแตนซ์แรกของแบบจำลองถูกสร้างขึ้นหลังจาก 280 ยุค (อ้างอิงจากคำถามที่ถาม) และอินสแตนซ์ที่สองของแบบจำลองถูกสร้างขึ้นหลังจาก 15 ยุค ตอนนี้หนังสือเล่มนี้จะแนะนำยุคที่ 280 ว่าเป็นจุดเริ่มต้นของการกระชับ ฉันพบว่ามันยากที่จะกลืนมัน ความช่วยเหลือหรือความคิดใด ๆ ที่คุณสามารถให้ความชื่นชม
Nitin Siwach

คำตอบ:


6

สมมติว่าเราต้องการทำนายว่านักเรียนจะสัมภาษณ์งานตามประวัติส่วนตัวของเธอหรือไม่

ตอนนี้สมมติว่าเราฝึกแบบจำลองจากชุดข้อมูล 10,000 เรซูเม่และผลลัพธ์ที่ได้

ต่อไปเราลองแบบจำลองบนชุดข้อมูลดั้งเดิมและคาดการณ์ผลลัพธ์ด้วยความแม่นยำ 99% …ว้าว!

แต่ตอนนี้ข่าวร้ายมา

เมื่อเรารันโมเดลบนชุดข้อมูลใหม่ (“ ที่มองไม่เห็น”) ของเรซูเม่เราจะได้รับความแม่นยำ 50% เท่านั้น… uh-oh!

โมเดลของเราไม่ได้พูดคุยกันจากข้อมูลการฝึกอบรมของเราไปจนถึงข้อมูลที่มองไม่เห็น

สิ่งนี้เรียกว่า overfitting และเป็นปัญหาทั่วไปในการเรียนรู้ของเครื่องและวิทยาศาสตร์ข้อมูล

การทำ V / s มากเกินไป

เราสามารถเข้าใจ overfitting ได้ดีขึ้นโดยดูที่ปัญหาตรงข้าม underfitting

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

ผู้เรียนเรียบง่ายมีแนวโน้มที่จะมีความแปรปรวนน้อยกว่าในการทำนายของพวกเขา แต่มีอคติต่อผลลัพธ์ที่ผิด (ดู: The Bias-Variance Tradeoff)

ในทางตรงกันข้ามผู้เรียนที่ซับซ้อนมักจะมีความแปรปรวนมากขึ้นในการทำนายของพวกเขา

ทั้งอคติและความแปรปรวนเป็นรูปแบบของการทำนายความผิดพลาดในการเรียนรู้ของเครื่อง

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

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


2

สิ่งที่ฉันได้เรียนรู้วิธีที่ยากคือการวางแผนการเรียนรู้เส้นโค้งฉันรู้ว่ามันไม่สนุกเท่าการเขียนรหัสการเรียนรู้ของเครื่องต่อ se แต่มันเป็นพื้นฐานในการเข้าใจสิ่งที่เกิดขึ้นทางสายตา

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

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

หวังว่ามันจะช่วย


2

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


0

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

ปัญหาที่ไม่เหมาะสมเช่นเดียวกับการบรรจุเกินมีปัญหาสองอย่างที่เกี่ยวข้องโดยตรงกับปัญหาความแปรปรวน มันเป็นสิ่งสำคัญเสมอที่จะเข้าใจความสัมพันธ์ระหว่างปัจจัยที่แตกต่างกันสามประการและวิธีที่ปัจจัยเหล่านี้เชื่อมต่อกับปัญหาความเอนเอียง (overfitting - under-fitting):

1 - ขนาดของรุ่น จำนวนพารามิเตอร์

2 - จำนวนข้อมูลที่มีสำหรับการฝึกอบรม จำนวนตัวอย่างการฝึกอบรม

3- จำนวนการวนซ้ำ ซ้ำการฝึกอบรม

การเชื่อมต่อโดยตรงระหว่างปัจจัยใด ๆ เหล่านี้กับปัญหา overfitting - under-fitting โดยไม่มองที่คนอื่น ๆ จะนำไปสู่ข้อสรุปที่ผิด

เนื่องจากการทำความเข้าใจปัจจัยเหล่านี้และการเชื่อมโยงชุดรูปแบบโดยใช้สมการทางคณิตศาสตร์เพื่อหลีกเลี่ยงปัญหาการ overfitting และ under-fitting เป็นงานที่ยากยิ่งกว่านั้นมันขึ้นอยู่กับงานคนใช้วิธีการง่าย ๆ ในการค้นหาและหลีกเลี่ยงการ overfitting วิธีที่ง่ายคือการแบ่งข้อมูลออกเป็นสามส่วนต่าง ๆ การฝึกอบรมการตรวจสอบและการทดสอบ ไม่ควรสัมผัสการทดสอบ ใช้ชุดการฝึกอบรมเพื่อฝึกอบรมเครือข่ายและชุดการตรวจสอบความถูกต้องเพื่อทดสอบเครือข่ายหลังจากการทำซ้ำแต่ละครั้งหรือเป็นจำนวนซ้ำ ในทางทฤษฎีคุณจะเห็นว่าข้อผิดพลาดในชุดการตรวจสอบความถูกต้องลดลงเรื่อย ๆ สำหรับการวนซ้ำ N ครั้งแรกและจากนั้นจะมีเสถียรภาพสำหรับการวนซ้ำน้อยมากจากนั้นเริ่มเพิ่มขึ้น เมื่อข้อผิดพลาดเริ่มเพิ่มขึ้นเครือข่ายของคุณจะเริ่มทำการ overfitting ข้อมูลการฝึกอบรมและกระบวนการฝึกอบรมควรหยุด

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


คุณได้กล่าวว่า "ในทางทฤษฎีคุณจะเห็นว่าข้อผิดพลาดในชุดการตรวจสอบลดลงเรื่อย ๆ สำหรับการทำซ้ำ N ครั้งแรกจากนั้นจะมีเสถียรภาพสำหรับการทำซ้ำน้อยมากแล้วเริ่มเพิ่มขึ้น" คุณหมายถึงอะไรผิดพลาดที่นี่ นั่นคือปัญหาที่ฉันได้ถามมา คำตอบคือ 15 ถ้าฉันใช้ต้นทุนเป็นตัวชี้วัดของข้อผิดพลาดและ 280 ถ้าฉันใช้ความแม่นยำในการจัดหมวดหมู่เป็นตัวชี้วัดข้อผิดพลาด
Nitin Siwach

โปรดทราบการแก้ไขในความคิดเห็นข้างต้น: คำตอบที่เมื่อ overfitting ได้เริ่มขึ้นคือยุค 15 ถ้าฉันใช้ค่าใช้จ่ายเป็นตัวชี้วัดของข้อผิดพลาดและยุค 280 ถ้าฉันใช้ความถูกต้องจำแนกเป็นวัดของข้อผิดพลาด
Nitin Siwach

ข้อผิดพลาดในชุดการตรวจสอบความถูกต้อง
Bashar Haddad

และการวัดความผิดพลาดนั้นคืออะไร? (100 - ความแม่นยำการจำแนก) หรือค่าใช้จ่าย ฉันเข้าใจข้อผิดพลาดในชุดการตรวจสอบความถูกต้องหมายถึงการเชื่อมต่อกับความถูกต้องของการจัดประเภท แต่นั่นคือสิ่งที่ฉันขอ ทำไมไม่มีค่าใช้จ่าย? โปรดอ้างอิงถึงความคิดเห็นที่ฉันได้ทำเพื่อตอบสนองต่อตั๊กแตนตามคำถามเดิม
Nitin Siwach
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.