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

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

(Различия между версиями)
Перейти к: навигация, поиск
 
(6 промежуточных версий не показаны.)
Строка 1: Строка 1:
 +
{{well|Статья написана с использованием LLM '''ChatGPT 5.5''' и проверена участником [[Liliia Davletova]]}}
 +
= Многоклассовая классификация =
= Многоклассовая классификация =
-
'''Многоклассовая классификация''' ({{lang-en|Multiclass Classification}}) — задача [[Машинное обучение]] (Machine Learning), в которой требуется отнести каждый объект к одному из нескольких заранее известных взаимоисключающих классов. В отличие от [[Бинарная классификация|бинарной классификации]] (Binary Classification), где возможны только два класса, при многоклассовой классификации число классов равно трём и более.
+
'''Многоклассовая классификация''' — задача [[машинное обучение|машинного обучения]], в которой требуется отнести каждый объект к одному из трёх и более взаимоисключающих [[класс (машинное обучение)|классов]] на основании наблюдаемых [[признак (машинное обучение)|признаков]]. Является одним из фундаментальных разделов [[обучение с учителем|обучения с учителем]] и применяется в [[компьютерное зрение|компьютерном зрении]], [[обработка естественного языка|обработке естественного языка]], [[биоинформатика|биоинформатике]], медицинской диагностике, рекомендательных системах и других областях.
-
Данная задача широко применяется в [[Компьютерное зрение|компьютерном зрении]] (Computer Vision), [[Обработка естественного языка|обработке естественного языка]] (Natural Language Processing), [[Распознавание речи]] (Automatic Speech Recognition), медицинской диагностике, промышленной автоматизации и рекомендательных системах.
+
В отличие от [[бинарная классификация|бинарной классификации]], где возможны только два класса, при многоклассовой классификации алгоритм выбирает один класс из множества возможных. Примерами являются распознавание рукописных цифр (10 классов), классификация видов растений, определение языка текста или диагностика заболевания по нескольким категориям.
== Постановка задачи ==
== Постановка задачи ==
-
Пусть задано множество объектов <math>X</math> и конечное множество классов <math>Y={1,\ldots,K}</math>, где <math>K>2</math>. Требуется построить отображение
+
Пусть задано множество объектов
-
:<math>f:X\rightarrow Y,</math>
+
:<tex>\mathcal{D} = {(x_i, y_i)}_{i=1}^{N},</tex>
-
которое по признаковому описанию объекта определяет наиболее вероятный класс.
+
где <tex>x_i \in \mathbb{R}^{d}</tex> — вектор признаков, а
-
Во многих современных алгоритмах оцениваются не только сами классы, но и апостериорные вероятности
+
:<tex>y_i \in {1,\ldots,K}</tex>
-
:<math>P(y=k\mid x),\qquad k=1,\ldots,K.</math>
+
— номер одного из <tex>K</tex> классов.
-
Вероятности позволяют учитывать неопределённость модели, выбирать пороги принятия решений и выполнять [[Калибровка вероятностей]] (Probability Calibration).
+
Требуется построить функцию
-
== Основные методы ==
+
:<tex>f : X \rightarrow {1,\ldots,K},</tex>
-
Существует несколько подходов к решению задачи.
+
которая минимизирует вероятность ошибки на новых данных.
-
* [[Логистическая регрессия]] (Logistic Regression) с функцией [[Мягкий максимум]] (Softmax) — один из наиболее распространённых линейных методов.
+
Во многих современных алгоритмах модель оценивает вероятности принадлежности объекта каждому классу
-
* [[Дерево решений]] (Decision Tree) и [[Случайный лес]] (Random Forest) естественным образом поддерживают несколько классов.
+
-
* [[Градиентный бустинг]] (Gradient Boosting) обеспечивает высокую точность на табличных данных.
+
-
* [[Метод опорных векторов]] (Support Vector Machine) обычно использует схемы ''One-vs-Rest'' или ''One-vs-One''.
+
-
* [[Нейронная сеть]] (Neural Network) с выходным слоем Softmax является стандартным решением для задач компьютерного зрения и обработки текстов.
+
-
Во многих библиотеках машинного обучения поддержка многоклассовой классификации встроена и не требует специальных модификаций алгоритма.
+
:<tex>P(y=k\mid x),</tex>
-
== Оценка качества ==
+
после чего выбирается класс с максимальной вероятностью:
-
Точность модели оценивается с помощью различных метрик.
+
:<tex>\hat y=\arg\max_k P(y=k|x).</tex>
-
Наиболее распространённой является [[Точность классификации]] (Accuracy), однако при несбалансированных данных её использование может приводить к ошибочным выводам.
+
== История ==
-
Часто также применяются:
+
Первые методы многоклассовой классификации появились в статистической теории распознавания образов в середине XX века. Существенный вклад внесли работы по [[линейный дискриминантный анализ|линейному дискриминантному анализу]], [[логистическая регрессия|логистической регрессии]] и [[байесовский классификатор|байесовским классификаторам]].
-
* [[Матрица ошибок]] (Confusion Matrix);
+
В 1990-х годах широкое распространение получили методы, основанные на [[метод опорных векторов|методе опорных векторов]], для которых были предложены схемы сведения многоклассовой задачи к нескольким бинарным задачам.
-
* [[Precision и Recall]];
+
-
* [[F-мера]] (F-score);
+
-
* Macro-, Micro- и Weighted-усреднение метрик;
+
-
* [[ROC-кривая]] (ROC Curve) и площадь под ней (AUC) в схемах ''One-vs-Rest''.
+
-
При наличии выраженного дисбаланса классов предпочтение обычно отдаётся макроусреднённым метрикам, которые одинаково учитывают качество распознавания каждого класса.
+
С начала 2010-х годов доминирующими стали методы [[глубокое обучение|глубокого обучения]], использующие многослойные [[искусственная нейронная сеть|нейронные сети]] и функцию потерь [[Softmax|Softmax]] с [[кросс-энтропия|кросс-энтропией]].
-
== Основные трудности ==
+
== Основные подходы ==
-
Практические задачи многоклассовой классификации редко бывают идеальными.
+
=== Прямые многоклассовые модели ===
-
Наиболее распространёнными проблемами являются:
+
Некоторые алгоритмы непосредственно оптимизируют многоклассовую постановку:
-
* [[Дисбаланс классов]] (Class Imbalance);
+
* [[логистическая регрессия|многономиальная логистическая регрессия]];
-
* недостаток размеченных данных;
+
* [[дерево решений|деревья решений]];
-
* шум и ошибки в разметке;
+
* [[случайный лес]];
-
* сильное сходство отдельных классов;
+
* [[градиентный бустинг]];
-
* [[Переобучение]] (Overfitting);
+
* [[искусственная нейронная сеть|нейронные сети]];
-
* появление объектов, принадлежащих неизвестным классам (''Open-set Recognition'').
+
* [[наивный байесовский классификатор]].
-
Для борьбы с этими проблемами применяются [[Регуляризация]] (Regularization), [[Аугментация данных]] (Data Augmentation), взвешивание функции потерь, повторная выборка данных, ансамбли моделей и методы оценки неопределённости.
+
В нейронных сетях обычно используется последний слой Softmax, который преобразует выходы модели в вероятностное распределение по классам.
-
== Современные направления исследований ==
+
=== Сведение к бинарной классификации ===
-
Активно развиваются методы [[Глубокое обучение]] (Deep Learning), позволяющие автоматически извлекать информативные признаки из изображений, текста и звука.
+
Для алгоритмов, ориентированных на бинарные задачи, применяются специальные схемы.
-
Большое внимание уделяется следующим направлениям:
+
==== One-vs-Rest ====
-
* [[Трансформер]] (Transformer);
+
Каждый классификатор обучается отличать один класс от всех остальных.
-
* [[Самообучение]] (Self-supervised Learning);
+
-
* [[Обучение с переносом]] (Transfer Learning);
+
-
* [[Обнаружение выхода за пределы распределения]] (Out-of-Distribution Detection);
+
-
* [[Калибровка вероятностей]] (Probability Calibration);
+
-
* [[Объяснимый искусственный интеллект]] (Explainable AI).
+
-
Эти исследования направлены на повышение устойчивости моделей и повышение доверия пользователей к принимаемым ими решениям.
+
Преимущества:
-
== Риски и ограничения ==
+
* простота реализации;
 +
