одиниця 3 / 11

Навчання моделі та оцінка: точні показники, чесний порівняльний аналіз

Прибуток:

  • Можливість вибору метрики, що відповідає типу проблеми та бізнес-контексту (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), а не точність. Запишіть, чи ваша модель перевершує базову модель із великим відривом без упередження.

контрольний список

  • [ ] Я вибрав показник на основі типу проблеми та бізнес-контексту.
  • [ ] Я створив базову модель і порівняв її.
  • [ ] Я повідомив середнє значення та відхилення з перехресною перевіркою.
  • [ ] Я підтвердив, що покращення більше, ніж відхилення.
  • [ ] Я вибрав гіперпараметри з набором перевірки.
  • [ ] Я використовував тестовий набір лише один раз, у самому кінці.