Прибуток:
- Можливість вибору метрики, що відповідає типу проблеми та бізнес-контексту (PR-AUC/відкликання в незбалансованих даних, MAE/RMSE у регресії) і розпізнавання надмірного/недостатнього навчання
- Можливість інтерпретувати кожну метрику порівняно з базовою лінією та вимірювати відхилення та відокремлювати шум від прогресу за допомогою перехресної перевірки
- Можливість повідомляти про неоптимістичні результати шляхом налаштування гіперпараметрів за допомогою набору перевірки та використання тестового набору лише в кінці
Навчання моделі (навчання: процес вивчення шаблонів з даних) є найбільш помітним, але найбільш оманливим кроком розробки ML. Це з'являється тому, що він видає задовільний показник, наприклад "точність 95%". Вводить в оману, оскільки це число часто є правильною відповіддю на неправильне запитання. У цьому підрозділі освіта та оцінка обговорюються з інженерною дисципліною; Ми використовуємо штучний інтелект як партнера в експериментальному плануванні та приймаємо рішення на основі вимірювань.
Логіка навчального циклу
Модель вивчає шаблон у даних, мінімізуючи функцію втрат: функцію, яка чисельно вимірює помилку моделі. Алгоритм оптимізації (наприклад, градієнтний спуск) зменшує втрати, регулюючи параметри крок за кроком. Мета полягає не в запам’ятовуванні навчальних даних, а в узагальненні їх до безпрецедентних даних.
Дві основні небезпеки:
- Переобладнання: модель запам’ятовує навчальні дані та дає збій на нових даних. Успішність навчання висока, успішність перевірки низька.
- Недостатність: модель не може вловити візерунок; Успішність навчання та валідації низька.
Знайти баланс – це мистецтво навчання. Набір перевірки призначений для моніторингу цього балансу: якщо успішність перевірки починає знижуватися, а успішність навчання зростає, почалося перенавчання.
Порада: побудуйте графіки втрат під час навчання та перевірки разом на кожному кроці. Точка, в якій дві криві починають розходитися, є місцем, де починається перенавчання, і це правильний момент для «завчасної зупинки».
Вибір метрики: найважливіше рішення
Неправильна метрика змушує хорошу модель виглядати погано, а погана – добре. Проблема визначає метрику:
- Незбалансована класифікація (один клас зустрічається дуже рідко, наприклад, шахрайство): точність вводить в оману. Модель, яка говорить «назви все нормально», отримає 99% точності, але не вловить жодного шахрайства. Замість цього використовуються прецизійність (скільки з того, що я зловив, дійсно позитивно), відкликання (скільки з того, що я зловив, є справді позитивним) і їхній баланс F1 або PR-AUC.
- Збалансована класифікація: точність і ROC-AUC можуть бути відповідними.
- Регресія (оцінка числа): MAE (середня абсолютна помилка), RMSE (штрафує великі помилки), MAPE (відсоткова помилка).
- Рейтинг/рекомендація: NDCG, MRR, Recall@K.
Те, чи важлива точність чи відкликання, залежить від бізнес-контексту. Відкликання (не пропускати пацієнтів) є пріоритетом у скринінгу раку; Точність спам-фільтра (не надсилання важливих електронних листів у спам) є важливою. Це бізнес-рішення, а не технічне, і приймається разом інженером і власником.
Слабка підказка / Сильна підказка
Слабка підказка: «Оцініть продуктивність моєї моделі, точність 0,97».
Потужна підказка: «У мене є модель виявлення шахрайства; показник позитивного класу становить 1,5%. Точність повідомляється як 0,97. Поясніть, чому цей показник може вводити в оману, скажіть мені, яким показникам (точність, відкликання, PR-AUC) я маю віддати перевагу та чому. Також обчисліть, наскільки точною буде базова модель «назви все негативне» на цих даних, щоб я міг побачити реальну додану цінність».
Відмінність: потужна підказка надає співвідношення класів і бізнес-контекст; він також запитує порівняння базової моделі — це найважливіший прив’язний показник того, чи метрика є значущою.
Базова лінія: показник без порівняння не має сенсу
Метрика сама по собі не є хорошою чи поганою; Добре це чи погано в залежності від базової моделі. Базова модель — це найпростіше рішення, яке спадає на думку: «завжди повідомляти більшість», «повторити значення минулого тижня», «вгадати середнє». Якщо ваша модель не може чітко пройти це просте рішення, уся складність марна.
Застереження: речення «Моя модель точна на 85%» саме по собі нічого не говорить. Якщо базова модель вже отримує 84%, ваша модель майже нічого не варта; Якщо базова модель отримує 50%, ваша модель ідеальна. Завжди говоріть з точки зору базової моделі.
Перехресна перевірка та довіра
Одне розділення навчання/тестування може бути випадковим. Перехресна перевірка: розділення даних на k частин і послідовне тестування кожної частини показує, наскільки стабільна продуктивність. Під час 5-кратної перехресної перевірки ви отримуєте п’ять різних балів; Їхнє середнє значення та стандартне відхилення є важливими. Якщо середнє значення становить 80%, але відхилення становить ±12%, ваша модель нестабільна — вона може поводитися зовсім інакше в наступному пакеті даних.
Це також критично для «порівняння двох моделей». Якщо модель A отримала 81%, а модель B – 82%, чи дійсно B краща? Якщо відхилення становить ±3%, ця різниця може бути шумом. Подумайте, чи є різниця значною, перш ніж приймати рішення.
Налаштування гіперпараметрів: із перевіркою, без тестування
Гіперпараметри (параметри, визначені вручну перед навчанням — швидкість навчання, глибина дерева тощо) встановлюються з набором перевірки. Тестовий набір використовується тільки в кінці, один раз. Якщо ви вибираєте гіперпараметри, дивлячись на набір тестів, набір тестів буде забрудненим, а продуктивність, яку ви повідомляєте, буде оптимістичною, що не так насправді.
Штучний інтелект є хорошим помічником у проектуванні простору пошуку гіперпараметрів і написанні пошукового коду (пошук за сіткою, випадковий пошук, байєсовська оптимізація). Але ви все одно вирішуєте, "який показник ми будемо оптимізувати?"
три міні-чохла
Випадок 1 - Пастка точності. Команда медиків пишалася моделлю, яка виявила рідкісну хворобу: точність 98%. Коли було проведено базове порівняння моделі, виявилася істина: оскільки рівень захворювання становив 2%, модель, яка говорила «називати всіх здоровими», також отримала 98%. Відкликання моделі склало лише 11% — відсутність більшості пацієнтів. Коли показник було перетворено на PR-AUC, було виміряно фактичну ефективність і модель перероблена.
Випадок 2 - помилкове сприйняття шуму за прогрес. Команда витратила місяці на вдосконалення моделі з 86,2% до 86,9%. Перехресна перевірка показала, що похибка становила ±1,4% — отже «покращення» на 0,7 бала було статистичним шумом. Команда витратила три тижні на нереальні заробітки. Урок: не оголошуйте перемогу, не переконавшись, що покращення більше, ніж відхилення.
Випадок 3 - Забруднення тестового набору. Інженер кілька разів переглядав тестовий набір, щоб вибрати найкращі гіперпараметри. 91%, про які він повідомляв, знизився до 83% у виробництві. Чому: він несвідомо обрав модель відповідно, дивлячись на тестовий набір знову і знову (надмірне навчання на тестовому наборі). Повідомлена та фактична продуктивність збігалася, коли використовувався окремий набір перевірки.
Шаблони, які можна копіювати
Допоможіть мені вибрати правильний показник для цієї проблеми класифікації. Проблема: [що прогнозується] Розподіл по класах: [позитивний показник
Оцініть порівняння наступних двох моделей. Перехресна перевірка моделі A: [список балів] Перехресна перевірка моделі B: [список балів] Обчисліть середнє значення та стандартне відхилення. Чи є різниця статистично значущою чи це просто шум у межах відхилення? Який із них ви б порадили вибрати і чому?
Перевірте цей навчальний код на предмет наступного: 1) Чи вибрано гіперпараметри за допомогою тестового набору чи набору перевірки? 2) Чи відстежується дострокова зупинка за допомогою правильного набору? 3) Чи є якісь ознаки перенавчання (різниця втрат під час навчання/перевірки)? Код: [код]
Які з MAE, RMSE та MAPE я маю повідомити для цієї проблеми регресії? Масштаб цільової змінної: [діапазон]Чи великі помилки непропорційно погані (RMSE) чи всі вони однакові (MAE)? Чи є значення, близькі до нуля (чи спотворюють вони MAPE)? Запропонуйте з коротким обґрунтуванням.
Таблиця вибору показників
Тип проблеми
Відповідна метрика
Щоб уникнути
чому
Незбалансована класифікація
PR-AUC, F1, відкликання
Точність
Клас більшості збільшує метрику
Збалансована класифікація
Точність, ROC-AUC
—
Надійність у збалансованих даних
Регресія (значний викид)
RMSE
MAPE (якщо нуль)
Карає за серйозні помилки
Регресія (рівна вага)
MAE
—
Легко інтерпретувати
Рейтинг/рекомендація
NDCG, Recall@K
Точність
Порядок важливий
Поширені помилки
- Використання точності незбалансованих даних. Найпоширеніша метрична помилка.
- Без порівняння базових моделей. Через це метрика втрачає своє значення.
- Дивлячись на тестовий набір для гіперпараметрів. Оптимістичний, нереальний результат.
- Покладаючись на одне відділення. Без перехресної перевірки ви не побачите зміщення.
- Помилково приймаючи шум за прогрес. Невеликі «покращення» від відхилень – це здебільшого удача.
- Ігнорування бізнес-контексту. Баланс точності/відкликання є бізнес-рішенням.
Підсумовуючи
Справжня майстерність у навчанні моделей полягає не в тому, щоб створити високе число, а в тому, щоб знати, що це число означає. Проблема та бізнес-контекст визначають правильний показник; інтерпретувати кожен показник відповідно до базової моделі; вимірюйте зміщення за допомогою перехресної перевірки та не приймайте шум за прогрес; Використовуйте тестовий набір лише в кінці, один раз. Штучний інтелект є вашим партнером у розробці експерименту, але рішення «досить добре» залежить від вас.
Аплікаційне завдання
Для моделі класифікації: (1) напишіть розподіл класів, (2) побудуйте відповідну базову модель і виміряйте її бал, (3) оцініть свою модель за допомогою 5-кратної перехресної перевірки та повідомте про середнє значення та стандартне відхилення, (4) обчисліть метрику, що відповідає проблемі (наприклад, PR-AUC), а не точність. Запишіть, чи ваша модель перевершує базову модель із великим відривом без упередження.
контрольний список
- [ ] Я вибрав показник на основі типу проблеми та бізнес-контексту.
- [ ] Я створив базову модель і порівняв її.
- [ ] Я повідомив середнє значення та відхилення з перехресною перевіркою.
- [ ] Я підтвердив, що покращення більше, ніж відхилення.
- [ ] Я вибрав гіперпараметри з набором перевірки.
- [ ] Я використовував тестовий набір лише один раз, у самому кінці.