Отбор признаков

Материал из MachineLearning.

Перейти к: навигация, поиск

Шаблон:Философия ИИ/Статья создана с помощью ИИ

Содержание

Отбор признаков (Feature Selection)

Отбор признаков (англ. feature selection) — процесс выбора оптимального подмножества релевантных признаков (предикторов, переменных) для построения модели машинного обучения. Отбор признаков преследует несколько фундаментальных целей: преодоление «проклятия размерности» (curse of dimensionality), устранение мультиколлинеарности, минимизация времени обучения и радикальное повышение интерпретируемости результирующих моделей при сохранении или увеличении их обобщающей способности.

1. Математическая постановка задачи

Пусть задана обучающая выборка, представленная в виде матрицы объекты-признаки X \in \mathbf{R}^{N \times D}, где N — количество независимых объектов (наблюдений), а D — исходная размерность признакового пространства. Каждому объекту (строке матрицы) x_i \in \mathbf{R}^D поставлен в соответствие истинный ответ (целевая переменная) y_i \in \mathbf{Y}. Для задач регрессии \mathbf{Y} = \mathbf{R}, для задач многоклассовой классификации \mathbf{Y} = \{1, \dots, K\}.

Определим полное множество индексов исходных признаков как:

\Omega = \{1, \dots, D\}, \quad |\Omega| = D

Задачей отбора признаков является нахождение оптимального подмножества индексов S \subset \Omega фиксированной или переменной мощности |S| = d (где d \ll D), которое минимизирует функционал эмпирического риска выбранного базового алгоритма обучения A на отложенной выборке:

S^* = \arg\min_{S \subset \Omega} \frac{1}{M} \sum_{m=1}^{M} \mathcal{L}\left(A(X_{S}^{train})_{x_m}, y_m\right)
где X_S — усеченная матрица объектов размерности N \times d, содержащая только столбцы с индексами из множества S</annotation>, \mathcal{L} — функция потерь алгоритма, а M — размер валидационной выборки.

Полный перебор всех возможных комбинаций требует оценки 2^D вариантов, что представляет собой NP-трудную задачу. В силу этого на практике применяются эвристические подходы, разделяемые на три класса: фильтрация (filters), обертывание (wrappers) и встроенные методы (embedded).

2. Методы фильтрации (Filter Methods)

Методы фильтрации оценивают статистические свойства признаков изолированно от структуры и параметров финальной прогностической модели. Из-за вычислительной простоты они используются в качестве методов быстрой предварительной фильтрации (screener).

  • Порог дисперсии (Variance Threshold): Устраняет константные и квазиконстантные признаки, не несущие дискриминативной информации. Признак j удаляется, если его выборочная дисперсия ниже заданного порога \tau:
\sigma^2_j = \frac{1}{N}\sum_{i=1}^{N} (x_{ij} - \mu_j)^2 < \tau, \quad \mu_j = \frac{1}{N}\sum_{i=1}^{N} x_{ij}
  • Линейный коэффициент корреляции Пирсона: Измеряет степень линейной связи между непрерывным признаком x^{(j)} и непрерывной целевой переменной y:
r_j = \frac{\sum_{i=1}^{N} (x_{ij} - \mu_j)(y_i - \mu_y)}{\sqrt{\sum_{i=1}^{N} (x_{ij} - \mu_j)^2 \sum_{i=1}^{N} (y_i - \mu_y)^2}}
  • Критерий Хи-квадрат (\chi^2 test): Применяется для качественных (категориальных) признаков. Проверяет гипотезу о независимости признака j</tt> и целевой переменной. Статистика вычисляется на основе таблицы сопряженности:
</dd><dd><tex>\chi^2_j = \sum_{u=1}^{U} \sum_{v=1}^{V} \frac{(O_{uv} - E_{uv})^2}{E_{uv}}
    где O_{uv} — наблюдаемое число объектов, сочетающих u-е значение признака и v</tt>-й класс, а <tex>E_{uv} — ожидаемое число объектов при гипотезе о независимости.
    • Взаимная информация (Mutual Information): Базируется на энтропии Шеннона и улавливает произвольные нелинейные зависимости. Для дискретных случайных величин формула имеет вид:
    I(X^{(j)}; Y) = \sum_{x \in X^{(j)}} \sum_{y \in \mathbf{Y}} p(x, y) \ln \frac{p(x, y)}{p(x)p(y)}
    где p(x, y) — совместное распределение вероятностей, а p(x) и p(y)</tt> — маргинальные распределения.
