Overfitting และ Underfitting


20

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

อะไรคือสาเหตุหลักของการทำ overfitting และ underfitting?

ทำไมเราต้องเผชิญกับปัญหาทั้งสองนี้ในการฝึกอบรมนางแบบ?


คำตอบ:


30

ฉันจะพยายามตอบด้วยวิธีที่ง่ายที่สุด ปัญหาแต่ละข้อนั้นมีต้นกำเนิดของตนเอง:

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

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

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

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

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

บรรทัดล่างคือเราต้องเผชิญกับปัญหาเหล่านี้เพราะ:

  • เราไม่มีข้อมูลที่สมบูรณ์
  • เราไม่รู้ว่าข้อมูลนั้นมีเสียงรบกวนแค่ไหน (เราไม่รู้ว่าเราควรไว้ใจมันมากแค่ไหน)
  • เราไม่ทราบล่วงหน้าเกี่ยวกับฟังก์ชั่นพื้นฐานที่สร้างข้อมูลของเราและทำให้ความซับซ้อนของโมเดลเหมาะสมที่สุด

2
ยินดีต้อนรับสู่ประวัติย่อ คำตอบที่ดีซึ่งทำให้ฉันต้องการลบคำตอบของฉัน ...
Haitao Du

1
ฉันคิดว่าส่วนที่เกี่ยวกับ "ขอบเขตการวาด" และ "วงกลม" นั้นค่อนข้างสับสน ...
Easymode44

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

6

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

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

การทรงตัวที่สมดุลระหว่างสูงและต่ำเป็นสิ่งที่ท้าทายและบางครั้งไม่มีเส้นชัยที่ชัดเจน ในการสร้างแบบจำลองอนุกรมเวลาเศรษฐมิติปัญหานี้ได้รับการแก้ไขอย่างดีด้วยโมเดลการปรับสภาพ (LASSO, Ridge Regression, Elastic-Net) ที่ได้รับการจัดทำขึ้นเป็นพิเศษเพื่อลดการ overfitting โดยลดจำนวนตัวแปรในแบบจำลองของคุณลดความไวของสัมประสิทธิ์ ข้อมูลของคุณหรือทั้งสองอย่างรวมกัน


5

บางทีในระหว่างการวิจัยของคุณคุณได้เจอสมการต่อไปนี้:

Error = IrreducibleError + Bias² + Variance.

ทำไมเราต้องเผชิญกับปัญหาทั้งสองนี้ในการฝึกอบรมนางแบบ?

ปัญหาการเรียนรู้ที่ตัวเองเป็นพื้นค้าระหว่างอคติและความแปรปรวน

อะไรคือสาเหตุหลักของการทำ overfitting และ underfitting?

สั้น: เสียงรบกวน

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

แก้ไข (เพื่อเชื่อมโยงกับคำตอบอื่น ๆ ): ประสิทธิภาพของตัวแบบเนื่องจากความซับซ้อนมีการเปลี่ยนแปลง:

.

โดยที่errorDเป็นข้อผิดพลาดของการแจกแจงทั้งหมดD (ในทางปฏิบัติโดยประมาณกับชุดการทดสอบ)


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

4

ปัญหาทางสถิติเกือบทั้งหมดสามารถระบุได้ในรูปแบบต่อไปนี้:

  1. ได้รับข้อมูลหาซึ่งเป็นผู้ผลิต(x)(y,x)f^Y = F ( x )y^=f^(x)

  2. ทำให้ใกล้เคียงกับ "จริง"โดยที่ถูกกำหนดเป็นf^ff

y=f(x)+ε

สิ่งล่อใจมักจะทำให้สร้างซึ่งอยู่ใกล้กับข้อมูลมาก แต่เมื่อมีจุดข้อมูลใหม่มาถึงหรือเราใช้ข้อมูลที่ไม่ได้ใช้ในการสร้างการคาดการณ์อาจจะหายไป นี้เกิดขึ้นเพราะเรากำลังพยายามที่จะอธิบายแทนฉเมื่อเราทำสิ่งนี้เราหลงทางจาก "ความจริง"และด้วยเหตุนี้เมื่อการสังเกตใหม่เข้ามาเราจะได้รับการทำนายที่ไม่ดี สิ่งนี้เมื่อเกิดขึ้นมากเกินไป f^Y Y εy^yf^εff

ในทางกลับกันเมื่อเราพบคำถามมักจะเป็นไปได้ที่เราจะได้ที่ดีกว่าซึ่งเหมาะสมกว่าและใกล้เคียงกับ "จริง" ? ถ้าเราสามารถเรา underfitted ในกรณีแรก f^f~f

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


2

อะไรคือสาเหตุหลักของการทำ overfitting และ underfitting?

