آموزشیادگیری ماشین

درس ۴۵ از ۹۹، هوش مصنوعی، حدود ۷ دقیقه خواندن

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

جواب کوتاه

بیش‌برازش یعنی مدل به جای یاد گرفتن الگوی کلی، جزئیات و نویز داده‌ی آموزش رو حفظ کنه؛ روی داده‌ی آموزش عالی، روی داده‌ی تازه بد. مثل دانش‌آموزی که به جای درس، ترتیب جواب‌های امتحان پارسال رو حفظ کرده: پارسال رو ۲۰ می‌گیره، امسال که همون سوال‌ها جابه‌جا شدن، ۸. نشونه‌ش اینه که با ادامه‌ی آموزش، خطای آموزش پایین‌تر می‌ره ولی خطای داده‌ی تازه بالا میاد. بیشتر وقتی پیش میاد که مدل نسبت به داده خیلی پیچیده‌ست، داده کمه، یا آموزش خیلی طول کشیده. راه‌های جلوگیری: داده‌ی بیشتر، مدل ساده‌تر، منظم‌سازی، توقف زودهنگام و اعتبارسنجی متقابل.

کلید پارسال

یه دانش‌آموز به جای درس خوندن، کلید جواب‌های امتحان پارسال رو حفظ کرده: ج، ب، الف، د… معلم امسال همون سوال‌ها رو داده، فقط به ترتیب دیگه:

اگه پارسال رو دوباره امتحان بده، ۲۰ می‌گیره. ولی امسال، با همون سوال‌ها و ترتیب دیگه، فقط بعضی جواب‌ها اتفاقی درست درمیان: ۸. یه چیزی حفظ کرده که هیچ ربطی به خود درس نداشت؛ ترتیب گزینه‌ها.

مدل‌ها هم دقیقا همین کار رو می‌کنن، اگه بذاریم. به این می‌گن بیش‌برازش.

بیش‌برازش یعنی چی

بیش‌برازش یعنی مدل بیش از حد دقیق با داده‌ی آموزش جور شده؛ اونقدر که به جای الگوی کلی، جزئیات و اتفاق‌های همون داده رو یاد گرفته. نتیجه‌ش همون چیزیه که توی درس تعمیم دیدیم: روی داده‌ی آموزش عالی، روی داده‌ی تازه بد.

یه حالت افراطی: اگه تعداد پیچ‌های مدل به اندازه‌ی تعداد مثال‌ها یا بیشتر باشه، مدل می‌تونه کل داده‌ی آموزش رو حفظ کنه و روش هیچ اشتباهی نکنه، بی اینکه چیزی یاد گرفته باشه.

دنبال نویز

داده‌ی واقعی همیشه یه کم «نویز» داره: بالا و پایین‌های اتفاقی، مثل ترافیک توی کرایه‌ی تاکسی‌متر. حالا دو جور مدل رو روی همین نقطه‌ها ببینید:

خط‌چین روند اصلی رو گرفته و به بالا و پایین‌های کوچیک اهمیت نداده. منحنی پررنگ از روی تک‌تک نقطه‌ها رد شده؛ روی همین داده هیچ اشتباهی نداره، ولی همه‌ی اون پیچ و تاب‌ها اتفاقی‌ان. نقطه‌ی بعدی هر جا بیفته، منحنی پررنگ احتمالا بدتر از خط‌چین حدسش می‌زنه. یعنی نویز رو به جای الگو یاد گرفته.

نشونه‌ش

چطور بفهمیم مدل داره بیش‌برازش می‌کنه؟ خطا رو هم روی داده‌ی آموزش و هم روی داده‌ی تازه (اعتبارسنجی)، حین آموزش دنبال کنید:

اولش هر دو با هم پایین میان؛ مدل داره واقعا یاد می‌گیره. یه جایی به بعد، خطای آموزش همچنان پایین‌تر می‌ره ولی خطای داده‌ی تازه برمی‌گرده بالا. از همون‌جا مدل داره حفظ می‌کنه. نشونه‌ی بیش‌برازش همین جدا شدن دو منحنیه.

کِی پیش میاد

  • مدل خیلی پیچیده: پیچ‌هاش خیلی بیشتر از چیزیه که داده می‌تونه توجیه کنه.
  • داده‌ی کم: با چند تا مثال، اتفاق‌ها شبیه الگو به نظر میان.
  • آموزش خیلی طولانی: هر چی بیشتر روی همون مثال‌ها بچرخه، بیشتر حفظشون می‌کنه.

چطور جلوشو بگیریم

  • داده‌ی بیشتر: با مثال‌های بیشتر، حفظ کردن سخت‌تر و یاد گرفتن آسون‌تر می‌شه.
  • مدل ساده‌تر: پیچ کمتر، جای کمتر برای حفظ کردن.
  • توقف زودهنگام: همون‌جایی که خطای داده‌ی تازه شروع کرد بالا رفتن، آموزش رو متوقف کنید.
  • منظم‌سازی: مدل رو برای پیچ‌های خیلی بزرگ جریمه کنید؛ درس خودش.
  • سنجیدن درست: با اعتبارسنجی متقابل مطمئن بشید نمره‌ی خوب از شانس نبوده.

ولی زیادی ساده کردن هم خطر خودش رو داره: مدلی که حتی الگو رو هم نمی‌گیره. درس بعد، کم‌برازش.

جمع‌بندی. آنچه از این درس با خودتان می‌برید.

  • بیش‌برازش: حفظ کردن به جای یاد گرفتن.
  • آموزش عالی، داده‌ی تازه بد.
  • دنبال نویز رفتن، نه روند.
  • نشونه: خطای تازه بالا میره.
  • داده‌ی بیشتر، مدل ساده‌تر، زودتر بایست.

خودتون رو بسنجید

۱۵ پرسش، هر بار تازه از میان ۳۰ پرسش این درس. آخرش فقط کارنامه رو می‌بینید: چند تا درست، چند تا نادرست.

خودتون رو بسنجید

۱۵ پرسش

  • هر بار پرسش‌ها و ترتیب گزینه‌ها عوض می‌شه.
  • تا آخر نمی‌گیم کدوم جواب درست بوده؛ می‌تونید برگردید و جوابتون رو عوض کنید.
  • آخرش کارنامه می‌گیرید: چند تا درست، چند تا نادرست.
  • اگه وسطش بستید، دوباره که باز کنید از همون‌جا ادامه می‌دید.

فصل‌های این درس

درس بعد