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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Функции потерь)
 
Строка 1: Строка 1:
 +
{{well|Статья написана с использованием LLM '''ChatGPT 5.5''' и проверена участником [[Liliia Davletova]]}}
 +
= Многоклассовая классификация =
= Многоклассовая классификация =

Текущая версия

Статья написана с использованием LLM ChatGPT 5.5 и проверена участником Liliia Davletova


Содержание

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

Многоклассовая классификация — задача машинного обучения, в которой требуется отнести каждый объект к одному из трёх и более взаимоисключающих классов на основании наблюдаемых признаков. Является одним из фундаментальных разделов обучения с учителем и применяется в компьютерном зрении, обработке естественного языка, биоинформатике, медицинской диагностике, рекомендательных системах и других областях.

В отличие от бинарной классификации, где возможны только два класса, при многоклассовой классификации алгоритм выбирает один класс из множества возможных. Примерами являются распознавание рукописных цифр (10 классов), классификация видов растений, определение языка текста или диагностика заболевания по нескольким категориям.

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

Пусть задано множество объектов

\mathcal{D} = {(x_i, y_i)}_{i=1}^{N},

где x_i \in \mathbb{R}^{d} — вектор признаков, а

y_i \in {1,\ldots,K}

— номер одного из K классов.

Требуется построить функцию

f : X \rightarrow {1,\ldots,K},

которая минимизирует вероятность ошибки на новых данных.

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

P(y=k\mid x),

после чего выбирается класс с максимальной вероятностью:

\hat y=\arg\max_k P(y=k|x).

История

Первые методы многоклассовой классификации появились в статистической теории распознавания образов в середине XX века. Существенный вклад внесли работы по линейному дискриминантному анализу, логистической регрессии и байесовским классификаторам.

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

С начала 2010-х годов доминирующими стали методы глубокого обучения, использующие многослойные нейронные сети и функцию потерь Softmax с кросс-энтропией.

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

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

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

В нейронных сетях обычно используется последний слой Softmax, который преобразует выходы модели в вероятностное распределение по классам.

Сведение к бинарной классификации

Для алгоритмов, ориентированных на бинарные задачи, применяются специальные схемы.

One-vs-Rest

Каждый классификатор обучается отличать один класс от всех остальных.

Преимущества:

  • простота реализации;
  • небольшое число моделей (K).

Недостатки:

  • возможен сильный дисбаланс классов;
  • вероятности различных моделей плохо согласованы между собой.

One-vs-One

Строится отдельный классификатор для каждой пары классов.

Количество моделей составляет

\frac{K(K-1)}{2}

Итоговое решение принимается голосованием либо агрегированием вероятностей.

Error-Correcting Output Codes

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

Методы машинного обучения

Логистическая регрессия

Многономиальная логистическая регрессия моделирует вероятности всех классов одновременно посредством функции Softmax. Благодаря выпуклой оптимизации является одним из наиболее интерпретируемых методов.

Метод опорных векторов

Классический метод опорных векторов первоначально был разработан для бинарной классификации. Для многоклассовых задач обычно используются схемы One-vs-One, One-vs-Rest либо специализированные многоклассовые постановки.

Деревья решений

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

Ансамблевые методы

Случайный лес и градиентный бустинг являются одними из наиболее успешных классических алгоритмов. Они эффективно работают с табличными данными и устойчивы к шуму.

Глубокие нейронные сети

Современные нейронные сети являются стандартом де-факто для задач компьютерного зрения и обработки естественного языка. Архитектуры CNN, Transformer и Vision Transformer позволяют классифицировать тысячи категорий с высокой точностью.

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

Наиболее распространённой является категориальная кросс-энтропия:

L=-\sum_{k=1}^{K} y_k \log p_k.

Для несбалансированных данных применяются:

  • Focal Loss;
  • взвешенная кросс-энтропия;
  • Label Smoothing;
  • Balanced Softmax.

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

Для оценки качества многоклассовых моделей используются:

При сильном дисбалансе классов точность (Accuracy) может быть недостаточно информативной, поэтому обычно дополнительно анализируются Precision, Recall и F-мера.

Дисбаланс классов

Во многих практических задачах различные классы представлены неодинаково.

Для борьбы с дисбалансом применяются:

  • повторная выборка данных;
  • генерация примеров (SMOTE);
  • взвешивание функции потерь;
  • Focal Loss;
  • ансамблевые методы.

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

В последние годы исследования сосредоточены на нескольких направлениях.

Большое число классов

В задачах поиска изображений и интернет-каталогов число классов может достигать миллионов. Для таких случаев разрабатываются иерархические Softmax, Approximate Nearest Neighbor и методы поиска по эмбеддингам.

Few-shot и Zero-shot классификация

Современные модели способны распознавать новые категории по небольшому числу примеров (Few-shot Learning) либо исключительно по текстовому описанию (Zero-shot Learning).

Наиболее известными моделями являются CLIP и последующие мультимодальные архитектуры.

Самообучение

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

Калибровка вероятностей

Одной из актуальных задач является получение хорошо откалиброванных вероятностей. Наиболее распространены методы Temperature Scaling, Platt Scaling и Isotonic Regression.

Области применения

Многоклассовая классификация используется в:

См. также

Примечания

Литература

  • Bishop C. M. Pattern Recognition and Machine Learning. — Springer, 2006.
  • Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning. — 2-е. — Springer, 2009.
  • Rifkin R., Klautau A. In Defense of One-vs-All Classification // Journal of Machine Learning Research. — 2004. — Т. 5. — С. 101–141.
  • Dietterich T., Bakiri G. Solving Multiclass Learning Problems via Error-Correcting Output Codes // Journal of Artificial Intelligence Research. — 1995. — Т. 2. — С. 263–286.
  • Deng J., Dong W., Socher R., Li L.-J., Li K., Fei-Fei L. ImageNet: A Large-Scale Hierarchical Image Database // CVPR. — 2009.
  • He K., Zhang X., Ren S., Sun J. Deep Residual Learning for Image Recognition // CVPR. — 2016.
  • Radford A. и др. Learning Transferable Visual Models From Natural Language Supervision // ICML. — 2021.
  • Guo C., Pleiss G., Sun Y., Weinberger K. On Calibration of Modern Neural Networks // ICML. — 2017.
  • Lin T.-Y., Goyal P., Girshick R., He K., Dollár P. Focal Loss for Dense Object Detection // ICCV. — 2017.
Личные инструменты