Многоклассовая классификация
Многоклассовая классификация — это задача машинного обучения, в которой объект (пример) необходимо отнести к одному из трёх или более взаимоисключающих классов. В отличие от бинарной классификации, где возможно только два варианта (например, «да» или «нет»), многоклассовая классификация предполагает выбор единственного правильного варианта из конечного множества. Данная задача является одной из фундаментальных в области обучения с учителем (supervised learning).
Основные характеристики
Главное свойство многоклассовой классификации — взаимоисключаемость классов. Каждый объект может принадлежать только одному классу. Например, на изображении может быть изображена либо «кошка», либо «собака», либо «птица», но не два животных одновременно. Если же объект может одновременно принадлежать нескольким классам (например, на изображении есть и кошка, и собака), задача переходит в категорию многометочной классификации (multi-label classification).
Формально задача формулируется следующим образом: имеется множество объектов \( X \) и множество меток классов \( Y = \{1, 2, ..., K\} \), где \( K \geq 3 \). Требуется построить функцию \( f: X \rightarrow Y \), которая каждому объекту ставит в соответствие одну метку класса.
Методы решения
Существует два основных подхода к решению задач многоклассовой классификации: преобразование задачи в набор бинарных классификаций и прямое многоклассовое моделирование.
Преобразование в бинарные задачи
Наиболее распространённые методы преобразования:
- «Один против всех» (One-vs-All, OvA, или One-vs-Rest, OvR). Для каждого класса \( i \) строится свой бинарный классификатор, который отличает объекты класса \( i \) от всех остальных объектов. При классификации нового объекта все \( K \) классификаторов вычисляют свои оценки, и объект относится к классу, чей классификатор дал наибольшую уверенность. Этот метод прост в реализации и хорошо масштабируется на большое количество классов, но может страдать от несбалансированности данных (класс \( i \) против всех остальных).
- «Один против одного» (One-vs-One, OvO). Для каждой пары классов \( (i, j) \) строится свой бинарный классификатор. Всего строится \( \frac{K(K-1)}{2} \) классификаторов. При классификации каждый классификатор «голосует» за один из двух классов, и объект относится к классу, набравшему наибольшее количество голосов. Метод требует больше вычислительных ресурсов при большом \( K \), но каждый классификатор обучается на меньшем, более сбалансированном наборе данных.
Прямые многоклассовые методы
Некоторые алгоритмы машинного обучения изначально разработаны для работы с несколькими классами без преобразования:
- Метод k-ближайших соседей (k-NN). Класс объекта определяется по большинству среди \( k \) его ближайших соседей в многомерном пространстве признаков.
- Наивный байесовский классификатор. Вычисляет апостериорную вероятность принадлежности объекта каждому из классов на основе теоремы Байеса и выбирает класс с максимальной вероятностью.
- Многослойный перцептрон (нейронные сети). Выходной слой нейронной сети содержит \( K \) нейронов, каждый из которых соответствует одному классу. Функция активации softmax преобразует выходные значения нейронов в вероятности, сумма которых равна 1. Объект относится к классу с наибольшей вероятностью. Этот подход является основой для современных глубоких нейросетей.
- Деревья решений и случайный лес. Эти алгоритмы способны естественным образом разделять пространство признаков на несколько областей, каждая из которых соответствует одному классу.
- Метод опорных векторов (SVM). Хотя SVM изначально является бинарным классификатором, существуют его многоклассовые модификации, которые строят разделяющие гиперплоскости между всеми классами одновременно.
Оценка качества
Для оценки качества многоклассовой классификации используются метрики, обобщающие результаты бинарной классификации на несколько классов. Основные из них:
- Accuracy (точность). Доля правильно классифицированных объектов от общего числа объектов. Простая, но может быть обманчивой при сильном дисбалансе классов.
- Матрица ошибок (Confusion Matrix). Таблица \( K \times K \), где строки соответствуют истинным классам, а столбцы — предсказанным. Позволяет детально проанализировать, какие классы чаще всего путаются между собой.
- Precision, Recall, F1-score. Для каждого класса вычисляются свои значения, после чего они усредняются. Существует три способа усреднения:
- Микро-усреднение (micro). Суммируются все истинно положительные, ложноположительные и ложноотрицательные результаты по всем классам, и на их основе вычисляется метрика. Даёт одинаковый вес каждому объекту.
- Макро-усреднение (macro). Вычисляется метрика для каждого класса, а затем берётся их среднее арифметическое. Даёт одинаковый вес каждому классу, независимо от его размера.
- Взвешенное усреднение (weighted). Аналогично макро-усреднению, но каждое значение метрики для класса умножается на долю объектов этого класса в выборке. Учитывает дисбаланс классов.
Примеры применения
Многоклассовая классификация широко применяется в различных областях:
- Распознавание образов: классификация изображений (например, определение породы собаки, типа дорожного знака, вида растения).
- Обработка естественного языка: анализ тональности текста (позитивный, негативный, нейтральный), определение тематики документа (спорт, политика, экономика), распознавание речи (классификация произнесённых фонем).
- Медицинская диагностика: классификация заболеваний по результатам анализов или снимков (например, тип опухоли).
- Биоинформатика: классификация последовательностей ДНК или белков по их функциям.
- Финансы: кредитный скоринг (отнесение заёмщика к одной из групп риска).
Связь с другими задачами
Многоклассовую классификацию не следует путать с другими родственными задачами:
- Многометочная классификация: один объект может принадлежать нескольким классам одновременно.
- Задача ранжирования: требуется не просто отнести объект к классу, а упорядочить все классы по степени их релевантности для объекта.
- Регрессия: предсказание непрерывного числового значения, а не дискретной метки класса.
Интересные факты
- В задачах с очень большим числом классов (например, классификация изображений из тысяч категорий) часто используется иерархическая классификация, где классы организованы в дерево. Сначала объект относится к общему классу на верхнем уровне, а затем — к более конкретному подклассу.
- Метод «Один против одного» исторически был популярен в алгоритмах SVM, так как бинарные SVM хорошо работают на небольших выборках, а каждая пара классов образует именно такую выборку.
Источники
- Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.
- Hastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning (2nd ed.). Springer.
- Murphy, K. P. (2012). Machine Learning: A Probabilistic Perspective. MIT Press.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →