Меньше значит больше | Выбор функций в машинном обучении

Больше данных, лучше анализ. Или это миф? Снова и снова мы слышим термин «проклятие размерности». Почему наличие большего количества измерений (больше признаков в наборе данных) является проклятием? Давайте совершим глубокое погружение!

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

Сохраняя количество наблюдений постоянным, если мы увеличим количество признаков до двух, точки станут разреженными в 2D-пространстве. Разреженность увеличивается с добавлением третьего признака. Вы можете себе представить, что может произойти, когда есть 100 или более измерений.

Как экспоненциальное увеличение пространства становится проклятием?

Данные обычно делятся на обучающие и тестовые данные. Модель строится на данных поезда и оценивается на тестовых данных, то есть измеряется производительность модели на невидимых данных.

Предположим, мы строим модель текучести кадров, и единственной характеристикой является пол. Нам потребуются как минимум две выборки в данных поезда (по одной для каждой категории — женщины и мужчины), чтобы модель могла точно предсказать, когда одна и та же категория встречается в тестовых данных. Теперь мы добавим еще одну функцию, возрастную группу (с двумя категориями: 25–40 лет, 40–60 лет). Если нам нужен как минимум один образец для каждой комбинации (мужчины и 25–40 лет, мужчины и 40–60 лет, женщины и 25–40 лет, женщины и 40–60 лет), мы нужно как минимум четыре выборки в данных поезда. С третьей функцией, скажем, уровнем работы с тремя категориями, нам потребуется 12 (2*2*3) выборок в данных поезда.

Таким образом, размер выборки должен увеличиваться с увеличением количества признаков, чтобы модель была достаточно точной. Если есть более 100 функций, должно быть достаточно примеров для объяснения каждой функции. В том смысле, что если модель обучается только на выбранной комбинации функций, возможно, что модель не сможет точно предсказать результат, когда в модель подаются новые/менее частые комбинации функций. Это типичный сценарий переобучения.

Алгоритмы на основе расстояния, такие как kNN, кластеризация и т. д., будут рассматривать каждую запись как равноудаленную, или каждая выборка будет уникальной комбинацией признаков (из-за недостаточного представления).

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

Сценарий наличия большего количества функций, чем количество образцов (при условии, что каждый образец объясняет функцию) называется Проклятие размерности.

Каково лекарство?

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

В то время как большое измерение представляет угрозу для производительности модели (переобучение), очень низкое измерение не помогает модели изучить базовую закономерность в данных (недообучение). Узнайте больше о чрезмерной и недостаточной подгонке (компромисс дисперсии смещения) здесь.



Производительность модели увеличивается с увеличением количества функций. Он достигает максимальной точности с оптимальным количеством функций. После этого производительность падает. Это называется феноменом Хьюза.

Ниже приведены два способа уменьшения размеров.

#1 — Извлечение признаков. Это метод уменьшения размеров, при котором новый набор признаков создается как комбинация исходных признаков, так что количество новых функций ‹ количество исходных функций.Анализ основных компонентов (PCA) и факторный анализ являются примерами функций добыча. Посмотрите мой блог с подробным объяснением PCA.



Многомерные данные — благо или зло?
«Почему, что и как
PCA (анализ основных компонентов)medium.com»



#2 — Выбор функций. Этот метод включает в себя выбор подмножества релевантных/полезных функций из исходного пространства функций. Существует несколько способов выбора признаков. В этом блоге рассказывается о некоторых распространенных методах выбора функций.

Методы выбора функций

#1 — Методы фильтрации:-

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

→ Методы неконтролируемого фильтра: -

Целевая переменная не рассматривается для этих методов. Эти методы полезны для удаления избыточных/бесполезных переменных.

  • Коэффициент отсутствующих значений: — функции, которые имеют несколько отсутствующих значений, то есть если соотношение отсутствующих значений превышает пороговое значение, то такие функции не передают никакой информации. и, следовательно, может быть отброшен до построения модели. Порог можно выбрать в зависимости от данных и домена.
  • Низкая дисперсия. Функции с очень маленькой или незначительной дисперсией можно рассматривать как постоянные. Без особых вариаций эти функции несут мало информации или не несут никакой информации. Может быть выбран соответствующий порог, на основе которого можно отбросить признаки с низкой дисперсией. Нормализация значений может быть идеальной, поскольку дисперсия зависит от диапазона признаков и ожидается, что они будут разными для каждого признака.
  • Высокая корреляция. Объекты с высокой корреляцией (линейной зависимостью) друг с другом обычно передают схожую информацию. Такие функции становятся излишними. Например, с возрастом повышается уровень работы, а вместе с ним и заработная плата. Одна или несколько из этих функций могут быть удалены.

→ Методы контролируемого фильтра: -

Для этих методов рассматривается целевая переменная. Эти методы полезны для удаления нерелевантных переменных путем измерения взаимосвязи между независимыми функциями и целевой переменной.

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

Значения p также могут быть рассчитаны для независимых признаков, чтобы определить их значимость. Чем выше p-значение, тем ниже значимость. Наименее важные функции могут быть удалены.

#2 — Методы-оболочки :-

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

Ниже приведены некоторые из наиболее часто используемых методов-оболочек.

  • Прямой выбор – итеративный процесс построения модели, который начинается с одной функции в исходной модели. Перед повторным построением модели добавляется дополнительная функция, которая наилучшим образом улучшает модель. Этот процесс продолжается до тех пор, пока добавление новой функции не улучшит производительность модели.
  • Выбор в обратном направлении. Это похоже на выбор в прямом направлении, за исключением того, что исходная модель построена со всеми функциями. Наименее значимая функция удаляется на каждом шаге итерации, пока производительность модели не улучшится.
  • Рекурсивное устранение признаков: — При этом используется внешняя оценка, такая как линейная регрессия или случайный лес, в зависимости от типа контролируемого обучения. Исходная модель построена со всеми функциями. На основе значений коэффициентов или важности признаков определяются наименее значимые признаки. Следующая модель строится после удаления наименее значимых признаков. Из них выбирается только лучшая модель. Эта лучшая модель используется для сравнения с моделью, построенной на следующем шаге. Поскольку он ищет лучшую модель, только для данного шага, этот алгоритм также называется алгоритмом жадной оптимизации. Размер подпространства объектов (оптимальное количество объектов для выбора) — это гиперпараметр, который можно настроить для повышения производительности модели. Количество функций, которые необходимо удалить на каждом шаге, также является гиперпараметром. По умолчанию удаляется только наименее важная функция. Этот итеративный процесс продолжается до тех пор, пока не будет достигнуто оптимальное количество функций (гиперпараметр).

#3 — Встроенные методы :-

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

Ридж-регрессия (уменьшает сумму квадратов коэффициентов) и Лассо-регрессия (штрафует сумму абсолютных значений коэффициентов) являются популярными примерами встроенных методов.

Выводы: -

Зачем нам нужно уменьшать размерность (в многомерном наборе данных)?

Меньшее (оптимальное) количество функций будет…

  1. Иметь меньше времени на обучение.
  2. Уменьшите сложность модели и, следовательно, улучшите интерпретируемость.
  3. Снизить вероятность переобучения.
  4. Улучшить точность.

Что ж …

Меньше - больше!