Из википедии,
Уменьшение размерности или уменьшение размерности - это процесс уменьшения количества рассматриваемых случайных величин, который можно разделить на выбор и извлечение признаков.
В чем разница между выбором и извлечением объектов?
Что является примером уменьшения размерности в задаче обработки естественного языка?
Уменьшение размерности - это, как правило, выбор основы или математического представления, в рамках которого вы можете описать большинство, но не все отклонения в ваших данных, сохраняя тем самым соответствующую информацию, уменьшая при этом объем информации, необходимый для ее представления. Есть множество методов сделать это , включая , но не ограничиваясь этим
PCA
,ICA
иMatrix Feature Factorization
. Они будут использовать существующие данные и уменьшать их до самых различающих компонентов. Все это позволяет вам представлять большую часть информации в вашем наборе данных с меньшим количеством более отличительных признаков.Выбор функций - это ручной выбор функций, которые сильно различают друг друга. Это гораздо больше связано с проектированием функций, чем с анализом, и требует от исследователя данных значительно больше работы. Это требует понимания того, какие аспекты вашего набора данных важны при любых предсказаниях, которые вы делаете, а какие нет. Извлечение функций обычно включает создание новых функций, которые являются составными частями существующих функций. Оба эти метода попадают в категорию разработки функций. Обычно разработка функций важна, если вы хотите получить наилучшие результаты, так как она включает создание информации, которой может не быть в вашем наборе данных, и увеличение отношения сигнал / шум.
источник
Dimensionality Reduction
оговоркой, но немного отличается отFeature Engineering
использования - что из того, что я видел толькоFeature Extraction
:Feature Selection
рассматривается отдельно. Это просто разница в терминологии.Как и в @damienfrancois, выбор функции ответа касается выбора набора функций. Таким образом, в НЛП это будет выбор набора конкретных слов (типичным в НЛП является то, что каждое слово представляет особенность со значением, равным частоте слова или некоторому другому весу, основанному на TF / IDF или аналогичном).
Уменьшение размерности - это введение нового пространства признаков, в котором представлены оригинальные элементы. Новое пространство имеет более низкое измерение, чем оригинальное пространство. В случае текста примером может служить трюк хеширования, при котором фрагмент текста сокращается до вектора из нескольких битов (скажем, 16 или 32) или байтов. Удивительно то, что геометрия пространства сохраняется (с учетом достаточного количества битов), поэтому относительные расстояния между документами остаются такими же, как и в исходном пространстве, поэтому вы можете применять стандартные методы машинного обучения, не сталкиваясь с несвязанными (и огромными числами) из) размеры, найденные в тексте.
источник
Выбор характеристик заключается в выборе некоторых признаков на основе некоторой статистической оценки, но при извлечении признаков используются методы для извлечения некоторой информации второго уровня из данных, например, интересных частот сигнала с использованием преобразования Фурье.
Уменьшение размерности - это все о преобразовании данных в низкоразмерное пространство, в котором данные сохраняют свою евклидову структуру, но не страдают от проклятия размерности. Например, предположим, что вы извлекаете некоторые особенности слова из набора данных, где каждый документ может быть смоделирован как точка в n-мерном пространстве, а n слишком велико (игрушечный пример). В этом случае многие алгоритмы не работают в соответствии с искажением расстояния в многомерном пространстве. Теперь вам нужно уменьшить размерность, выбрав наиболее информативные элементы или преобразовав их в низкоразмерный коллектор, используя методы уменьшения размерности, например, PCA, LLE и т. Д.[x1,...,xn]
источник
Чтобы завершить ответ Дэмиена, примером уменьшения размерности в НЛП является тематическая модель , где вы представляете документ вектором, указывающим веса составляющих его тем.
источник
Для правильного рассмотрения и определения вы можете взглянуть на Уменьшение размеров и Выбор переменных также в книге « Извлечение элементов Основы и приложения» разделено на два этапа: построение элементов и выбор элементов.
источник
A1. Что такое уменьшение размерности: если вы думаете о данных в матрице, где строки являются экземплярами, а столбцы - атрибутами (или объектами), то уменьшение размерности отображает эту матрицу данных в новую матрицу с меньшим количеством столбцов. Для визуализации, если вы рассматриваете каждый столбец матрицы (атрибут) как измерение в пространстве признаков, то уменьшение размерности - это проекция экземпляров из пространства более высокого измерения (больше столбцов) в подпространство более низкого измерения (меньше столбцов). Типичной целью этого преобразования является (1) сохранение информации в матрице данных при одновременном снижении сложности вычислений; (2) улучшение разделимости данных различных классов.
A2. Уменьшение размерности как выбор или извлечение признаков: я буду использовать вездесущий набор данных Iris , который, возможно, является «привет миром» науки о данных. Вкратце, набор данных Iris имеет 3 класса и 4 атрибута (столбцы). Я проиллюстрирую выбор и извлечение функций для задачи уменьшения размерности набора данных Iris с 4 до 2.
Я вычисляю попарную ковариацию этого набора данных, используя библиотеку в Python под названием seaborn. Код такой: sns.pairplot (iris, hue = "видов", маркеры = ["o", "s", "D"]). На рисунке я могу выбрать пару атрибутов (2 измерения), которые обеспечивают я самое большое разделение между 3 классами (видами) в наборе данных Iris. Это будет случай выбора функции.
Далее идет извлечение функций. Здесь я проецирую 4-мерное пространство признаков Iris на новое 2-мерное подпространство, которое не выровнено по оси с исходным пространством. Это новые атрибуты. Они, как правило, основаны на распределении в исходном многомерном пространстве. Самый популярный метод - это анализ главных компонент, который вычисляет собственные векторы в исходном пространстве. Очевидно, что мы не ограничены использованием только линейной и глобальной проекции на подпространство, основанное на собственных векторах. Мы также можем использовать методы нелинейной проекции. Вот пример нелинейного PCA с использованием нейронных сетей . Атрибуты (размеры) в последнем примере извлекаютсяиз оригинальных 4 атрибутов с использованием нейронных сетей. Вы можете поэкспериментировать с различными вариантами PCA для набора данных радужной оболочки, используя этот код методов pca .
Сводка: хотя методы извлечения функций могут показаться превосходящими по производительности по сравнению с выбором функций, выбор определяется приложением. Атрибуты при извлечении признаков обычно теряют физическую интерпретацию, что может быть, а может и не быть проблемой в зависимости от поставленной задачи. Например, если вы разрабатываете очень дорогую задачу сбора данных с использованием дорогостоящих датчиков и вам необходимо сэкономить на атрибутах (количестве различных датчиков), вам нужно собрать небольшую пилотную выборку, используя все доступные датчики, а затем выбрать те, которые наиболее информативны для задачи сбора больших данных.
источник
Извлечено из практического машинного обучения с помощью scikit-learn & Tensorflow
источник
Несколько замечательных ответов здесь, в частности, ответ @ damienfrancois очень кратко отражает общую идею.
Тем не менее, я не вижу примеров разработки функций для реляционных данных или данных временных рядов. В этом случае ученые, занимающиеся данными, как правило, извлекают статистические закономерности между взаимосвязями и с течением времени. Например, чтобы предсказать, что клиенты будут в будущем в базе данных электронной торговли, можно извлечь такие количества, как средняя историческая сумма покупки или частота предыдущих покупок.
Я написал статью на эту тему, которая более детально описана в нескольких примерах: https://www.featurelabs.com/blog/feature-engineering-vs-feature-selection/
источник
Позвольте мне начать с обратного порядка, который извлекает элемент и почему существует необходимость выбора элемента и уменьшения размерности.
Начиная с использования извлечения признаков, которое в основном предназначено для целей классификации. Классификация - это процесс принятия решения о том, к какой категории относится тот или иной объект. Он имеет два этапа: i) этап обучения, когда данные или объекты изучаются с использованием некоторого процесса (извлечение признаков); ii) этап тестирования, где неизвестный объект классифицируется с использованием признаков, изученных на предыдущем этапе (обучение).
Извлечение признаков, как следует из названия, учитывая, что цель данных - найти базовый шаблон. Этот базовый шаблон, который является термином как признак, соответствующий этим соответствующим данным. Существуют различные методологии, существующие для извлечения признаков, такие как машина опорных векторов (SVM).
Теперь извлечение объектов должно генерировать функции, которые должны быть
Выбор функции: определенный набор данных может быть представлен как одной функцией, так и набором функций. В процессе классификации система обучается как минимум для двух классов. Таким образом, система обучения будет генерировать одну функцию или набор функций. Эти особенности должны обладать свойствами, указанными выше.
Проблема возникает, когда есть набор функций для каждого класса и существует корреляция между некоторыми функциями. Это подразумевает, что среди этих коррелирующих признаков для представления достаточно одного или нескольких, и именно здесь выбор изображения входит в картину. Кроме того, эти функции должны быть сохранены с увеличением требований к памяти набора функций, также увеличивается.
Затем следует уменьшение размерности, которое является не чем иным, как частью процесса выбора признаков. Это процесс выбора оптимального набора функций, которые лучше всего описывают данные. Для этого существует множество методов, таких как анализ главных компонентов, анализ независимых компонентов, факторизация матрицы и т. Д.
источник
Например ... если у вас есть сельскохозяйственные угодья, то выбор одной конкретной области этой земли будет выбором объектов. Если вы стремитесь найти пораженные растения в этой области, вам не нужно наблюдать за каждым растением, основываясь на определенной характеристике, которая является общей в каждом растении, чтобы найти отклонения ... для этого вы бы рассматривали извлечение признаков. В этом примере исходная сельскохозяйственная земля соответствует уменьшению размерности.
источник