* небольшое число моделей (<tex>K</tex>).
-
Несмотря на широкое распространение многоклассовой классификации, её применение связано с рядом рисков.
+
Недостатки:
-
=== Некорректная интерпретация результатов ===
+
* возможен сильный дисбаланс классов;
 +
* вероятности различных моделей плохо согласованы между собой.
-
Наиболее распространённым риском является неверное понимание вероятностей модели. Высокое значение Softmax не всегда означает высокую уверенность классификатора.
+
==== One-vs-One ====
-
Для уменьшения риска применяются методы [[Калибровка вероятностей]] (Probability Calibration), доверительные интервалы и оценка неопределённости. Исследования в области [[Согласованность искусственного интеллекта]] (AI Alignment) стремятся сделать оценки уверенности моделей более соответствующими реальному уровню знаний системы, чтобы пользователи принимали более обоснованные решения.
+
Строится отдельный классификатор для каждой пары классов.
-
=== Смещение обучающих данных ===
+
Количество моделей составляет
-
Если обучающая выборка недостаточно представляет некоторые группы объектов, модель систематически ошибается именно на них.
+
:<tex>\frac{K(K-1)}{2}</tex>
-
Для снижения риска используются балансировка данных, аудит датасетов, мониторинг качества после внедрения и методы [[Справедливость машинного обучения]] (Fair Machine Learning).
+
Итоговое решение принимается голосованием либо агрегированием вероятностей.
-
Работы по AI Alignment уделяют большое внимание обнаружению систематических смещений, разработке процедур оценки справедливости моделей и созданию более репрезентативных наборов данных.
+
==== Error-Correcting Output Codes ====
-
=== Ошибки в критически важных приложениях ===
+
Метод использует кодирование классов длинными двоичными кодами, что позволяет повысить устойчивость к ошибкам отдельных бинарных классификаторов.
-
В медицинской диагностике, управлении транспортом или промышленной автоматизации ошибки классификации могут приводить к серьёзным последствиям.
+
== Методы машинного обучения ==
-
Поэтому применяются ансамбли моделей, контроль человеком (''Human-in-the-loop''), оценка неопределённости, независимая валидация и сертификация программного обеспечения.
+
=== Логистическая регрессия ===
-
Исследования по AI Alignment ориентированы на повышение надёжности моделей, интерпретируемости решений, отказоустойчивости и безопасного поведения при недостаточной уверенности.
+
Многономиальная логистическая регрессия моделирует вероятности всех классов одновременно посредством функции Softmax. Благодаря выпуклой оптимизации является одним из наиболее интерпретируемых методов.
 +
 
 +
