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

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

Перейти к: навигация, поиск

Шаблон:Викистатья

Содержание

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

    • Многоклассовая классификация** — задача машинного обучения, в которой требуется отнести каждый объект к одному из более чем двух классов. В отличие от бинарной классификации, где есть только два возможных исхода (например, «спам» или «не спам»), в многоклассовой постановке пространство меток содержит K > 2 классов: \mathcal{Y} = \{1, 2, \dots, K\}.

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

---

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

Пусть дана обучающая выборка \{(x_i, y_i)\}_{i=1}^N, где x_i \in \mathcal{X} — признаковое описание объекта (вектор, изображение, текст), а y_i \in \{1,\dots,K\} — его истинная метка класса. Цель — построить функцию f: \mathcal{X} \to \{1,\dots,K\}, которая будет правильно предсказывать класс для новых объектов.

Часто модель выдаёт не жёсткое решение, а вектор вероятностей принадлежности к классам: \hat{p}_i = (\hat{p}_{i1}, \dots, \hat{p}_{iK}), где \sum_{k=1}^{K} \hat{p}_{ik} = 1 и \hat{p}_{ik} \ge 0. Тогда финальный класс выбирается как \arg\max_k \hat{p}_{ik}.

---

Подходы к решению

      1. Прямые методы (native multiclass)

Некоторые алгоритмы изначально поддерживают многоклассовую постановку:

- деревья решений и ансамбли на их основе (случайные леса, градиентный бустинг) — строят правила разделения пространства признаков сразу на несколько классов. - SVM с многоклассовыми стратегиями (например, one-vs-rest или структурные SVM). - нейронные сети с выходным слоем из K нейронов и активацией softmax.

      1. Стратегии сведения к бинарным задачам

Когда базовый алгоритм умеет решать только бинарные задачи, применяют стратегии композиции:

- **One-vs-Rest (OvR)**: для каждого класса обучается отдельный классификатор «этот класс против всех остальных». Итого K бинарных моделей. - **One-vs-One (OvO)**: обучается \binom{K}{2} классификаторов, каждый различает пару классов. Финальный класс определяется голосованием. - **Древовидные стратегии**: классы организуются в бинарное дерево, и объект последовательно проходит по узлам, пока не достигнет листа.

На практике OvR и OvO часто реализуются как «обёртки» над бинарными алгоритмами и широко используются в библиотеках типа scikit-learn.

---

Функции потерь и обучение

Для нейронных сетей и многих вероятностных моделей стандартом является **кросс-энтропийная потеря** (categorical cross-entropy):


L = -\frac{1}{N}\sum_{i=1}^{N} \sum_{k=1}^{K} y_{ik} \log(\hat{p}_{ik}),

где y_{ik} — индикаторная переменная: 1, если объект i принадлежит классу k, и 0 иначе.

Для алгоритмов, не выдающих вероятности напрямую, используют другие критерии: например, долю ошибок (accuracy) или более устойчивые метрики при дисбалансе.

---

Метрики качества

Помимо общей точности (accuracy), важно оценивать качество по каждому классу:

- точность и полнота для каждого класса. - F1-мера, в том числе макро- и микроусреднённые версии. - Матрица ошибок (confusion matrix) — наглядно показывает, какие классы чаще всего путают.

При сильном дисбалансе классов accuracy может быть обманчиво высокой, поэтому используют взвешенные метрики и анализ по слабым классам.

---

Практические сложности и нюансы

- **Дисбаланс классов**: некоторые классы представлены гораздо реже остальных. Помогают техники вроде взвешивания классов, oversampling/undersampling, focal loss. - **Перекрытие классов**: объекты разных классов могут иметь схожие признаки. Здесь полезны ансамбли и более сложные модели. - **Интерпретируемость**: в критических областях (медицина, финансы) важно понимать, почему модель выбрала тот или иной класс.

---

Примеры применения

- Распознавание изображений: определение объекта среди десятков или сотен категорий (ImageNet). - Обработка естественного языка: классификация текста по темам, тональности, языку. - Медицина: дифференциальная диагностика по набору признаков.

Интересно, что задача определения фильма по кадру — это тоже многоклассовая классификация: каждый фильм выступает как отдельный класс, а модель должна выбрать наиболее вероятный из тысяч кандидатов.

---

Современные тенденции

В последние годы развитие многоклассовой классификации тесно связано с прогрессом в глубоком обучении:

- Большие предобученные модели (трансформеры, сверточные сети) дают сильные признаки, которые затем дообучаются под конкретную задачу. - Методы борьбы с дисбалансом и «длинным хвостом» классов (long-tail classification) активно исследуются. - Важным направлением остаётся интерпретируемость и надёжность предсказаний.

---

Литература и источники

  • Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning // Springer Series in Statistics. — 2009.
  • Murphy K. P. Machine Learning: A Probabilistic Perspective. — MIT Press, 2012.
  • Bishop C. M. Pattern Recognition and Machine Learning. — Springer, 2006.
  • Multiclass and multilabel algorithms // scikit-learn documentation.
  • He K., Zhang X., Ren S., Sun J. Deep Residual Learning for Image Recognition. — 2016.
  • Dosovitskiy A. et al. An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale. — 2021.

---

Шаблон:См. также