Глоссарий

Уменьшение размерности

Упрости высокоразмерные данные с помощью методов снижения размерности. Улучши производительность, визуализацию и эффективность ML-моделей уже сегодня!

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

Узнай больше

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

Как работает уменьшение размерности

Методы уменьшения размерности обычно делятся на две основные категории:

  1. Отбор признаков: Эти методы выбирают подмножество исходных признаков, отбрасывая те, которые считаются нерелевантными или избыточными. Цель - сохранить наиболее информативные признаки, не изменяя их. Методы можно классифицировать как фильтрующие (основанные на статистических свойствах), обертывающие (основанные на производительности модели) или встроенные (интегрированные в процесс обучения модели).
  2. Извлечение признаков: Эти методы преобразуют исходные высокоразмерные данные в новое, более низкоразмерное пространство признаков. Вместо того чтобы просто выбирать признаки, они создают новые признаки (часто комбинации исходных), которые захватывают важную информацию. Это основная концепция, которая подробно описана в глоссарии по извлечению признаков.

Основные приемы

Для уменьшения размерности обычно используется несколько алгоритмов:

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

Снижение размерности в сравнении со смежными понятиями

  • Извлечение признаков: Как уже говорилось, извлечение признаков - это тип уменьшения размерности, который создает новые признаки из старых. Под эту категорию попадают такие техники, как PCA и автоэнкодеры.
  • Feature Engineering: Это более широкий процесс, который включает в себя создание, выбор и преобразование признаков для улучшения работы модели. Снижение размерности (как выбор, так и извлечение) считается частью инженерии признаков. Эффективная разработка признаков часто требует знаний и опыта в данной области.
  • Сжатие данных: Хотя и то, и другое направлено на уменьшение размера данных, уменьшение размерности фокусируется на сохранении информации, релевантной для задач ML, потенциально отбрасывая некоторые детали реконструкции. Стандартное сжатие данных (например, ZIP-файлов) направлено на минимизацию размера хранилища без потерь или с потерями, приемлемыми для реконструкции, и не обязательно оптимизировано для ввода ML-моделей.

Приложения в искусственном интеллекте и ML

Снижение размерности жизненно необходимо во многих приложениях искусственного интеллекта (AI) и ML:

  • Компьютерное зрение (КВ): Изображения содержат огромное количество пиксельных данных. Такие техники, как PCA или присущее конволюционным нейронным сетям (CNN) извлечение признаков (используется в таких моделях, как Ultralytics YOLO) уменьшают эту размерность, фокусируясь на релевантных паттернах для таких задач, как обнаружение объектов или классификация изображений. Это ускоряет обработку и может повысить точность модели. Предварительная обработка справочников данных часто включает в себя шаги, связанные с обработкой признаков.
  • Биоинформатика: При анализе геномных данных часто используются наборы данных с тысячами выражений генов (признаков). Снижение размерности помогает исследователям выявлять значимые закономерности, связанные с заболеваниями или биологическими функциями, делая сложные биологические данные более управляемыми. Исследования, опубликованные в таких журналах, как Nature Methods, часто используют эти методы.
  • Обработка естественного языка (NLP): Текстовые данные могут быть представлены в высокоразмерных пространствах с помощью таких техник, как TF или вкрапления слов. Снижение размерности помогает упростить эти представления для таких задач, как классификация документов, моделирование тем или анализ настроений.
  • Визуализация данных: Такие техники, как t-SNE, неоценимы для построения графиков высокоразмерных наборов данных (например, сегментов покупателей, генетических кластеров) в 2D или 3D, что позволяет людям визуально проверять и понимать потенциальные структуры или взаимосвязи внутри данных. Платформы вроде Ultralytics HUB облегчают управление наборами данных и моделями, в которых уместен такой анализ.

Преимущества и проблемы

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

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

Вызовы:

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

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

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