Эндрю Ын: «Высокая точность на перекошенных данных — это иллюзия»

DeepLearning.AI 15 тыс. 12 мин 4 мин 21.04.2022
Главное

В машинном обучении существует опасная ловушка: показатель точности (accuracy) может быть чрезвычайно высоким, в то время как сама модель остается абсолютно бесполезной. Эндрю Ын, один из ведущих экспертов в области ИИ и основатель DeepLearning.AI, подробно разбирает проблему «перекошенных» (skewed) наборов данных, где соотношение положительных и отрицательных примеров далеко от пропорции 50/50. В этом материале рассматриваются инструменты, позволяющие избежать ложных выводов о качестве работы алгоритма.

📉 Проблема перекошенных данных 0:02

Когда один класс в данных встречается значительно чаще другого, стандартная метрика точности перестает отражать реальное положение дел . Ын приводит пример из производственной сферы: если компания выпускает смартфоны и 99,7% из них не имеют дефектов, то простейший алгоритм, который всегда выдает ответ «брака нет», покажет впечатляющую точность в 99,7% . Однако такая модель не имеет никакой практической ценности, так как она не способна обнаружить те самые 0,3% бракованных устройств.

Аналогичная ситуация наблюдается и в других областях:

Эндрю Ын делится личным опытом разработки систем распознавания ключевых фраз: в наборах данных, которые он использовал, было 96,7% отрицательных примеров и лишь 3,3% положительных . В таких условиях «сырая» точность — бесполезная метрика .

📊 Матрица ошибок (Confusion Matrix) 1:47

Вместо того чтобы полагаться на общую точность, Ын рекомендует строить матрицу ошибок — таблицу, где одна ось представляет реальные метки (ground truth), а вторая — предсказания алгоритма .

Матрица разделяет все результаты на четыре категории:

  1. True Negatives (Истинно отрицательные): Реальная метка 0, и алгоритм предсказал 0 .
  2. True Positives (Истинно положительные): Реальная метка 1, и предсказание 1 .
  3. False Negatives (Ложноотрицательные): Алгоритм предсказал 0 (отсутствие события), но на самом деле там была 1 .
  4. False Positives (Ложноположительные): Алгоритм предсказал 1, но на самом деле там был 0 .

На примере набора из 1000 образцов (914 отрицательных и 86 положительных) Ын демонстрирует, как данные распределяются внутри матрицы, позволяя вычислить более глубокие метрики .

🎯 Точность vs Полнота: Precision и Recall 4:13

Для оценки качества работы на специфических данных используются два ключевых показателя: Precision (Точность) и Recall (Полнота) .

Precision (Точность) отвечает на вопрос: «Из всех случаев, которые алгоритм пометил как положительные, какая часть оказалась верной?» . Формула выглядит так: Precision = True Positives / (True Positives + False Positives) В примере Эндрю Ына этот показатель составил 88,3% .

Recall (Полнота) фокусируется на другом аспекте: «Какую долю из всех реально положительных случаев удалось поймать алгоритму?» . Формула: Recall = True Positives / (True Positives + False Negatives) В рассматриваемом примере полнота составила 79,1% .

По словам Ына, эти метрики гораздо полезнее точности. Если мы возьмем «бесполезный» алгоритм, который всегда предсказывает 0, его Recall будет равен 0% . Это сразу подсветит проблему: модель не находит ни одного полезного положительного примера .

⚖️ Как сравнить две модели: F1 Score 7:35

Часто возникает ситуация, когда у одной модели выше Precision, а у другой — Recall. Чтобы выбрать лучшую, Эндрю Ын предлагает использовать F1 Score .

Основные характеристики F1 Score:

Использование F1 Score позволяет четко увидеть преимущество одной модели над другой. Однако Ын подчеркивает, что это не единственный путь: в зависимости от приложения вес точности и полноты может меняться .

📱 Применение в производстве и мультиклассовая классификация 9:21

Методы оценки на перекошенных данных применимы не только в бинарной классификации, но и в задачах с несколькими классами. Например, при поиске дефектов в смартфонах .

Ын перечисляет типы редких дефектов, которые важно отслеживать:

В заводских условиях приоритеты часто смещены. По мнению Ына, на многих фабриках важнее иметь высокий Recall, чтобы ни один бракованный телефон не попал к клиенту . Если при этом Recall высок, а Precision чуть ниже — это допустимо, так как человек может перепроверить подозрительное устройство и подтвердить, что оно в порядке .

Комбинирование Precision и Recall через F1 Score для каждого типа дефектов в отдельности помогает инженерам приоритизировать работу . Вместо того чтобы пытаться улучшить общую точность (которая и так будет высокой из-за редкости дефектов), команда может сосредоточиться на самом проблемном типе брака, где F1 Score минимален .

В завершение Эндрю Ын отмечает, что понимание этих метрик — критический шаг перед переходом к финальному этапу контроля качества, который он называет «аудитом производительности» (performance auditing) .

💬 Цитаты

«Если 99% пациентов не больны, алгоритм, предсказывающий, что никто никогда не болеет, будет иметь точность 99%.»

«F1 — это способ объединения точности и полноты, который делает акцент на худшем из этих двух показателей.»

👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Skewed data sets
Наборы данных, в которых один класс (например, здоровые люди) встречается во много раз чаще другого (больные).
Ground truth
Реальное, подтвержденное значение целевой метки, с которым сравнивается предсказание модели.
Wake word detection
Технология распознавания команд активации голосовых помощников, таких как 'Alexa' или 'Siri'.
Harmonic mean
Математический способ вычисления среднего значения, который сильно снижается, если хотя бы один из аргументов близок к нулю.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Эндрю Ын MLOps DeepLearning.AI F1 Score Confusion Matrix