Прибыль:
- Способность выбирать метрику, соответствующую типу проблемы и бизнес-контексту (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 (если ноль)
Наказывает за серьезные ошибки
Регрессия (равный вес)
МАЭ
—
Легко интерпретировать
Рейтинг/рекомендация
НДЦГ, Напомним@К
Точность
Порядок важен
Распространенные ошибки
- Использование точности для несбалансированных данных. Самая распространенная метрическая ошибка.
- Не проводить сравнения базовых моделей. Из-за этого метрика теряет свое значение.
- Глядя на тестовый набор для гиперпараметров. Оптимистичный, нереальный результат.
- Опираясь на одно отделение. Без перекрестной проверки вы не увидите предвзятости.
- Принимаем шум за прогресс. Небольшие «улучшения» от отклонений – это в основном удача.
- Игнорирование делового контекста. Баланс точности и полноты — это бизнес-решение.
В заключение
Настоящий навык в обучении моделей заключается не в том, чтобы получить большое число, а в том, чтобы знать, что это число означает. Проблема и бизнес-контекст определяют правильную метрику; интерпретировать каждую метрику в соответствии с базовой моделью; измеряйте предвзятость с помощью перекрестной проверки и не принимайте шум за прогресс; Используйте тестовый набор только в конце, один раз. ИИ — ваш партнер в планировании эксперимента, но решение «достаточно хорошо» зависит от вас и ваших близких.
Задача приложения
Для модели классификации: (1) напишите распределение классов, (2) создайте соответствующую базовую модель и измерьте ее оценку, (3) оцените свою модель с помощью 5-кратной перекрестной проверки и сообщите среднее и стандартное отклонение, (4) рассчитайте метрику, соответствующую проблеме (например, PR-AUC) вместо точности. Запишите, превосходит ли ваша модель базовую модель с большим отрывом и без смещения.
контрольный список
- [ ] Я выбрал метрику в зависимости от типа проблемы и бизнес-контекста.
- [ ] Я построил базовую модель и сравнил ее.
- [ ] Я сообщил среднее значение и отклонение с помощью перекрестной проверки.
- [ ] Я подтвердил, что улучшение превышает отклонение.
- [ ] Я выбрал гиперпараметры с набором проверки.
- [ ] Я использовал тестовый набор только один раз, в самом конце.