=== Метод опорных векторов ===
 +
 
 +
Классический [[метод опорных векторов]] первоначально был разработан для бинарной классификации. Для многоклассовых задач обычно используются схемы One-vs-One, One-vs-Rest либо специализированные многоклассовые постановки.
 +
 
 +
=== Деревья решений ===
 +
 
 +
[[Дерево решений|Деревья решений]] разбивают пространство признаков на области, соответствующие различным классам. Они легко интерпретируются и способны учитывать нелинейные зависимости.
 +
 
 +
=== Ансамблевые методы ===
 +
 
 +
[[Случайный лес]] и [[градиентный бустинг]] являются одними из наиболее успешных классических алгоритмов. Они эффективно работают с табличными данными и устойчивы к шуму.
 +
 
 +
=== Глубокие нейронные сети ===
 +
 
 +
Современные [[искусственная нейронная сеть|нейронные сети]] являются стандартом де-факто для задач компьютерного зрения и обработки естественного языка. Архитектуры [[свёрточная нейронная сеть|CNN]], [[трансформер (машинное обучение)|Transformer]] и [[Vision Transformer]] позволяют классифицировать тысячи категорий с высокой точностью.
 +
 
 +
== Функции потерь ==
 +
 
 +
Наиболее распространённой является категориальная кросс-энтропия:
 +
 
 +
:<tex>L=-\sum_{k=1}^{K} y_k \log p_k.</tex>
 +
 
 +
Для несбалансированных данных применяются:
 +
 
 +
* [[Focal Loss]];
 +
* взвешенная кросс-энтропия;
 +
* Label Smoothing;
 +
* Balanced Softmax.
 +
 
 +
== Оценка качества ==
 +
 
 +
Для оценки качества многоклассовых моделей используются:
 +
 
 +
* [[accuracy]];
 +
* [[precision]];
 +
* [[recall]];
 +
* [[F-мера]];
 +
* [[матрица ошибок]];
 +
* Macro Average;
 +
* Micro Average;
 +
* Weighted Average;
 +