สำหรับ overfitting รูปแบบที่ซับซ้อนเกินไปที่จะพอดีกับข้อมูลการฝึกอบรมที่ดี สำหรับ underfitting รุ่นนั้นง่ายเกินไป

ทำไมเราต้องเผชิญกับปัญหาทั้งสองนี้ในการฝึกอบรมนางแบบ?

เป็นการยากที่จะเลือกรูปแบบและพารามิเตอร์ "ที่ถูกต้อง" สำหรับข้อมูล


0

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

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

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


0

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

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

Underfitting นั้นเป็นปรากฏการณ์ที่ค่อนข้างง่ายกว่า อาจหมายถึงสองสิ่งพื้นฐานมาก: A) เราไม่มีข้อมูลเพียงพอสำหรับแบบจำลองเพื่อเรียนรู้รูปแบบประชากรหรือ B) แบบจำลองของเราไม่มีประสิทธิภาพเพียงพอที่จะสะท้อนให้เห็น

คุณสามารถค้นหากรณี A ถ้าคุณมีปรากฏการณ์เช่นโดยที่เป็นตัวแปรสุ่มที่มีค่าเฉลี่ย 0 และค่าเบี่ยงเบนมาตรฐาน 1,000 และค่าจริงของ a (พารามิเตอร์ที่คุณต้องการประเมิน) ia 1. หากคุณมีข้อมูลไม่เพียงพอคุณอาจไม่สามารถแยกความแตกต่างจาก 0 ดังนั้นการอ้างว่า y และ x ไม่เกี่ยวข้องกัน / เป็นอิสระจากกันy=ax+ϵϵ

B อาจเกิดขึ้นได้หากแบบจำลองของคุณเป็นแบบง่ายเช่นถ้าและคุณลองถดถอยเชิงเส้นก็ดี .... โชคดี!y=x2+ϵ


0

คำตอบสั้น ๆ :

เหตุผลหลักสำหรับการ overfittingคือการใช้แบบจำลองที่ซับซ้อนเมื่อคุณมีชุดฝึกอบรมขนาดเล็ก

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


เหตุผลหลักในการบรรจุมากเกินไป?

  • แบบจำลองที่มีความจุสูงสามารถใช้งานได้มากเกินไปโดยการจดจำคุณสมบัติของชุดฝึกอบรมที่ไม่สามารถใช้งานได้ดีในชุดทดสอบ

- หนังสือการเรียนรู้ลึก, Goodfellow et al.

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

ตอบ -ให้ชุดฝึกอบรมที่มีขนาดใหญ่ขึ้นสำหรับโมเดลเพื่อลดโอกาสที่จะมีรูปแบบตามอำเภอใจในชุดฝึกอบรม

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

(เช่นลองจินตนาการว่าคุณต้องการสอนรูปแบบการตรวจจับเรือจากรถบรรทุกและคุณมี 10 ภาพของแต่ละภาพถ้าเรือส่วนใหญ่ในภาพของคุณอยู่ในน้ำโมเดลของคุณอาจเรียนรู้ที่จะจำแนกภาพใด ๆ ที่มีพื้นหลังสีน้ำเงินเป็นเรือ แทนที่จะเรียนรู้ว่าเรือมีลักษณะอย่างไรตอนนี้ถ้าคุณมี 10,000 ภาพของเรือและรถบรรทุกชุดฝึกอบรมของคุณมีแนวโน้มที่จะมีเรือและรถบรรทุกในภูมิหลังที่หลากหลายและแบบจำลองของคุณไม่สามารถพึ่งพาพื้นหลังสีน้ำเงินได้อีกต่อไป)

เหตุผลหลักในการทำ underfitting?

  • การ underfitting เกิดขึ้นเมื่อแบบจำลองไม่สามารถรับค่าความผิดพลาดต่ำเพียงพอในชุดฝึกอบรม

  • รุ่นที่มีความจุต่ำอาจต่อสู้เพื่อให้เหมาะกับชุดฝึก

- หนังสือการเรียนรู้ลึก, Goodfellow et al.

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


0

ลองพิจารณาตัวอย่างที่เรามีสมการสมมติฐาน / โมเดล

y=q*X+c,

โดยที่ X = รายการคุณสมบัติ, y = label และ q และ c เป็นค่าสัมประสิทธิ์ที่เราต้องผ่านการฝึกอบรม

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

ลองพิจารณาอีกตัวอย่างสมมติฐานที่ซับซ้อน

y=q*X+r*sqr(X)+s*cube(X)+c, where q,r,s and c are the coefficients.

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

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


คุณสามารถใช้การจัดรูปแบบคณิตศาสตร์ในคำตอบของคุณ ข้อมูลเพิ่มเติม: math.meta.stackexchange.com/questions/5020/…
Sycorax พูดว่า Reinstate Monica
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.