</li></ul>
<p>=== 3. Методы обертывания (Wrapper Methods) ===
Методы обертывания используют целевой алгоритм машинного обучения в качестве функции оценки (score) для проверяемого подмножества признаков. Впервые подробно исследованы в работе Kohavi, John (1997).
</p>
<ul><li> '''Прямой последовательный отбор (Forward Stepwise Selection):''' Итерационный процесс, стартующий с пустого множества <tex>S_0 = \emptyset. На шаге t</tt> алгоритм жадно добавляет один признак, максимизирующий локальное качество:
</dd><dd><tex>j_t = \arg\max_{j \in \Omega \setminus S_{t-1}} \text{Score}\left(A(X_{S_{t-1} \cup \{j\}})\right), \quad S_t = S_{t-1} \cup \{j_t\}
    • Обратное последовательное исключение (Backward Stepwise Elimination): Процесс, обратный прямому отбору. Стартует с полного набора признаков S_0 = \Omega, на каждом шаге отбрасывается переменная, удаление которой наносит минимальный ущерб точности модели.
    • Рекурсивное исключение признаков (Recursive Feature Elimination, RFE): Алгоритм (Guyon et al., 2002), обучающий модель на полном множестве, ранжирующий признаки по величине квадрата весовых коэффициентов линейного классификатора c_j = w_j^2 (или значимости в деревьях) и последовательно отсекающий наименее важные элементы.

    4. Встроенные методы (Embedded Methods)

    Встроенные методы осуществляют селекцию признаков непосредственно в ходе оптимизации внутренних параметров модели (процессы обучения и отбора математически неразделимы).

    • L1-регуляризация (LASSO): Метод аппроксимации разреженных решений (Tibshirani, 1996). За счет сингулярности (острых углов) ограничения L1-нормы в области нулевых значений, оптимизатор принудительно зануляет веса избыточных предикторов:
    Q_{LASSO}(w) = \frac{1}{2N} \sum_{i=1}^{N} \left(y_i - \sum_{j=1}^{D} w_j x_{ij}\right)^2 + \lambda \sum_{j=1}^{D} |w_j| \to \min_{w}
    где \lambda</tt> — управляющий гиперпараметр. Признак <tex>j</tt> считается исключенным, если <tex>w_j = 0.
    • Elastic Net Регуляризация: Комбинирует штрафы L1 и L2 (Zou, Hastie, 2005) для преодоления ограничений LASSO при работе с коррелированными группами признаков:
    Q_{EN}(w) = \frac{1}{2N} \sum_{i=1}^{N} \left(y_i - \sum_{j=1}^{D} w_j x_{ij}\right)^2 + \lambda_1 \sum_{j=1}^{D} |w_j| + \lambda_2 \sum_{j=1}^{D} w_j^2 \to \min_{w}
    • Уменьшение примеси в ансамблях деревьев (Mean Decrease Impurity, MDI): Метод оценки важности признаков в алгоритме Random Forest (Breiman, 2001). Значимость признака j</tt> вычисляется как взвешенная сумма улучшений критерия информативности (например, Джини) по всем узлам <tex>t</tt>, где было произведено разбиение по данному признаку:
</dd><dd><tex>\text{MDI}(j) = \frac{1}{|T|} \sum_{t \in T} \ w(t) \left[ I(t) - \frac{N_{tL}}{N_t}I(t_L) - \frac{N_{tR}}{N_t}I(t_R) \right]
      где I(t) — значение неопределенности в узле, w(t)</tt> — доля объектов, прошедших через узел, а <tex>L</tt> и <tex>R</tt> — левое и правое поддеревья.
</p><p>=== 5. Функции потерь и информационные критерии оценки ===
Для оценки оптимальности подмножеств признаков в линейных и классических вероятностных моделях используют критерии, накладывающие явный штраф за избыточную параметризацию (мощность подмножества <tex>d):

      • Информационный критерий Акаике (AIC):
      \text{AIC} = 2d - 2\ln(L_{max})
      где L_{max} — максимизированное значение функции правдоподобия (Likelihood function) модели.
      • Байесовский информационный критерий Шварца (BIC):
      \text{BIC} = d\ln(N) - 2\ln(L_{max})
      Штрафует за размерность жестче, чем AIC, при объемах выборки \ln(N) > 2.
      • Скорректированный коэффициент детерминации (R^2_{adj}): Используется в задачах регрессии:
      R^2_{adj} = 1 - (1 - R^2)\frac{N - 1}{N - d - 1}

      6. Метрики качества работы методов отбора

      Интегральная оценка алгоритмов селекции оперирует не только ошибкой аппроксимации, но и показателями стабильности:

      1. Стабильность отбора (Индекс Жакара): Оценивает инвариантность метода к малым возмущениям обучающей выборки. Для двух подмножеств S_1</tt> и <tex>S_2</tt>, полученных на разных подвыборках:
</dd><dd><tex>J(S_1, S_2) = \frac{|S_1 \cap S_2|}{|S_1 \cup S_2|}
      1. Скорректированный индекс Кунчевой (Kuncheva's Stability Index): Учитывает вероятность случайного совпадения признаков в высокоразмерных пространствах:
      I_K(S_1, S_2) = \frac{r \cdot D - d^2}{d \cdot (D - d)}
      где r = |S_1 \cap S_2| — размер пересечения подмножеств, а d</tt> — их фиксированная мощность (<tex>|S_1|=|S_2|=d). Диапазон значений: [-1, 1].

      7. Практические рекомендации и типичные ошибки

      • Утечка данных (Data Leakage) при кросс-валидации: КРИТИЧЕСКАЯ И САМАЯ РАСПРОСТРАНЕННАЯ ОШИБКА. Расчет любых статистик фильтрации (например, взаимной информации или корреляций) должен производиться строго внутри тренировочных фолдов. Если выполнить отбор признаков на всей матрице X</annotation></tt> до разбиения на фолды кросс-валидации, информация из валидационных подвыборок попадет в модель, что приведет к сильному оптимистическому смещению оценок качества (ошибка генерализации будет занижена).
</dd></dl>
<ul><li> '''Чувствительность к масштабу данных:''' Большинство регуляризаторов (LASSO, Elastic Net) и оберток на базе линейных моделей критичны к масштабу. Перед началом процедуры отбора матрица признаков <tex>X</tt> подлежит обязательной стандартизации:
</li></ul>
<dl><dd><tex>\tilde{x}_{ij} = \frac{x_{ij} - \mu_j}{\sigma_j}
    • Проблема группировки при мультиколлинеарности: Если в выборке присутствует группа строго коррелированных признаков (например, r > 0.95</tt>), классический метод LASSO случайным образом выберет один из них, занулив остальные. Это делает интерпретацию модели нестабильной. Для сохранения всей группы информативных связанных переменных необходимо отдавать предпочтение регуляризатору Elastic Net.