Точность модели
Точность модели (accuracy) — доля правильных предсказаний среди всех предсказаний, сделанных моделью машинного обучения. Один из базовых показателей качества классификатора.
Что это
Точность модели (accuracy) — метрика качества в машинном обучении, которая показывает, какую долю объектов модель классифицировала правильно. Формула простая: число верных предсказаний делится на общее число предсказаний. Например, если модель верно определила 90 изображений из 100, её точность равна 0,90, или 90%. Это самая интуитивно понятная метрика, поэтому её часто используют как первый ориентир при оценке классификатора.
Зачем это нужно
Любая модель машинного обучения должна как-то оцениваться — иначе непонятно, стала ли она лучше после очередного обучения или хуже. Accuracy даёт быстрый и понятный ответ: «модель угадывает правильно в X% случаев». Это удобно при первичном сравнении нескольких моделей, при объяснении результатов заказчику или при выборе базового бейслайна. Однако именно из-за своей простоты accuracy часто вводит в заблуждение — особенно когда классы в данных распределены неравномерно.
Как это работает
Accuracy вычисляется на основе матрицы ошибок (confusion matrix). Для бинарной классификации матрица содержит четыре значения: TP (верно положительные), TN (верно отрицательные), FP (ложно положительные) и FN (ложно отрицательные). Формула: Accuracy = (TP + TN) / (TP + TN + FP + FN). Чем ближе значение к 1 (или 100%), тем лучше модель справляется с задачей — при условии, что данные сбалансированы. Для многоклассовой классификации логика та же: считается доля объектов, чей предсказанный класс совпал с реальным.
Примеры
- Распознавание рукописных цифр (датасет MNIST): модели на основе свёрточных нейросетей достигают accuracy выше 99,7% — задача считается практически решённой.
- Фильтрация спама: классификатор с accuracy 95% звучит убедительно, но если 98% писем — не спам, то модель, которая всегда отвечает «не спам», уже имеет accuracy 98% без какого-либо обучения.
- Медицинская диагностика рака: при редком заболевании (1% случаев в выборке) модель с accuracy 99% может просто игнорировать все положительные случаи — именно поэтому здесь важнее recall и F1-score.
- Оценка качества чат-бота: accuracy по тестовым диалогам используется как один из показателей при A/B-тестировании новых версий модели.
- Соревнования на Kaggle: accuracy часто фигурирует в лидербордах задач по классификации, но организаторы нередко выбирают другую метрику (например, AUC-ROC), если классы несбалансированы.
Связанные понятия
- Precision (точность) — доля верно предсказанных положительных случаев среди всех предсказанных положительных.
- Recall (полнота) — доля верно найденных положительных случаев среди всех реально положительных.
- F1-score — среднее гармоническое precision и recall; полезен при несбалансированных классах.
- AUC-ROC — площадь под кривой ROC; показывает, насколько хорошо модель разделяет классы при разных порогах.
- Матрица ошибок (confusion matrix) — таблица, на основе которой вычисляются все перечисленные метрики.
- Overfitting (переобучение) — ситуация, когда высокая accuracy на обучающей выборке не воспроизводится на тестовой.
Частые ошибки и мифы
Главный миф: высокая accuracy автоматически означает хорошую модель. Это работает только при сбалансированных классах. На несбалансированных данных — например, при обнаружении мошеннических транзакций, где 99% операций легальны — «тупая» модель, всегда предсказывающая «не мошенничество», покажет accuracy 99%, но будет абсолютно бесполезной. Ещё одна ошибка — оценивать accuracy только на обучающей выборке: модель может «вызубрить» данные и показать 100%, но провалиться на новых примерах. Всегда проверяйте метрику на отложенной тестовой выборке или через кросс-валидацию.