Глоссарий

Извлечение признаков

Открой для себя возможности извлечения признаков в машинном обучении с помощью Ultralytics YOLO11 . Изучи техники для эффективного обнаружения и анализа.

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

Извлечение признаков - важный процесс в машинном обучении (ML) и компьютерном зрении (CV), выступающий в качестве критического шага для преобразования необработанных, часто сложных данных в формат, который алгоритмы могут эффективно обрабатывать. Он включает в себя преобразование неструктурированных или высокоразмерных данных, таких как изображения, аудио или текст, в структурированный набор числовых признаков, обычно представленных в виде вектора признаков. Эти признаки призваны отразить основные характеристики исходных данных, отбросив при этом шум и избыточность. Основные задачи включают в себя снижение сложности данных за счет уменьшения размерности, выделение релевантных закономерностей и повышение пригодности данных для ML-моделей. Это часто приводит к повышению точности моделей, ускорению их обучения и лучшей обобщенности на невидимые данные.

Как работает извлечение признаков

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

  • Данные изображения: В традиционном компьютерном зрении методы предполагали ручную разработку алгоритмов для обнаружения специфических особенностей, таких как края, углы, текстуры (с использованием таких техник, как фильтры Габора) или цветовые гистограммы. Такие библиотеки, как OpenCV, предоставляют инструменты для реализации многих из этих классических техник(официальный сайт OpenCV). Однако в современном глубоком обучении (ГОО), в частности с помощью конволюционных нейронных сетей (КНС), используемых в таких моделях, как Ultralytics YOLO, извлечение признаков часто происходит автоматически. Сверточные слои сети применяют фильтры к входному изображению, генерируя карты признаков, которые захватывают все более сложные паттерны в иерархическом порядке - от простых линий и текстур в ранних слоях до частей объектов и целых объектов в более глубоких слоях. Ты можешь изучить различные задачи компьютерного зрения, где это применяется.

  • Текстовые данные: Для задач обработки естественного языка (NLP) извлечение признаков может включать в себя такие методы, как вычисление Term Frequency-Inverse Document FrequencyTF) для представления важности слов или генерация вкраплений слов с помощью таких моделей, как Word2Vec или GloVe. Эти вкрапления представляют собой плотные векторы, которые отражают семантические связи между словами. Более продвинутые модели, такие как BERT и Transformers, изучают контекстные представления непосредственно из текста.

  • Общие методы: Такие методы, как анализ главных компонент (PCA) и t-distributed Stochastic Neighbor Embedding (t-SNE), - это техники снижения размерности общего назначения, применимые к различным типам данных. Они преобразуют высокоразмерные данные в более низкоразмерное пространство, стремясь сохранить важную дисперсию или структуру соседства, что можно считать формой извлечения признаков. Scikit-learn предоставляет реализацию этих методов.

Извлечение признаков против инженерии признаков

Извлечение признаков часто путают с инженерией признаков, но это разные понятия.

  • Извлечение признаков: Сосредоточен на преобразовании необработанных данных в набор производных признаков, часто с помощью автоматизированных алгоритмов (например, слоев CNN) или устоявшихся математических методов (например, PCA или преобразования Фурье). Целью обычно является снижение размерности и создание более удобного представления.
  • Инженерия признаков: Это более широкая практика, которая включает в себя не только извлечение признаков, но и создание новых признаков из существующих (например, вычисление отношения двух измерений), выбор наиболее релевантных признаков для модели, обработку пропущенных значений и преобразование признаков на основе знаний о домене и специфических требований к модели(например, предварительная обработка данных). Это часто требует больше ручных усилий и опыта.

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

Применение в реальном мире

Извлечение признаков является основополагающим в бесчисленных приложениях AI и ML:

  1. Анализ медицинских изображений: При анализе медицинских снимков, таких как рентген, КТ или МРТ, для выявления таких заболеваний, как рак, из изображений извлекаются специфические признаки. Это могут быть текстурные особенности тканей, форма и размер потенциальных аномалий (например, опухолей, найденных в наборе данных Brain Tumor) или изменения интенсивности. Эти извлеченные признаки затем поступают в классификатор (например, SVM или нейронную сеть), чтобы предсказать наличие или стадию заболевания. Это помогает радиологам в диагностике, о чем говорится в таких изданиях, как Radiology: Artificial Intelligence. Современные системы могут использовать Ultralytics YOLO11 которая неявно извлекает признаки для таких задач, как анализ медицинских изображений.

  2. Анализ настроения: Чтобы определить настроение (позитивное, негативное, нейтральное), выраженное в текстовых данных, таких как отзывы покупателей или посты в социальных сетях, из исходного текста необходимо извлечь характеристики. Это может быть подсчет частоты встречаемости положительных и отрицательных слов(Bag-of-Words), использование оценок TF или создание сложных вкраплений предложений с помощью предварительно обученных языковых моделей, таких как те, что доступны на сайте Hugging Face. Эти характеристики количественно определяют эмоциональный тон текста, позволяя модели ML классифицировать общее настроение, что очень важно для понимания отзывов клиентов.

Извлечение характеристик в Ultralytics моделяхYOLO

Современные модели обнаружения объектов, такие как Ultralytics YOLOv8 и YOLO11 , выполняют извлечение признаков неявно в архитектуре своей нейронной сети (НС). Начальные слои (часто являющиеся частью костяка) действуют как мощные, обученные экстракторы признаков. По мере прохождения входных данных через эти слои иерархические признаки автоматически определяются и представляются в картах признаков. Хотя этот процесс в значительной степени автоматизирован, понимание извлечения признаков помогает разработать эффективные шаги предварительной обработки данных, выполнить настройку гиперпараметров и интерпретировать поведение модели, потенциально используя инструменты, доступные в документацииUltralytics , или платформы вроде Ultralytics HUB для управления наборами данных и экспериментами. Техники также используются в последующих задачах, таких как отслеживание объектов, где могут быть извлечены особенности внешнего вида для сохранения идентичности объектов в разных кадрах. Такие фреймворки, как PyTorch и TensorFlow обеспечивают базовую инфраструктуру для построения и обучения этих моделей.

Читать полностью