Переобучение и недообучение: центральная проблема машинного обучения
У любой модели машинного обучения есть одна настоящая задача: хорошо работать на данных, которых она никогда раньше не видела. У этого умения есть название — обобщающая способность (generalization). Модель, которая набирает 100% на тренировочных вопросах, но проваливает настоящий экзамен, не научилась ничему полезному. В этом уроке мы познакомимся с двумя способами, которыми модель может не суметь обобщать, научимся распознавать каждый из них всего по двум числам и соберём набор средств для исправления обоих.
Это, пожалуй, самая важная идея во всей области. Вы можете освоить каждый алгоритм этого курса, но если вы не умеете определять, переобучается ваша модель или недообучается, вы не сможете её починить. К концу этого урока вы будете ставить диагноз любой модели, как врач, читающий кардиограмму.
- Что означает обобщающая способность и почему мы делим данные на обучающую выборку (training set) и тестовую выборку (test set).
- Недообучение (underfitting) — модель слишком проста, чтобы уловить настоящую закономерность.
- Переобучение (overfitting) — модель настолько гибкая, что запоминает шум вместо закономерности.
- Характерный признак: чтение ошибки на обучении и ошибки на тесте, чтобы понять, какая у вас проблема.
- Смещение и разброс (bias и variance) простыми словами и аналогия с мишенью.
- Кривая сложности модели и оптимальная точка (sweet spot).
- Конкретные средства лечения обеих проблем, включая регуляризацию, раннюю остановку и перекрёстную проверку.