Многоклассовая классификация

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
Строка 1: Строка 1:
-
```wiki
+
= Многоклассовая классификация =
-
{{Статья
+
-
| Название = Многоклассовая классификация
+
-
| Область = Машинное обучение
+
-
| Уровень = Новичок — Профессионал
+
-
}}
+
-
== Определение ==
+
'''Многоклассовая классификация''' ({{lang-en|Multiclass Classification}}) — задача [[Машинное обучение]] (Machine Learning), в которой требуется отнести каждый объект к одному из нескольких заранее известных взаимоисключающих классов. В отличие от [[Бинарная классификация|бинарной классификации]] (Binary Classification), где возможны только два класса, при многоклассовой классификации число классов равно трём и более.
-
[[Многоклассовая классификация]] — это задача [[обучение с учителем|обучения с учителем]], в которой модель должна отнести каждый объект к одному из более чем двух классов. В отличие от [[бинарная классификация|бинарной классификации]] (где есть только два класса, например, «спам» или «не спам»), здесь пространство меток содержит <tex>K > 2</tex> категорий.
+
Данная задача широко применяется в [[Компьютерное зрение|компьютерном зрении]] (Computer Vision), [[Обработка естественного языка|обработке естественного языка]] (Natural Language Processing), [[Распознавание речи]] (Automatic Speech Recognition), медицинской диагностике, промышленной автоматизации и рекомендательных системах.
-
Пример: классификация изображений по типам животных («кошка», «собака», «попугай», «черепаха») — это многоклассовая задача с <tex>K=4</tex>.
+
== Постановка задачи ==
-
---
+
Пусть задано множество объектов <math>X</math> и конечное множество классов <math>Y={1,\ldots,K}</math>, где <math>K>2</math>. Требуется построить отображение
-
== Формальная постановка задачи ==
+
:<math>f:X\rightarrow Y,</math>
-
Пусть дано множество объектов <tex>\mathcal{X}</tex> и множество меток <tex>\mathcal{Y} = \{1, 2, \dots, K\}</tex>, где <tex>K>2</tex>. Имеется обучающая выборка <tex>\{(x_i, y_i)\}_{i=1}^N</tex>, где <tex>x_i \in \mathcal{X}</tex>, <tex>y_i \in \mathcal{Y}</tex>. Цель — построить функцию <tex>f: \mathcal{X} \to \mathcal{Y}</tex>, которая минимизирует ошибку на новых данных.
+
которое по признаковому описанию объекта определяет наиболее вероятный класс.
-
Часто модель сначала предсказывает вектор оценок (логитов) <tex>z(x) \in \mathbb{R}^K</tex>, а затем преобразует их в вероятности с помощью [[softmax]]-функции:
+
Во многих современных алгоритмах оцениваются не только сами классы, но и апостериорные вероятности
-
<tex>
+
:<math>P(y=k\mid x),\qquad k=1,\ldots,K.</math>
-
p_k(x) = \frac{\exp(z_k(x))}{\sum_{j=1}^{K} \exp(z_j(x))}
+
-
</tex>
+
-
Класс выбирается как индекс максимального значения: <tex>\hat{y}(x) = \arg\max_k p_k(x)</tex>.
+
Вероятности позволяют учитывать неопределённость модели, выбирать пороги принятия решений и выполнять [[Калибровка вероятностей]] (Probability Calibration).
-
---
+
== Основные методы ==
-
== Основные подходы ==
+
Существует несколько подходов к решению задачи.
-
=== Прямые методы ===
+
* [[Логистическая регрессия]] (Logistic Regression) с функцией [[Мягкий максимум]] (Softmax) — один из наиболее распространённых линейных методов.
 +
* [[Дерево решений]] (Decision Tree) и [[Случайный лес]] (Random Forest) естественным образом поддерживают несколько классов.
 +
* [[Градиентный бустинг]] (Gradient Boosting) обеспечивает высокую точность на табличных данных.
 +
* [[Метод опорных векторов]] (Support Vector Machine) обычно использует схемы ''One-vs-Rest'' или ''One-vs-One''.
 +
* [[Нейронная сеть]] (Neural Network) с выходным слоем Softmax является стандартным решением для задач компьютерного зрения и обработки текстов.
-
Модель обучается сразу на <tex>K</tex> классах. Это стандартный подход для большинства современных алгоритмов:
+
Во многих библиотеках машинного обучения поддержка многоклассовой классификации встроена и не требует специальных модификаций алгоритма.
-
* [[нейронная сеть|Нейронные сети]] с выходным слоем размера <tex>K</tex> и функцией активации [[softmax]].
+
== Оценка качества ==
-
* [[логистическая регрессия|Многоклассовая логистическая регрессия]] (softmax-регрессия).
+
-
* Некоторые реализации [[деревья решений|деревьев решений]] и [[случайный лес|случайных лесов]] поддерживают многоклассовость напрямую.
+
-
=== Методы сведения к бинарным задачам ===
+
Точность модели оценивается с помощью различных метрик.
-
Когда алгоритм изначально разработан для бинарной классификации, используют стратегии сведения:
+
Наиболее распространённой является [[Точность классификации]] (Accuracy), однако при несбалансированных данных её использование может приводить к ошибочным выводам.
-
* **One-vs-Rest (OvR)**: обучается <tex>K</tex> бинарных классификаторов, каждый из которых отделяет один класс от всех остальных. Итоговый прогноз — класс с наибольшей оценкой.
+
Часто также применяются:
-
* **One-vs-One (OvO)**: обучается <tex>\binom{K}{2}</tex> классификаторов для каждой пары классов. Прогноз определяется голосованием.
+
-
Эти стратегии полезны, когда нужно применить бинарный метод к многоклассовой задаче, но при больших <tex>K</tex> могут быть вычислительно затратными.
+
* [[Матрица ошибок]] (Confusion Matrix);
 +
* [[Precision и Recall]];
 +
* [[F-мера]] (F-score);
 +
* Macro-, Micro- и Weighted-усреднение метрик;
 +
* [[ROC-кривая]] (ROC Curve) и площадь под ней (AUC) в схемах ''One-vs-Rest''.
-
---
+
При наличии выраженного дисбаланса классов предпочтение обычно отдаётся макроусреднённым метрикам, которые одинаково учитывают качество распознавания каждого класса.
-
== Функции потерь ==
+
== Основные трудности ==
-
Для обучения моделей в многоклассовой классификации чаще всего используют [[кросс-энтропия|кросс-энтропийную]] функцию потерь:
+
Практические задачи многоклассовой классификации редко бывают идеальными.
-
<tex>
+
Наиболее распространёнными проблемами являются:
-
\mathcal{L} = -\frac{1}{N} \sum_{i=1}^{N} \log p_{y_i}(x_i)
+
-
</tex>
+
-
Она штрафует модель за низкую вероятность правильного класса. В задачах с дисбалансом классов применяют модификации, например, взвешенную кросс-энтропию или [[focal loss]].
+
* [[Дисбаланс классов]] (Class Imbalance);
 +
* недостаток размеченных данных;
 +
* шум и ошибки в разметке;
 +
* сильное сходство отдельных классов;
 +
* [[Переобучение]] (Overfitting);
 +
* появление объектов, принадлежащих неизвестным классам (''Open-set Recognition'').
-
---
+
Для борьбы с этими проблемами применяются [[Регуляризация]] (Regularization), [[Аугментация данных]] (Data Augmentation), взвешивание функции потерь, повторная выборка данных, ансамбли моделей и методы оценки неопределённости.
-
== Практические сложности и нюансы ==
+
== Современные направления исследований ==
-
* **Дисбаланс классов**: если одни классы встречаются значительно чаще других, модель может игнорировать редкие категории. Решения: взвешивание классов, [[аугментация данных|аугментация]] меньшинства, специальные функции потерь.
+
Активно развиваются методы [[Глубокое обучение]] (Deep Learning), позволяющие автоматически извлекать информативные признаки из изображений, текста и звука.
-
* **Неопределённость и калибровка**: вероятности, выдаваемые моделью, не всегда отражают реальную уверенность. Для калибровки применяют методы вроде [[Platt scaling]] или изотонической регрессии.
+
-
* **Оценка качества**: вместо простой точности ([[accuracy]]) используют более информативные метрики:
+
-
* [[macro-average F1]] — усреднение по классам, полезно при дисбалансе.
+
-
* [[micro-average F1]] — учитывает размер классов.
+
-
* Матрица ошибок ([[confusion matrix]]) помогает увидеть, какие классы модель путает.
+
-
---
+
Большое внимание уделяется следующим направлениям:
-
== Примеры применения ==
+
* [[Трансформер]] (Transformer);
 +
* [[Самообучение]] (Self-supervised Learning);
 +
* [[Обучение с переносом]] (Transfer Learning);
 +
* [[Обнаружение выхода за пределы распределения]] (Out-of-Distribution Detection);
 +
* [[Калибровка вероятностей]] (Probability Calibration);
 +
* [[Объяснимый искусственный интеллект]] (Explainable AI).
-
* Классификация текстов по темам (новости, спорт, наука и т. д.).
+
Эти исследования направлены на повышение устойчивости моделей и повышение доверия пользователей к принимаемым ими решениям.
-
* Распознавание рукописных цифр и символов.
+
-
* Медицинская диагностика по снимкам (несколько типов патологий).
+
-
* Определение жанра музыки или типа сцены в видео.
+
-
---
+
== Риски и ограничения ==
-
== Связь с родственными задачами ==
+
Несмотря на широкое распространение многоклассовой классификации, её применение связано с рядом рисков.
-
* [[Многозначная классификация]]: объект может принадлежать сразу нескольким классам (в отличие от многоклассовой, где класс ровно один).
+
=== Некорректная интерпретация результатов ===
-
* [[Иерархическая классификация]]: классы организованы в дерево, и предсказание может учитывать структуру иерархии.
+
-
---
+
Наиболее распространённым риском является неверное понимание вероятностей модели. Высокое значение Softmax не всегда означает высокую уверенность классификатора.
-
== Актуальные направления исследований ==
+
Для уменьшения риска применяются методы [[Калибровка вероятностей]] (Probability Calibration), доверительные интервалы и оценка неопределённости. Исследования в области [[Согласованность искусственного интеллекта]] (AI Alignment) стремятся сделать оценки уверенности моделей более соответствующими реальному уровню знаний системы, чтобы пользователи принимали более обоснованные решения.
-
Современные работы в области многоклассовой классификации фокусируются на:
+
=== Смещение обучающих данных ===
-
* Улучшении обобщения при малом числе примеров на класс (few-shot learning).
+
Если обучающая выборка недостаточно представляет некоторые группы объектов, модель систематически ошибается именно на них.
-
* Балансировке качества между частыми и редкими классами.
+
-
* Интерпретируемости решений моделей, особенно в критических областях (медицина, финансы).
+
-
Среди значимых публикаций можно отметить работы, посвящённые:
+
Для снижения риска используются балансировка данных, аудит датасетов, мониторинг качества после внедрения и методы [[Справедливость машинного обучения]] (Fair Machine Learning).
-
* Стратегиям борьбы с дисбалансом в глубоких сетях (например, исследования по взвешиванию классов и ресемплингу).
+
Работы по AI Alignment уделяют большое внимание обнаружению систематических смещений, разработке процедур оценки справедливости моделей и созданию более репрезентативных наборов данных.
-
* Калибровке вероятностей в современных архитектурах.
+
-
* Эффективным методам сведения многоклассовых задач к бинарным в условиях больших <tex>K</tex>.
+
-
Для поиска актуальных статей рекомендуется использовать базы: [[arXiv]], [[Google Scholar]], [[IEEE Xplore]]. Ключевые запросы: «multiclass classification», «class imbalance», «probability calibration».
+
=== Ошибки в критически важных приложениях ===
-
---
+
В медицинской диагностике, управлении транспортом или промышленной автоматизации ошибки классификации могут приводить к серьёзным последствиям.
-
== Литература и источники ==
+
Поэтому применяются ансамбли моделей, контроль человеком (''Human-in-the-loop''), оценка неопределённости, независимая валидация и сертификация программного обеспечения.
-
1. Bishop, C. M. (2006). *Pattern Recognition and Machine Learning*. Springer. — фундаментальное изложение вероятностных подходов, включая многоклассовую классификацию.
+
Исследования по AI Alignment ориентированы на повышение надёжности моделей, интерпретируемости решений, отказоустойчивости и безопасного поведения при недостаточной уверенности.
-
2. Hastie, T., Tibshirani, R., Friedman, J. (2009). *The Elements of Statistical Learning*. Springer. — классические методы, включая линейные и нелинейные модели для многоклассовых задач.
+
-
3. Goodfellow, I., Bengio, Y., Courville, A. (2016). *Deep Learning*. MIT Press. — описание нейронных сетей и softmax-слоя для многоклассовой классификации.
+
-
4. Статьи на arXiv по запросам «multiclass imbalance» и «calibration in deep learning» — для ознакомления с последними результатами.
+
-
 
+
-
---
+
== См. также ==
== См. также ==
-
* [[Классификация (машинное обучение)]]
 
* [[Бинарная классификация]]
* [[Бинарная классификация]]
-
* [[Softmax]]
+
* [[Многозначная классификация]]
-
* [[Кросс-энтропия]]
+
* [[Обучение с учителем]]
 +
* [[Глубокое обучение]]
 +
* [[Калибровка вероятностей]]
* [[Матрица ошибок]]
* [[Матрица ошибок]]
-
```
+
* [[Обнаружение выхода за пределы распределения]]
 +
 
 +
