بیش‌برازش (Overfitting)

درک بیش‌برازش و کم‌برازش در ماشین لرنینگ، تشخیص آن‌ها از روی عملکرد Train و Test و روش‌های پیشگیری

بیش‌برازش چیست؟

بیش‌برازش (Overfitting) یعنی مدل به‌جای «یادگیری الگو»، «حفظ‌کردن داده آموزش» را یاد گرفته است. مثل دانشجویی که فقط پاسخ‌های امتحان سال قبل را حفظ کرده: در تمرین‌ها عالی است اما در امتحان واقعی (داده جدید) شکست می‌خورد!

طیف برازش

حالتعملکرد Trainعملکرد Testتشبیه
کم‌برازش (Underfitting)ضعیفضعیفدانشجوی تنبل که هیچی نخوانده
برازش مناسبخوبخوبدانشجوی مفهومی
بیش‌برازش (Overfitting)عالی!ضعیفدانشجوی حافظه‌ای

نشانه کلاسیک بیش‌برازش: دقت Train بسیار بالا ولی دقت Test پایین — شکاف بزرگ بین این دو، زنگ خطر است.

چرا بیش‌برازش اتفاق می‌افتد؟

مثال شهودی

داده‌ای با ۵ نقطه که تقریباً روی یک خط قرار دارند. یک مدل درجه ۱ (خط) الگوی کلی را می‌گیرد؛ اما یک چندجمله‌ای درجه ۴ از میان تک‌تک نقاط عبور می‌کند با پیچ‌وتاب‌های عجیب! روی این ۵ نقطه خطای صفر دارد، اما برای نقطه جدید، پیش‌بینی‌های فاجعه‌بار می‌دهد.

روش‌های پیشگیری

  1. داده بیشتر: بهترین راه! داده زیاد، حفظ‌کردن را غیرممکن می‌کند
  2. مدل ساده‌تر: عمق درخت کمتر، پارامتر کمتر
  3. اعتبارسنجی متقابل: ارزیابی پایدار با چند بخش‌بندی داده
  4. منظم‌سازی (Regularization): جریمه پیچیدگی مدل در تابع خطا
  5. توقف زودهنگام: توقف آموزش وقتی عملکرد Test شروع به افت می‌کند
  6. انتخاب ویژگی: حذف ویژگی‌های بی‌ربط و نویزی
هشدار: هرگز عملکرد روی داده Train را به‌عنوان کیفیت مدل گزارش نکنید! مدل می‌تواند Train را ۱۰۰٪ حفظ کند؛ ملاک واقعی، عملکرد روی داده دیده‌نشده (Test) است.

جمع‌بندی

این مبحث بخشی از دوره آموزش کامل علم داده است.

ابزارهای مرتبط