В машинном обучении существует опасная ловушка: показатель точности (accuracy) может быть чрезвычайно высоким, в то время как сама модель остается абсолютно бесполезной. Эндрю Ын, один из ведущих экспертов в области ИИ и основатель DeepLearning.AI, подробно разбирает проблему «перекошенных» (skewed) наборов данных, где соотношение положительных и отрицательных примеров далеко от пропорции 50/50. В этом материале рассматриваются инструменты, позволяющие избежать ложных выводов о качестве работы алгоритма.
📉 Проблема перекошенных данных 0:02
Когда один класс в данных встречается значительно чаще другого, стандартная метрика точности перестает отражать реальное положение дел . Ын приводит пример из производственной сферы: если компания выпускает смартфоны и 99,7% из них не имеют дефектов, то простейший алгоритм, который всегда выдает ответ «брака нет», покажет впечатляющую точность в 99,7% . Однако такая модель не имеет никакой практической ценности, так как она не способна обнаружить те самые 0,3% бракованных устройств.
Аналогичная ситуация наблюдается и в других областях:
- Медицинская диагностика: Если 99% пациентов здоровы, алгоритм, предсказывающий отсутствие болезни у каждого встречного, будет прав в 99% случаев .
- Распознавание речи: При разработке систем обнаружения триггер-слов (wake words), таких как «Alexa», «Окей, Google» или «Hey Siri», большую часть времени никто эти слова не произносит .
Эндрю Ын делится личным опытом разработки систем распознавания ключевых фраз: в наборах данных, которые он использовал, было 96,7% отрицательных примеров и лишь 3,3% положительных . В таких условиях «сырая» точность — бесполезная метрика .
📊 Матрица ошибок (Confusion Matrix) 1:47
Вместо того чтобы полагаться на общую точность, Ын рекомендует строить матрицу ошибок — таблицу, где одна ось представляет реальные метки (ground truth), а вторая — предсказания алгоритма .
Матрица разделяет все результаты на четыре категории:
- True Negatives (Истинно отрицательные): Реальная метка 0, и алгоритм предсказал 0 .
- True Positives (Истинно положительные): Реальная метка 1, и предсказание 1 .
- False Negatives (Ложноотрицательные): Алгоритм предсказал 0 (отсутствие события), но на самом деле там была 1 .
- 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:
- Это способ объединить точность и полноту в одно число .
- Математически это среднее гармоническое между Precision и Recall .
- Формула устроена так, что показатель будет низким, если хотя бы одна из составляющих (P или R) очень мала .
Использование F1 Score позволяет четко увидеть преимущество одной модели над другой. Однако Ын подчеркивает, что это не единственный путь: в зависимости от приложения вес точности и полноты может меняться .
📱 Применение в производстве и мультиклассовая классификация 9:21
Методы оценки на перекошенных данных применимы не только в бинарной классификации, но и в задачах с несколькими классами. Например, при поиске дефектов в смартфонах .
Ын перечисляет типы редких дефектов, которые важно отслеживать:
- Царапины (scratches);
- Вмятины (dents);
- Следы от ударов или проколов (pit marks), возникающие, например, при попадании отвертки в корпус ;
- Обесцвечивание LCD-экрана .
В заводских условиях приоритеты часто смещены. По мнению Ына, на многих фабриках важнее иметь высокий Recall, чтобы ни один бракованный телефон не попал к клиенту . Если при этом Recall высок, а Precision чуть ниже — это допустимо, так как человек может перепроверить подозрительное устройство и подтвердить, что оно в порядке .
Комбинирование Precision и Recall через F1 Score для каждого типа дефектов в отдельности помогает инженерам приоритизировать работу . Вместо того чтобы пытаться улучшить общую точность (которая и так будет высокой из-за редкости дефектов), команда может сосредоточиться на самом проблемном типе брака, где F1 Score минимален .
В завершение Эндрю Ын отмечает, что понимание этих метрик — критический шаг перед переходом к финальному этапу контроля качества, который он называет «аудитом производительности» (performance auditing) .