== Примечания ==
 +
 
 +
<references/>
 +
 
 +
== Литература ==
 +
 
 +
{{книга
 +
|автор=Christopher M. Bishop
 +
|заглавие=Pattern Recognition and Machine Learning
 +
|место=New York
 +
|издательство=Springer
 +
|год=2006
 +
}}
 +
 
 +
{{книга
 +
|автор=Kevin P. Murphy
 +
|заглавие=Machine Learning: A Probabilistic Perspective
 +
|место=Cambridge
 +
|издательство=MIT Press
 +
|год=2012
 +
}}
 +
 
 +
{{книга
 +
|автор=Aurélien Géron
 +
|заглавие=Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow
 +
|издание=3
 +
|место=Sebastopol
 +
|издательство=O'Reilly Media
 +
|год=2022
 +
}}
 +
 
 +
{{статья
 +
|автор=Guo C., Pleiss G., Sun Y., Weinberger K. Q.
 +
|заглавие=On Calibration of Modern Neural Networks
 +
|издание=Proceedings of the 34th International Conference on Machine Learning
 +
|год=2017
 +
|страницы=1321–1330
 +
}}
 +
 
 +
{{статья
 +
|автор=Hendrycks D., Gimpel K.
 +
|заглавие=A Baseline for Detecting Misclassified and Out-of-Distribution Examples in Neural Networks
 +
|издание=International Conference on Learning Representations
 +
|год=2017
 +
}}

