Ученикът, който е научил отговорите наизуст
Представете си съученик, който е получил контролното предварително и е запаметил отговорите. На това контролно взима шест. Знае ли материала? Ще разберем само ако му дадем друго контролно.
С модела е същото. Ако го проверим върху данните, с които е обучен, мерим неговата памет, а не способността му да се справя с нови случаи. Затова първото правило в машинното обучение е:
Правилото
Данните, върху които оценяваме модела, никога не участват в обучението му.
Разделяне на данните
Обучаващи данни (train)
Частта, от която моделът се учи. Обикновено 70–80% от примерите.
Тестови данни (test)
Останалите 20–30%, които моделът вижда само веднъж — при окончателната оценка.
Разделянето трябва да е случайно. Ако наборът е подреден по клас и отрежем последните 20%, тестът може да съдържа само примери от един клас. Затова се разбърква — и то по един и същи начин при всяко пускане, за да са сравними резултатите.
Трета част: валидация
Когато пробваме много варианти на модела и всеки път гледаме тестовата оценка, ние започваме бавно да „нагласяме“ модела към теста — и той престава да е честен. Затова се отделя и валидационна част: върху нея се сравняват вариантите, а тестът се пази недокоснат за самия край.
Пренастройване
Пренастройване (overfitting)
Моделът е запомнил обучаващите данни заедно с техните случайности и шум. Отличен е върху тях и слаб върху нови.
Недостатъчно обучение (underfitting)
Моделът е твърде прост, за да улови закономерността. Слаб е и върху обучаващите, и върху тестовите данни.
| Пренастройване | Недостатъчно обучение | |
|---|---|---|
| Точност върху train | много висока (99%) | ниска (60%) |
| Точност върху test | ниска (70%) | ниска (58%) |
| Признак | голяма разлика между двете | и двете са слаби |
| Лекарство | повече данни, по-прост модел, ограничения | по-сложен модел, повече признаци |
Диагностика с две числа
Винаги гледайте двете точности една до друга. Разликата между тях казва повече от всяка от тях поотделно.
Как се бори пренастройването
- Повече данни — най-надеждното средство. Колкото повече примери, толкова по-трудно е да се запаметят.
- По-прост модел — дърво с дълбочина 4 вместо неограничена; по-малка мрежа.
- Ограничения при обучението — регуляризация, ранно спиране; идеята е моделът да бъде наказван за прекалена сложност.
- Обогатяване на данните — при изображения: завъртане, изрязване, промяна на яркостта, за да се получат нови примери от съществуващите.
Изтичане на информация
Ако някакъв признак съдържа скрито отговора — например колоната „дата на изписване от болница“ при предсказване на изхода от лечението, — моделът ще покаже блестящи резултати и ще се провали в реална употреба. Това се нарича изтичане на информация (data leakage) и е най-честата причина за „твърде хубав, за да е истина“ резултат.