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

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

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

```wiki

Содержание

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

Многоклассовая классификация — это задача машинного обучения, в которой модель должна отнести каждый объект к одному из трёх или более взаимоисключающих классов. В отличие от бинарной классификации, где есть только два возможных исхода (например, «спам» или «не спам»), в многоклассовой постановке пространство меток содержит $K > 2$ категорий.

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

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


\sum_{k=1}^{K} p(y=k|x) = 1, \quad p(y=k|x) \geq 0.

Основные подходы

One-vs-Rest (OvR)

Подход «один против всех» сводит многоклассовую задачу к $K$ бинарным подзадачам: для каждого класса $k$ строится классификатор, который отделяет объекты класса $k$ от всех остальных. Итоговый прогноз — класс с наибольшей оценкой (или вероятностью).

  • Плюсы:* простота, масштабируемость, возможность использовать любые бинарные алгоритмы.
  • Минусы:* классы могут быть несбалансированы; решения не всегда согласованы.

One-vs-One (OvO)

Для каждой пары классов $(i, j)$ обучается отдельный бинарный классификатор. Всего получается $\binom{K}{2}$ моделей. При предсказании применяется голосование: объект относят к классу, который победил в наибольшем числе парных сравнений.

  • Плюсы:* каждый классификатор обучается на сбалансированной выборке (только два класса).
  • Минусы:* квадратичный рост числа моделей при увеличении $K$, что может быть затратно.

Прямые многоклассовые методы

Некоторые алгоритмы изначально поддерживают многоклассовую постановку без редукции к бинарным задачам: - деревья решений и ансамбли на их основе (например, случайный лес, градиентный бустинг) — естественным образом обобщаются на $K$ классов. - нейронные сети с выходным слоем из $K$ нейронов и функцией активации softmax. - методы опорных векторов в многоклассовых формулировках.

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

Для обучения моделей часто используют: - **Категориальную кросс-энтропию** (categorical cross-entropy) — стандартная функция потерь для вероятностных моделей: 
L = -\frac{1}{N}\sum_{i=1}^{N} \sum_{k=1}^{K} \mathbb{1}[y_i = k] \log p(y_i=k|x_i).
- **Мультиклассовый hinge loss** — обобщение hinge loss для SVM.

Распространённые метрики качества: - точность (accuracy) — доля правильно классифицированных объектов. - макро- и микро-усреднённые precision, recall, F1 — особенно важны при дисбалансе классов. - Матрица ошибок (confusion matrix) — позволяет детально анализировать ошибки между конкретными классами.

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

- **Дисбаланс классов.** Если некоторые классы представлены слабо, модель может игнорировать их. Применяют перевзвешивание классов, oversampling/undersampling, специальные функции потерь. - **Интерпретируемость.** В сложных моделях (например, глубоких сетях) бывает трудно понять, почему объект отнесён к конкретному классу. Для этого используют методы объяснимого ИИ (XAI): SHAP, LIME и др. - **Масштабируемость.** При большом числе классов ($K \gg 1000$) классические подходы становятся неэффективными. В таких случаях применяют иерархическую классификацию, методы с отрицательной выборкой, специализированные архитектуры.

Примеры и области применения

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

Современные тенденции и научные результаты

В последние годы активно развиваются методы, учитывающие структуру пространства классов (например, семантические связи между категориями) и эффективные способы работы с большим числом классов. Среди актуальных направлений: - Использование предобученных моделей (transfer learning) для быстрой адаптации к новым наборам классов. - Методы с иерархической структурой классов, где предсказание происходит поэтапно. - Техники смягчения проблемы дисбаланса: focal loss, re-weighting, mixup и др.

Классические и современные работы, на которые стоит обратить внимание: - Bishop, C. M. (2006). *Pattern Recognition and Machine Learning*. Springer — фундаментальное изложение вероятностных подходов, включая многоклассовую классификацию. - Hastie, T., Tibshirani, R., Friedman, J. (2009). *The Elements of Statistical Learning*. Springer — подробный разбор деревьев, ансамблей, SVM и других методов. - Goodfellow, I., Bengio, Y., Courville, A. (2016). *Deep Learning*. MIT Press — главы о softmax, функциях потерь и нейронных сетях. - Lin, T.-Y. et al. (2017). *Focal Loss for Dense Object Detection*. ICCV — про focal loss как способ борьбы с дисбалансом.

Полезные ссылки и инструменты

- Документация scikit-learn — реализация OvR, OvO, логистической регрессии, деревьев и ансамблей. - Фреймворки для глубокого обучения (PyTorch, TensorFlow) — позволяют легко строить многоклассовые модели с softmax и кросс-энтропией.

См. также

- бинарная классификация - softmax - функция потерь - ансамблевые методы - объяснимый ИИ ```

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