Версия 12:10, 30 июня 2026

Содержание

Многоклассовая классификация

Многоклассовая классификация (Шаблон:Lang-en) — задача Машинное обучение (Machine Learning), в которой требуется отнести каждый объект к одному из нескольких заранее известных взаимоисключающих классов. В отличие от бинарной классификации (Binary Classification), где возможны только два класса, при многоклассовой классификации число классов равно трём и более.

Данная задача широко применяется в компьютерном зрении (Computer Vision), обработке естественного языка (Natural Language Processing), Распознавание речи (Automatic Speech Recognition), медицинской диагностике, промышленной автоматизации и рекомендательных системах.

Постановка задачи

Пусть задано множество объектов <math>X</math> и конечное множество классов <math>Y={1,\ldots,K}</math>, где <math>K>2</math>. Требуется построить отображение

<math>f:X\rightarrow Y,</math>

которое по признаковому описанию объекта определяет наиболее вероятный класс.

Во многих современных алгоритмах оцениваются не только сами классы, но и апостериорные вероятности

<math>P(y=k\mid x),\qquad k=1,\ldots,K.</math>

Вероятности позволяют учитывать неопределённость модели, выбирать пороги принятия решений и выполнять Калибровка вероятностей (Probability Calibration).

Основные методы

Существует несколько подходов к решению задачи.

