Печалби:
- Способност за избор и интерпретация на класификация и регресионни показатели (матрица на объркване, прецизност/извикване/F1, MAE/RMSE/R²) според целта на работата
- Възможност за откриване на свръхобучение чрез сравняване на резултати от обучение и тестове и получаване на надеждна производителност с кръстосано валидиране
- Възможност за оценка дали всеки модел добавя реална стойност чрез сравняване с базова линия
Лесно е да настроите модел; Трудно е честно да се измери дали наистина работи. Предметът на този раздел е най-критичното умение на специалиста по данни: оценяване на модела с правилните показатели, постигане на надеждна прогнозна производителност и улавяне на най-коварния капан: свръхнаучаване (запаметяване). AI изчислява, интерпретира и сравнява показатели; но зависи от човека да реши кой показател е подходящ за вашия бизнес и дали даден модел е „достатъчно добър“. Екип, който гледа грешна метрика, може да бърка лош модел в продължение на месеци като „успех“.
Защо точността не е достатъчна: матрица на объркването
Първият показател, който идва на ум при класификацията, е точността (точност — общото съотношение на правилните прогнози). Но както видяхме в Раздел 6, точността е подвеждаща с небалансирани данни. По-добро начало е матрицата на объркването - таблица, която разделя прогнозите на четири кошчета:
- Истинско положително (TP): Нарекохме фалшиво това, което наистина е фалшиво. (добре)
- Истински отрицателен (TN): Казахме наистина чист. (добре)
- Фалшиво положително (FP): Погрешно казахме, че чистият е фалшив. (Фалшива тревога)
- Фалшиво отрицателен (FN): Пропуснахме фалшификата и го нарекохме чист. (Пропусната заплаха)
Два ключови показателя произтичат от тези четири полета. Прецизност: „Колко от това, което наричам фалшиво, всъщност е фалшиво?“ — важно, ако разходите за фалшива аларма са високи. Чувствителност (припомняне на английски): „Колко истински фалшификати хванах?“ — важно, когато пропускането на заплаха е скъпо. Двете често са в противоречие помежду си: ако намалите прага и кажете „фалшив“ повече, припомнянето се увеличава, но прецизността намалява. Резултатът F1 е балансирана средна (средна хармонична стойност) на тези две.
Внимание: Отговорът на въпроса „Кой показател е важен“ е бизнес решение, а не техническо. Пропускането на случай (слабо припомняне) при скрининга за рак е катастрофално; Досадно е да изпратите важен имейл до спам (ниска точност) във филтъра за спам. Цената определя показателя.
Регресионни показатели
Ако изходът е числа, се използват различни показатели. MAE (средна абсолютна грешка): колко оценките се отклоняват от действителната средна стойност в една и съща единица (напр. „грешим средно с 4200 TL“). RMSE (средноквадратична грешка): санкционира по-сериозно основните грешки и е чувствителен към отклонения. R² (R-квадрат — коефициент на определяне): каква част от променливостта в целта обяснява моделът (близо до 1 е добро, 0 е толкова лошо, колкото прогнозирането на средната стойност, отрицателното е още по-лошо).
Най-коварният капан: свръхнаучаване
Пренастройването – при което моделът запаметява данни за обучение, но се проваля при нови данни – е най-често срещаната грешка в науката за данните. Симптомът е ясен: моделът е страхотен на тренировъчната серия (98%), лош на тестовата серия (72%). Моделът е запомнил шума на тази конкретна проба, а не действителния модел в данните. Има и обратното: недостатъчно приспособяване - моделът е лош както при обучение, така и при тестване, защото е твърде прост за улавяне на модела.
Начини за борба с прекомерното обучение: опростяване на модела, повече данни, регулиране - математическата спирачка, която предпазва модела от това да стане твърде сложен - и най-важното, кръстосано валидиране.
Кръстосано валидиране: не се доверявайте на един панел
Една тренировъчна/тестова капсула може да носи късмет или да не носи късмет; Можете да получите високи оценки за тестовия набор само защото този образец е лесен. Кръстосаното валидиране (накратко CV) решава това. Най-често срещаната форма е k-кратно CV: данните са разделени на k части (напр. 5); Във всеки кръг една част е тестова, а останалата е тренировъчна; това се хвърля 5 пъти и 5-те резултата са осреднени. Така че ще видите, че ефективността се основава на средната стойност на множество разделяния, а не на единичен щастлив сплит. Разпределението на резултатите също е информативно: много променливи резултати (85% на единия етаж, 62% на другия) показват, че моделът е нестабилен.
Нормалното k-кратно не се използва във времеви редове (пропуска бъдещето); Вместо това, вие правите „предна верига“ (разделяне на времеви серии): винаги тренирайте с миналото и тествайте бъдещето.
показател
Тип проблем
Кога има значение?
точност
Класификация
Ако класовете са балансирани
Прецизност
Класификация
Фалшивата аларма е скъпа
Чувствителност (извикване)
Класификация
Ако е скъпо да пропуснете
F1
Класификация
Ако е необходим баланс
MAE
регресия
Интерпретируема грешка
RMSE
регресия
Ако големите грешки са критични
R²
регресия
обяснителна сила
три мини калъфа
Случай 1 — Илюзията за висока точност. Един модел за измама показа 99,2% точност и екипът празнува. Разглеждайки матрицата на объркването, реалният: фалшив процент в данните беше 0,8%; моделът не хвана почти никакви фалшификати, само каза "всичко ясно". Припомнянето беше 6%. Поука: гледайте показателите, а не точността.
Случай 2 — Латентно свръхобучение. Един екип достави и повиши XGBoost до 97% в тренировъчния комплект. Тестовият набор беше 69%, но никой не беше погледнал. Моделът се срина в производството. Ако беше направено кръстосано валидиране, голямата разлика между гънките (прекомерно обучение) щеше да бъде видима от самото начало. Урок: вярвайте на автобиографията и резултата от теста, а не на резултата от образованието.
Случай 3 — Лъки сплит. Един анализатор беше доволен, че получи 88% в едно разделение. Когато колегата му направи 5-кратно CV, резултатите бяха 88%, 71%, 83%, 64%, 79% — средната стойност е 77%, но е много променлива. Моделът беше нестабилен; Единственото отделение беше подвеждащо. Урок: погледнете средната стойност на CV и разпределението, а не отделния кош.
Четири копируеми шаблона
1) Пълен доклад за класификация:
Имам обучен модел и тестов комплект. Генериране: матрица на объркване, прецизност, припомняне, F1 (за всеки клас) и преброяване на поддръжката. Правя заключение, но зависи от мен: ще ви кажа кой показател е важен. Имайте предвид, че точността може да бъде подвеждаща при небалансирани данни.
2) Контрол на свръхнаучаването:
Отпечатайте резултатите на моя модел в комплектите ОБУЧЕНИЕ и ТЕСТ един до друг. Изчислете разликата между тях и предупредете, тъй като голямата разлика е признак на преучене. Ако разликата е голяма, предложете регулиране или опростяване.
3) Кръстосано валидиране:
Извършете 5-кратно кръстосано валидиране (за стратифицирана, класификация). Отпечатайте резултата, средната стойност и стандартното отклонение на всяко сгъване. Ако резултатите са много променливи (висок стандарт), посочете, че моделът е нестабилен. Използвайте конвейери, така че трансформациите да се научават само от тренировъчната част на всеки слой.
4) Базово сравнение:
Поставете показателя на моя модел рамо до рамо с базовата линия на DummyClassifier. Моделът надминава ли значително базовата линия? Ако не премине, изяснете, че моделът не добавя реална стойност.
Слаба подкана / Силна подкана
Слаба подкана:
Моят модел добър ли е?
„Добър“ е недефиниран; Не е ясно кой показател, кой праг, коя базова линия. AI може да даде едно число за точност и да подведе.
Мощна подкана:
Вашата роля: асистент по оценяване. Класификация, небалансирани данни (12% положителни). Приоритет: извикване (без пропускане на положителните). Задача: (1) матрица на объркване, (2) прецизност/припомняне/F1, (3) 5-кратно стратифицирана CV средна и стандартна стойност, (4) сравнение на изходната линия на DummyClassifier. Фокусирайте се върху припомнянето и базовата разлика, а не върху точността. Коментирайте, но аз вземам окончателното решение.
Тук приоритетът на показателя, CV и базовото състояние са ясни.
Често срещани грешки
- Доверете се на точността на небалансираните данни. 99% точност може изобщо да не улови класа на малцинството; Погледнете матрицата на объркването.
- Просто гледам образователния ви резултат. Високо образование, нисък резултат от теста е свръхучене; Винаги сравнявайте два резултата.
- Разчитайки на едно отделение. Щастливото разделение е подвеждащо; Погледнете средната стойност и разпределението с кръстосано валидиране.
- Без сравнение с изходното ниво. Не можете да кажете „добре“, без да знаете дали моделът побеждава глупав предсказател.
- Използване на нормално k-кратно времеви серии. Изтича бъдещето; необходимо е разделяне на времеви редове.
Съвет: Напишете три числа до всеки модел: резултат от обучението, средна стойност за кръстосано валидиране и базов резултат. Това трио разкрива с един поглед свръхучене (обучение >> CV) и подценяване (CV ≈ базова линия).
В обобщение
Изграждането на модел е лесно, но честното му оценяване е трудно. При класификацията матрицата на объркването, прецизността и припомнянето са много по-информативни от точността; Цената на работата определя кое е важно. MAE, RMSE и R² се използват в регресия. Най-коварният капан е преучването: винаги сравнявайте резултатите от обучението и теста. Разчитайте на средната стойност и разпределението на кръстосаното валидиране, а не на едно разделяне; Сравнете всичко с базовата линия. AI изчислява всичко това, но зависи от човека да реши кой показател да използва.
Задача за приложение
Извличане на матрица на объркване, прецизност, припомняне и F1 за класификационен модел; След това направете 5-кратно кръстосано валидиране и погледнете разпределението на резултата между гънките. Накрая запишете резултата от обучението, средната стойност на CV и базовия резултат един до друг. Коментирайте с едно изречение дали вашият модел преобучава и преминава базовата линия.
контролен списък
- [ ] Гледах ли действителната метрика на заданието (прецизност/извикване/F1 и т.н.) вместо точност?
- [ ] Проучих ли матрицата за объркване?
- [ ] Сравнявал ли съм резултата от обучението и теста и проверявал ли съм за свръхучене?
- [ ] Разглеждал ли съм средната стойност и разпределението с кръстосано валидиране?
- [ ] Сравнявал ли съм модела с базовата линия?