Заучить — не значит научиться
Модель может показать идеальный результат на данных, на которых училась, и остаться бесполезной завтра. Вот как это заметить и что действительно помогает.
Оценка дала тебе инструмент: запечатанную отложенную выборку и числа, честно описывающие ошибки. Этот урок про провал, ради которого инструмент и существует. Модель может быть почти идеальной на обучающих строках, ужасной на всём остальном и уверенной в обоих случаях. Это и называется переобучением.
study hours -> exam score, one row per pupil
100 | *
90 | *
80 | *
70 | *
60 | *
50 | *
40 | *
+----------------------------------------
1 2 3 4 5 6 7 8 9
a curve through all six dots
same six dots, no room left overТе же шесть точек и кривая, которой гибкости хватает, чтобы пройти через каждую.Прямая линия из прошлого урока промахивалась мимо части точек, но верно ловила тенденцию. Теперь разреши форме быть гораздо гибче — и она пройдёт точно через все шесть точек. Каждая ошибка на обучении станет нулём. Настоящие экзаменационные баллы никогда не были такими аккуратными: кто-то плохо спал, кто-то угадал, кто-то заболел. Кривая выучила не тенденцию, а эти случайности. Она заучила ключ с ответами вместо предмета.
+----------------+-----------+-----------------+
| model | training | held-back rows |
+----------------+-----------+-----------------+
| straight line | 72 | 69 |
| curve, 12 knobs| 100 | 48 |
+----------------+-----------+-----------------+Две модели и два вида оценки. Разрыв между столбцами — это и есть вся история.Этот разрыв между оценкой на обучении и оценкой на отложенных строках — весь диагноз. Когда модель даёт 100 на обучении и 48 на строках, которых не видела, гибкость не купила ничего, а стоила очень много. Заметь: гибкая модель не сломана и написана не плохо. Она сделала ровно то, о чём её просили, — уменьшила ошибки на обучении. Поэтому оценка на обучении сама по себе никогда не может быть целью.
Лекарство, которое помогает чаще всего, — больше данных. На двух примерах гибкая кривая подгонится под что угодно; на двухстах каждая точка тянет слабо, и кривую вынуждает идти по настоящей тенденции. Второе лекарство — более простая модель: меньше ручек, меньше места для заучивания случайностей. Третье — лучшие признаки, при которых то, что выглядело шумом, становится объяснимым. Все три полезнее, чем любое дополнительное обучение на тех же строках.
ice cream sales and the day of the year
nine points, drawn honestly:
sales
| * * * * *
| * * * *
+------------------------------
Apr May Jun Jul
one question the features never asked:
was it raining that afternoon?Девять честных точек и одна вещь, которую таблица не записала.Два вида провала сидят на противоположных концах одной ручки. Слишком просто — модель не видит настоящей структуры и ошибается везде. Слишком гибко — она подгоняется под шум и ошибается всюду, где шум меняется. Полезная настройка где-то посередине, и найти её можно только по отложенным строкам, на которых ты не учился. Это и есть компромисс между смещением и разбросом, и ты только что познакомился с обеими его половинами.
complexity -> error
error
|\ /
| \ /
| \ / total
| \ /
| \______________/
| \ /
| \ / memorising the noise
| \ /
+------------------------------> knobs in the model
too simple about right too flexible
held-back error at the bottom of the valleyУ суммарной ошибки есть дно, и оно не на концах ручки.Практика
Для одной задачи отчитались о двух моделях. Первая: 72 процента на обучающих строках и 69 процентов на строках, отложенных от обучения. Вторая: 100 процентов на обучении и 48 процентов на отложенных. Какую берёшь и почему?
Подсказки
- Сравни два столбца отчёта, а не самое большое число в нём.
- У второй модели к тому же гораздо больше ручек, которые можно крутить.
Модель, предсказывающая, сдаст ли ученик экзамен, плохо работает в реальности. Сопоставь каждую причину с тем, как она проявляется.
Подсказки
- Спроси, кто встретит эти строки потом: сама модель или реальный мир.
- Второй столбец описывает реальный мир и не встречается ни в одной обучающей таблице.
Расставь шаги работы с переобученной моделью в правильном порядке.
- 1Заметить разрыв: почти идеально на обучении, заметно хуже на невиданных строках
- 2Упростить модель: например, меньше признаков или менее гибкая форма
- 3Оставить более простую модель, если оценка на отложенных строках перестала улучшаться
- 4Посмотреть на оценку на обучении и на отложенных строках вместе
- 5Добавить обучающих строк, особенно похожих на те случаи, где модель ошибается
Подсказки
- Ты не отличишь удачную подгонку от настоящей, пока оба числа не встанут рядом.
- Уменьшение модели — реакция на диагноз, поэтому оно идёт после измерения.