Во многих библиотеках машинного обучения поддержка многоклассовой классификации встроена и не требует специальных модификаций алгоритма.

Оценка качества

Точность модели оценивается с помощью различных метрик.

Наиболее распространённой является Точность классификации (Accuracy), однако при несбалансированных данных её использование может приводить к ошибочным выводам.

Часто также применяются:

При наличии выраженного дисбаланса классов предпочтение обычно отдаётся макроусреднённым метрикам, которые одинаково учитывают качество распознавания каждого класса.

Основные трудности

Практические задачи многоклассовой классификации редко бывают идеальными.

Наиболее распространёнными проблемами являются:

  • Дисбаланс классов (Class Imbalance);
  • недостаток размеченных данных;
  • шум и ошибки в разметке;
  • сильное сходство отдельных классов;
  • Переобучение (Overfitting);
  • появление объектов, принадлежащих неизвестным классам (Open-set Recognition).

Для борьбы с этими проблемами применяются Регуляризация (Regularization), Аугментация данных (Data Augmentation), взвешивание функции потерь, повторная выборка данных, ансамбли моделей и методы оценки неопределённости.

Современные направления исследований

Активно развиваются методы Глубокое обучение (Deep Learning), позволяющие автоматически извлекать информативные признаки из изображений, текста и звука.

