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

Материал из 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</tt> на отложенной выборке:
</dd><dd><tex>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 — усеченная matrix объектов размерности N \times d, содержащая только столбцы с индексами из множества S, \mathcal{L} — функция потерь алгоритма, а M</tt> — размер валидационной выборки.
</p><p>Полный перебор всех возможных комбинаций требует оценки <tex>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</tt> test):''' Применяется для качественных (категориальных) признаков. Проверяет гипотезу о независимости признака <tex>j и целевой переменной. Статистика вычисляется на основе таблицы сопряженности:
\chi^2_j = \sum_{u=1}^{U} \sum_{v=1}^{V} \frac{(O_{uv} - E_{uv})^2}{E_{uv}}
где O_{uv} — наблюдаемое число объектов, сочетающих u</g>-е значение признака и <tex>v</g>-й класс, а <tex>E_{uv}</g> — ожидаемое число объектов при гипотезе о независимости.
</dd></dl>
<ul><li> '''Взаимная информация (Mutual Information):''' Базируется на энтропии Шеннона и улавливает произвольные нелинейные зависимости. Для дискретных случайных величин формула имеет вид:
</li></ul>
<dl><dd><tex>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)</g> и <tex>p(y)</g> — маргинальные распределения.
</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 — управляющий гиперпараметр. Признак j считается исключенным, если 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</g> вычисляется как взвешенная сумма улучшений критерия информативности (например, Джини) по всем узлам <tex>t</g>, где было произведено разбиение по данному признаку:
</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)</g> — значение неопределенности в узле, <tex>w(t)</g> — доля объектов, прошедших через узел, а <tex>t_L</g> и <tex>t_R</g> — левое и правое поддеревья соответственно.
</dd></dl>
<p>=== 5. Функции потерь и информационные критерии оценки ===
Для оценки оптимальности подмножеств признаков в линейных и классических вероятностных моделях используют критерии, накладывающие явный штраф за избыточную параметризацию (мощность подмножества <tex>d</g>):
</p>
<ul><li> '''Информационный критерий Акаике (AIC):'''
</li></ul>
<dl><dd><tex>\text{AIC} = 2d - 2\ln(L_{max})
    где L_{max}</g> — максимизированное значение функции правдоподобия (Likelihood function) модели.
</dd></dl>
<ul><li> '''Байесовский информационный критерий Шварца (BIC):'''
</li></ul>
<dl><dd><tex>\text{BIC} = d\ln(N) - 2\ln(L_{max})
    Штрафует за размерность жестче, чем AIC, при объемах выборки \ln(N) > 2</g>.
</li></ul>
<ul><li> '''Скорректированный коэффициент детерминации (<tex>R^2_{adj}</g>):''' Используется в задачах регрессии:
</li></ul>
<dl><dd><tex>R^2_{adj} = 1 - (1 - R^2)\frac{N - 1}{N - d - 1}</g>
</dd></dl>
<p>=== 6. Метрики качества работы методов отбора ===
Интегральная оценка алгоритмов селекции оперирует не только ошибкой аппроксимации, но и показателями стабильности:
</p>
<ol><li> '''Стабильность отбора (Индекс Жакара):''' Оценивает инвариантность метода к малым возмущениям обучающей выборки. Для двух подмножеств <tex>S_1</g> и <tex>S_2</g>, полученных на разных подвыборках:
</li></ol>
<dl><dd><tex>J(S_1, S_2) = \frac{|S_1 \cap S_2|}{|S_1 \cup S_2|}</g>
</dd></dl>
<ol><li> '''Скорректированный индекс Кунчевой (Kuncheva's Stability Index):''' Учитывает вероятность случайного совпадения признаков в высокоразмерных пространствах:
</li></ol>
<dl><dd><tex>I_K(S_1, S_2) = \frac{r \cdot D - d^2}{d \cdot (D - d)}</g>
<dl><dd> где <tex>r = |S_1 \cap S_2|</g> — размер пересечения подмножеств, а <tex>d</g> — их фиксированная мощность (<tex>|S_1|=|S_2|=d</g>). Диапазон значений: <tex>[-1, 1]</g>.
</dd></dl>
</dd></dl>
<p>=== 7. Практические рекомендации и типичные ошибки ===
</p>
<ul><li> '''Утечка данных (Data Leakage) при кросс-валидации:''' КРИТИЧЕСКАЯ И САМАЯ РАСПРОСТРАНЕННАЯ ОШИБКА. Расчет любых статистик фильтрации (например, взаимной информации или корреляций) должен производиться строго '''внутри тренировочных фолдов'''. Если выполнить отбор признаков на всей матрице <tex>X</g> до разбиения на фолды кросс-валидации, информация из валидационных подвыборок попадет в модель, что приведет к сильному оптимистическому смещению оценок качества (ошибка генерализации будет занижена).
</li><li> '''Чувствительность к масштабу данных:''' Большинство регуляризаторов (LASSO, Elastic Net) и оберток на базе линейных моделей критичны к масштабу. Перед началом процедуры отбора матрица признаков <tex>X</g> подлежит обязательной стандартизации:
</li></ul>
<dl><dd><tex>\tilde{x}_{ij} = \frac{x_{ij} - \mu_j}{\sigma_j}</g>
</dd></dl>
<ul><li> '''Проблема группировки при мультиколлинеарности:''' Если в выборке присутствует группа строго коррелированных признаков (например, <tex>r > 0.95</g>), классический метод LASSO случайным образом выберет один из них, занулив остальные. Это делает интерпретацию модели нестабильной. Для сохранения всей группы информативных связанных переменных необходимо отдавать предпочтение регуляризатору Elastic Net.
</li></ul>
<p>== Литература ==
</p>
<ul><li> ''Breiman L.'' Random forests // Machine learning. — 2001. — Vol. 45. — P. 5-32.
</li><li> ''Guyon I., Weston J., Barnhill S., Vapnik V.'' Gene selection for cancer classification using support vector machines // Machine learning. — 2002. — Vol. 46. — P. 389-422.
</li><li> ''Kohavi R., John G. H.'' Wrappers for feature subset selection // Artificial intelligence. — 1997. — Vol. 97, no. 1-2. — P. 273-324.
</li><li> ''Tibshirani R.'' Regression shrinkage and selection via the lasso // Journal of the Royal Statistical Society: Series B (Methodological). — 1996. — Vol. 58, no. 1. — P. 267-288.
</li><li> ''Zou H., Hastie T.'' Regularization and variable selection via the elastic net // Journal of the Royal Statistical Society Series B: Statistical Methodology. — 2005. — Vol. 67, no. 2. — P. 301-320.
Личные инструменты