* Top-k Accuracy;
 +
* Log Loss.
 +
 
 +
При сильном дисбалансе классов точность (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.
 +
 
 +
== Области применения ==
 +
 
 +
Многоклассовая классификация используется в:
 +
 
 +
* [[компьютерное зрение|компьютерном зрении]];
 +
* [[обработка естественного языка|обработке естественного языка]];
 +
* [[медицинская диагностика|медицинской диагностике]];
 +
* [[биоинформатика|биоинформатике]];
 +
* анализе спутниковых изображений;
 +
* промышленном контроле качества;
 +
* рекомендательных системах;
 +
* робототехнике;
 +
* финансовом анализе;
 +
* обнаружении вредоносного программного обеспечения.
== См. также ==
== См. также ==
-
* [[Бинарная классификация]]
+
* [[Машинное обучение]]
-
* [[Многозначная классификация]]
+
* [[Обучение с учителем]]
* [[Обучение с учителем]]
 +
* [[Бинарная классификация]]
 +
* [[Логистическая регрессия]]
 +
* [[Метод опорных векторов]]
 +
* [[Дерево решений]]
 +
* [[Случайный лес]]
* [[Глубокое обучение]]
* [[Глубокое обучение]]
-
* [[Калибровка вероятностей]]
+
* [[Кросс-энтропия]]
* [[Матрица ошибок]]
* [[Матрица ошибок]]
-
* [[Обнаружение выхода за пределы распределения]]
 
== Примечания ==
== Примечания ==
-
<references/>
+
{{примечания}}
== Литература ==
== Литература ==
-
{{книга
+
* {{статья
-
|автор=Christopher M. Bishop
+
| автор = Bishop C. M.
-
|заглавие=Pattern Recognition and Machine Learning
+
| заглавие = Pattern Recognition and Machine Learning
-
|место=New York
+
| язык = en
-
|издательство=Springer
+
| издательство = Springer
-
|год=2006
+
| год = 2006
-
}}
+
}}
 +
 
 +
* {{книга
 +
| автор = Hastie T., Tibshirani R., Friedman J.
 +
| заглавие = The Elements of Statistical Learning
 +
| издание = 2-е
 +
| издательство = Springer
 +
| год = 2009
 +
| язык = en
 +
}}
 +
 
 +
* {{статья
 +
| автор = 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
 +
}}
-
{{книга
+
* {{статья
-
|автор=Kevin P. Murphy
+
| автор = Lin T.-Y., Goyal P., Girshick R., He K., Dollár P.
-
|заглавие=Machine Learning: A Probabilistic Perspective
+
| заглавие = Focal Loss for Dense Object Detection
-
|место=Cambridge
+
| издание = ICCV
-
|издательство=MIT Press
+
| год = 2017
-
|год=2012
+
}}
-
}}
+
-
{{книга
+
* {{cite web
-
|автор=Aurélien Géron
+
| url = https://scikit-learn.org/stable/modules/multiclass.html
-
|заглавие=Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow
+
| title = Multiclass and Multioutput Algorithms
-
|издание=3
+
| website = scikit-learn
-
|место=Sebastopol
+
| language = en
-
|издательство=O'Reilly Media
+
| access-date = 2026-06-30
-
|год=2022
+
}}
-
}}
+
-
{{статья
+
* {{cite web
-
|автор=Guo C., Pleiss G., Sun Y., Weinberger K. Q.
+
| url = https://pytorch.org/docs/stable/generated/torch.nn.CrossEntropyLoss.html
-
|заглавие=On Calibration of Modern Neural Networks
+
| title = CrossEntropyLoss
-
|издание=Proceedings of the 34th International Conference on Machine Learning
+
| website = PyTorch Documentation
-
|год=2017
+
| language = en
-
|страницы=1321–1330
+
| access-date = 2026-06-30
-
}}
+
}}
-
{{статья
+
* {{cite web
-
|автор=Hendrycks D., Gimpel K.
+
| url = https://keras.io/api/losses/probabilistic_losses/
-
|заглавие=A Baseline for Detecting Misclassified and Out-of-Distribution Examples in Neural Networks
+
| title = Probabilistic Losses
-
|издание=International Conference on Learning Representations
+
| website = Keras Documentation
-
|год=2017
+
| language = en
-
}}
+
| access-date = 2026-06-30
 +
}}

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

Статья написана с использованием 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.
Личные инструменты