Большое внимание уделяется следующим направлениям:

Эти исследования направлены на повышение устойчивости моделей и повышение доверия пользователей к принимаемым ими решениям.

Риски и ограничения

Несмотря на широкое распространение многоклассовой классификации, её применение связано с рядом рисков.

Некорректная интерпретация результатов

Наиболее распространённым риском является неверное понимание вероятностей модели. Высокое значение Softmax не всегда означает высокую уверенность классификатора.

Для уменьшения риска применяются методы Калибровка вероятностей (Probability Calibration), доверительные интервалы и оценка неопределённости. Исследования в области Согласованность искусственного интеллекта (AI Alignment) стремятся сделать оценки уверенности моделей более соответствующими реальному уровню знаний системы, чтобы пользователи принимали более обоснованные решения.

Смещение обучающих данных

Если обучающая выборка недостаточно представляет некоторые группы объектов, модель систематически ошибается именно на них.

Для снижения риска используются балансировка данных, аудит датасетов, мониторинг качества после внедрения и методы Справедливость машинного обучения (Fair Machine Learning).

Работы по AI Alignment уделяют большое внимание обнаружению систематических смещений, разработке процедур оценки справедливости моделей и созданию более репрезентативных наборов данных.

Ошибки в критически важных приложениях

В медицинской диагностике, управлении транспортом или промышленной автоматизации ошибки классификации могут приводить к серьёзным последствиям.

Поэтому применяются ансамбли моделей, контроль человеком (Human-in-the-loop), оценка неопределённости, независимая валидация и сертификация программного обеспечения.

Исследования по AI Alignment ориентированы на повышение надёжности моделей, интерпретируемости решений, отказоустойчивости и безопасного поведения при недостаточной уверенности.

См. также

Примечания


Литература

Christopher M. Bishop Pattern Recognition and Machine Learning. — New York: Springer, 2006.

Kevin P. Murphy Machine Learning: A Probabilistic Perspective. — Cambridge: MIT Press, 2012.

Aurélien Géron Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow. — 3. — Sebastopol: O'Reilly Media, 2022.

Guo C., Pleiss G., Sun Y., Weinberger K. Q. On Calibration of Modern Neural Networks // Proceedings of the 34th International Conference on Machine Learning. — 2017. — С. 1321–1330.

Hendrycks D., Gimpel K. A Baseline for Detecting Misclassified and Out-of-Distribution Examples in Neural Networks // International Conference on Learning Representations. — 2017.

Личные инструменты