Обзор многоуровневой классификации

машинное обучение компьютерное зрение

предисловие

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

Эта статья взята из ******** технического руководства по общедоступной учетной записи CV.Серия технических резюме********

Обратите внимание на техническое руководство по общедоступной учетной записи CV, уделив особое внимание техническому обзору компьютерного зрения, отслеживанию новейших технологий и интерпретации классических статей.

Что такое многоуровневая классификация?

Как мы все знаем, бинарная классификация делит данный ввод на две категории: 1 или 0. Классификация с несколькими метками или несколькими целями позволяет одновременно прогнозировать несколько двоичных целей на основе заданных входных данных. Например, наша модель может предсказать, является ли данное изображение собакой или кошкой, а также длинной или короткой шерстью.

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

В этой статье будут обобщены некоторые распространенные методы, которые могут повысить производительность моделей классификации с несколькими метками.

Оценочные показатели

Большинство метрик, используемых для бинарной классификации, можно применить к множественной метке путем вычисления метрик для каждого столбца и последующего усреднения оценок. Одна метрика, которую мы можем использовать, — это потеря журнала или бинарная перекрестная энтропия.Для лучшей метрики, учитывающей дисбаланс классов, мы можем использовать ROC-AUC.

图片

Кривая ROC-AUC

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

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

Для большинства моделей, отличных от нейронных сетей, единственным вариантом является обучение классификатора для каждой цели, а затем объединение прогнозов. Библиотека scikit-learn предоставляет для этого простой класс-оболочку OneVsRestClassifier.

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

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

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

图片

Методы контролируемого выбора признаков

Функции должны быть нормализованы или нормализованы перед началом разработки или выбора каких-либо функций. Использование Квантильного преобразователя уменьшит асимметрию данных и заставит функции следовать нормальному распределению. Другой вариант — стандартизировать признаки, что можно сделать, вычитая среднее значение из данных, а затем разделив его на стандартное отклонение. Он выполняет аналогичную работу по сравнению с Квантильным преобразователем, оба предназначены для преобразования данных, чтобы сделать их более надежными, но Квантильный преобразователь требует больше вычислительных ресурсов.

Использование контролируемых методов выбора признаков в этом случае немного затруднительно, потому что большинство алгоритмов предназначены для одной цели. Чтобы решить эту проблему, мы можем преобразовать случай с несколькими метками в проблему с несколькими классами. Популярным методом является LabelPowerset, в котором каждая уникальная комбинация меток обучающих данных преобразуется в класс. Библиотека scikit-multilearn предоставляет инструменты для этого.

Ссылка на инструмент:

SCI kit.beautiful/API/SK multi…

图片

После преобразования мы можем использовать такие методы, как получение информации и chi2, для выбора признаков. Хотя этот подход работает, все становится сложнее, когда у нас есть сотни или даже тысячи различных комбинаций уникальных меток, и именно здесь методы неконтролируемого выбора функций могут быть лучше.

Неконтролируемые методы выбора признаков

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

Вот некоторые алгоритмы:

  • Анализ главных компонентов или другие аналогичные методы факторного анализа. Это удаляет избыточную информацию из функций и извлекает полезную информацию для модели. Важное замечание по этому поводу: обязательно нормализуйте данные перед применением PCA, так как таким образом каждая функция вносит одинаковый вклад в анализ. Еще одна хитрость использования PCA заключается в том, что мы можем объединить эти уменьшенные признаки с исходными данными в качестве дополнительной информации, которую модель может выбрать для использования вместо сокращенных признаков, предоставляемых алгоритмом.

  • порог отклонения. Это простой и эффективный способ уменьшить размерность объекта. Мы отбрасываем функции с низкой дисперсией или распределением. Это можно оптимизировать, найдя лучший порог выбора, обычно используя 0,5 в качестве начального порога.

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

图片

KMeans Clustering

Метод повышения частоты дискретизации

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

Адрес проекта MLSMOTE:

GitHub.com/your-special-suk-bay…

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

Автор: Энди Ван

Составление: Техническое руководство по резюме

Оригинальная ссылка:

Andy-king.medium.com/put the company-of-the-same day…

Добро пожаловать в техническое руководство CV для общедоступной учетной записи, в котором основное внимание уделяется техническому обзору компьютерного зрения, отслеживанию новейших технологий и интерпретации классических статей.

Ответьте на ключевое слово «техническое резюме» в официальном аккаунте, чтобы получить краткий PDF-файл исходной технической сводной статьи официального аккаунта.

Другие статьи

Инкрементальное обучение глубоких нейронных сетей

Обзор оценки позы человека в глубоком обучении

Краткое изложение распространенных методов обнаружения малых целей

Техническое руководство по CV - Резюме и классификация основных статей

Резюме методов нормализации | Краткое изложение методов недообучения и переобучения

Сводка NMS | Краткое изложение методов функции потерь

Техническое резюме механизма внимания | Краткое изложение технологии пирамиды функций

Краткое изложение технологии объединения | Краткое изложение методов увеличения данных

Краткое изложение общих идей бумажных инноваций | Сводка параллельного обучения GPU с несколькими картами

Резюме эволюции структуры CNN (1) Классическая модель

Резюме эволюции структуры CNN (2) Облегченная модель

Резюме эволюции структуры CNN (3) Принципы проектирования

Краткое изложение технологии визуализации CNN (1) Визуализация карты объектов

Краткое описание технологии визуализации CNN (2) Визуализация ядра свертки

Краткое изложение технологии визуализации CNN (три) визуализации

Краткое описание технологии визуализации CNN (4) инструменты и проекты визуализации

Резюме инструментов аннотирования изображений в компьютерном зрении

Обзор и сводка различных алгоритмов оптимизации градиентного спуска Optimizer

Резюме | Классические наборы данных с открытым исходным кодом в стране и за рубежом

Функция Softmax и ее недоразумения

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

Совместное использование ресурсов | SAHI: библиотека гипервыводов с помощью срезов для обнаружения небольших целей на очень больших изображениях

Резюме инструментов аннотирования изображений в компьютерном зрении

Влияние размера партии на обучение нейронной сети

Резюме методов настройки параметров для гиперпараметров нейронной сети

Загружайте модели PyTorch в 340 раз быстрее с помощью Ray

Резюме инструментов аннотирования изображений в компьютерном зрении

Обзор последних исследований по обнаружению малоразмерных целей в 2021 году

Серия Classic Paper — Капсульные сети: новая сеть глубокого обучения

Краткое изложение терминологии компьютерного зрения (1) Создание системы знаний для компьютерного зрения

Обзор непродолжительного обучения компьютерному зрению