Отбор признаков
Материал из MachineLearning.
(Новая: {{Шаблон:Философия ИИ/Статья создана с помощью ИИ|модель=Gemini Pro|проверка=Укажите_ваше_имя}} == Отбор при...) |
|||
| Строка 3: | Строка 3: | ||
== Отбор признаков (Feature Selection) == | == Отбор признаков (Feature Selection) == | ||
| - | '''Отбор признаков''' (англ. ''feature selection'') — процесс выбора оптимального подмножества релевантных признаков (предикторов, переменных) для построения модели машинного обучения. | + | '''Отбор признаков''' (англ. ''feature selection'') — процесс выбора оптимального подмножества релевантных признаков (предикторов, переменных) для построения модели машинного обучения. Отбор признаков преследует несколько фундаментальных целей: преодоление «проклятия размерности» (curse of dimensionality), устранение мультиколлинеарности, минимизация времени обучения и радикальное повышение интерпретируемости результирующих моделей при сохранении или увеличении их обобщающей способности. |
| - | === 1. | + | === 1. Математическая постановка задачи === |
| - | Пусть задана обучающая выборка, представленная в виде матрицы объекты-признаки | + | Пусть задана обучающая выборка, представленная в виде матрицы объекты-признаки <tex>X \in \mathbf{R}^{N \times D}</tex>, где <tex>N</tex> — количество независимых объектов (наблюдений), а <tex>D</tex> — исходная размерность признакового пространства. Каждому объекту (строке матрицы) <tex>x_i \in \mathbf{R}^D</tex> поставлен в соответствие истинный ответ (целевая переменная) <tex>y_i \in \mathbf{Y}</tex>. Для задач регрессии <tex>\mathbf{Y} = \mathbf{R}</tex>, для задач многоклассовой классификации <tex>\mathbf{Y} = \{1, \dots, K\}</tex>. |
| - | + | Определим полное множество индексов исходных признаков как: | |
| + | :<tex>\Omega = \{1, \dots, D\}, \quad |\Omega| = D</tex> | ||
| - | + | Задачей отбора признаков является нахождение оптимального подмножества индексов <tex>S \subset \Omega</tex> фиксированной или переменной мощности <tex>|S| = d</tex> (где <tex>d \ll D</tex>), которое минимизирует функционал эмпирического риска выбранного базового алгоритма обучения <tex>A</tex> на отложенной выборке: | |
| - | : | + | :<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)</tex> |
| - | :: где | + | :: где <tex>X_S</tex> — усеченная матрица объектов размерности <tex>N \times d</tex>, содержащая только столбцы с индексами из множества <tex>S</annotation></tex>, <tex>\mathcal{L}</tex> — функция потерь алгоритма, а <tex>M</tex> — размер валидационной выборки. |
| - | + | Полный перебор всех возможных комбинаций требует оценки <tex>2^D</tex> вариантов, что представляет собой NP-трудную задачу. В силу этого на практике применяются эвристические подходы, разделяемые на три класса: фильтрация (filters), обертывание (wrappers) и встроенные методы (embedded). | |
=== 2. Методы фильтрации (Filter Methods) === | === 2. Методы фильтрации (Filter Methods) === | ||
| - | Методы фильтрации оценивают | + | Методы фильтрации оценивают статистические свойства признаков изолированно от структуры и параметров финальной прогностической модели. Из-за вычислительной простоты они используются в качестве методов быстрой предварительной фильтрации (screener). |
| - | * ''' | + | * '''Порог дисперсии (Variance Threshold):''' Устраняет константные и квазиконстантные признаки, не несущие дискриминативной информации. Признак <tex>j</tex> удаляется, если его выборочная дисперсия ниже заданного порога <tex>\tau</tex>: |
| - | + | :<tex>\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}</tex> | |
| - | + | ||
| - | * ''' | + | * '''Линейный коэффициент корреляции Пирсона:''' Измеряет степень линейной связи между непрерывным признаком <tex>x^{(j)}</tex> и непрерывной целевой переменной <tex>y</tex>: |
| - | : | + | :<tex>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}}</tex> |
| - | :: где | + | |
| + | * '''Критерий Хи-квадрат (<tex>\chi^2</tex> test):''' Применяется для качественных (категориальных) признаков. Проверяет гипотезу о независимости признака <tex>j</tt> и целевой переменной. Статистика вычисляется на основе таблицы сопряженности: | ||
| + | :<tex>\chi^2_j = \sum_{u=1}^{U} \sum_{v=1}^{V} \frac{(O_{uv} - E_{uv})^2}{E_{uv}}</tex> | ||
| + | :: где <tex>O_{uv}</tex> — наблюдаемое число объектов, сочетающих <tex>u</tex>-е значение признака и <tex>v</tt>-й класс, а <tex>E_{uv}</tex> — ожидаемое число объектов при гипотезе о независимости. | ||
| + | |||
| + | * '''Взаимная информация (Mutual Information):''' Базируется на энтропии Шеннона и улавливает произвольные нелинейные зависимости. Для дискретных случайных величин формула имеет вид: | ||
| + | :<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)}</tex> | ||
| + | :: где <tex>p(x, y)</tex> — совместное распределение вероятностей, а <tex>p(x)</tex> и <tex>p(y)</tt> — маргинальные распределения. | ||
=== 3. Методы обертывания (Wrapper Methods) === | === 3. Методы обертывания (Wrapper Methods) === | ||
| - | Методы обертывания используют | + | Методы обертывания используют целевой алгоритм машинного обучения в качестве функции оценки (score) для проверяемого подмножества признаков. Впервые подробно исследованы в работе Kohavi, John (1997). |
| - | * '''Прямой отбор (Forward Selection):''' | + | * '''Прямой последовательный отбор (Forward Stepwise Selection):''' Итерационный процесс, стартующий с пустого множества <tex>S_0 = \emptyset</tex>. На шаге <tex>t</tt> алгоритм жадно добавляет один признак, максимизирующий локальное качество: |
| - | * '''Обратное исключение (Backward Elimination):''' | + | :<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\}</tex> |
| - | * '''Рекурсивное исключение признаков (Recursive Feature Elimination, RFE):''' | + | * '''Обратное последовательное исключение (Backward Stepwise Elimination):''' Процесс, обратный прямому отбору. Стартует с полного набора признаков <tex>S_0 = \Omega</tex>, на каждом шаге отбрасывается переменная, удаление которой наносит минимальный ущерб точности модели. |
| + | * '''Рекурсивное исключение признаков (Recursive Feature Elimination, RFE):''' Алгоритм (Guyon et al., 2002), обучающий модель на полном множестве, ранжирующий признаки по величине квадрата весовых коэффициентов линейного классификатора <tex>c_j = w_j^2</tex> (или значимости в деревьях) и последовательно отсекающий наименее важные элементы. | ||
=== 4. Встроенные методы (Embedded Methods) === | === 4. Встроенные методы (Embedded Methods) === | ||
| - | + | Встроенные методы осуществляют селекцию признаков непосредственно в ходе оптимизации внутренних параметров модели (процессы обучения и отбора математически неразделимы). | |
| - | * '''L1-регуляризация (LASSO):''' | + | * '''L1-регуляризация (LASSO):''' Метод аппроксимации разреженных решений (Tibshirani, 1996). За счет сингулярности (острых углов) ограничения L1-нормы в области нулевых значений, оптимизатор принудительно зануляет веса избыточных предикторов: |
| - | : | + | :<tex>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}</tex> |
| - | :: где | + | :: где <tex>\lambda</tt> — управляющий гиперпараметр. Признак <tex>j</tt> считается исключенным, если <tex>w_j = 0</tex>. |
| - | * ''' | + | * '''Elastic Net Регуляризация:''' Комбинирует штрафы L1 и L2 (Zou, Hastie, 2005) для преодоления ограничений LASSO при работе с коррелированными группами признаков: |
| + | :<tex>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}</tex> | ||
| - | === 5. Функции потерь и критерии | + | * '''Уменьшение примеси в ансамблях деревьев (Mean Decrease Impurity, MDI):''' Метод оценки важности признаков в алгоритме Random Forest (Breiman, 2001). Значимость признака <tex>j</tt> вычисляется как взвешенная сумма улучшений критерия информативности (например, Джини) по всем узлам <tex>t</tt>, где было произведено разбиение по данному признаку: |
| - | + | :<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]</tex> | |
| + | :: где <tex>I(t)</tex> — значение неопределенности в узле, <tex>w(t)</tt> — доля объектов, прошедших через узел, а <tex>L</tt> и <tex>R</tt> — левое и правое поддеревья. | ||
| + | |||
| + | === 5. Функции потерь и информационные критерии оценки === | ||
| + | Для оценки оптимальности подмножеств признаков в линейных и классических вероятностных моделях используют критерии, накладывающие явный штраф за избыточную параметризацию (мощность подмножества <tex>d</tex>): | ||
* '''Информационный критерий Акаике (AIC):''' | * '''Информационный критерий Акаике (AIC):''' | ||
| - | : AIC = 2'' | + | :<tex>\text{AIC} = 2d - 2\ln(L_{max})</tex> |
| - | :: | + | :: где <tex>L_{max}</tex> — максимизированное значение функции правдоподобия (Likelihood function) модели. |
| + | |||
| + | * '''Байесовский информационный критерий Шварца (BIC):''' | ||
| + | :<tex>\text{BIC} = d\ln(N) - 2\ln(L_{max})</tex> | ||
| + | :: Штрафует за размерность жестче, чем AIC, при объемах выборки <tex>\ln(N) > 2</tex>. | ||
| - | * ''' | + | * '''Скорректированный коэффициент детерминации (<tex>R^2_{adj}</tex>):''' Используется в задачах регрессии: |
| - | : | + | :<tex>R^2_{adj} = 1 - (1 - R^2)\frac{N - 1}{N - d - 1}</tex> |
| - | + | ||
=== 6. Метрики качества работы методов отбора === | === 6. Метрики качества работы методов отбора === | ||
| - | + | Интегральная оценка алгоритмов селекции оперирует не только ошибкой аппроксимации, но и показателями стабильности: | |
| - | # '''Стабильность отбора ( | + | # '''Стабильность отбора (Индекс Жакара):''' Оценивает инвариантность метода к малым возмущениям обучающей выборки. Для двух подмножеств <tex>S_1</tt> и <tex>S_2</tt>, полученных на разных подвыборках: |
| - | : | + | :<tex>J(S_1, S_2) = \frac{|S_1 \cap S_2|}{|S_1 \cup S_2|}</tex> |
| - | + | # '''Скорректированный индекс Кунчевой (Kuncheva's Stability Index):''' Учитывает вероятность случайного совпадения признаков в высокоразмерных пространствах: | |
| - | + | :<tex>I_K(S_1, S_2) = \frac{r \cdot D - d^2}{d \cdot (D - d)}</tex> | |
| + | :: где <tex>r = |S_1 \cap S_2|</tex> — размер пересечения подмножеств, а <tex>d</tt> — их фиксированная мощность (<tex>|S_1|=|S_2|=d</tex>). Диапазон значений: <tex>[-1, 1]</tex>. | ||
| - | === 7. | + | === 7. Практические рекомендации и типичные ошибки === |
| - | * '''Утечка данных при кросс-валидации:''' КРИТИЧЕСКАЯ ОШИБКА. | + | * '''Утечка данных (Data Leakage) при кросс-валидации:''' КРИТИЧЕСКАЯ И САМАЯ РАСПРОСТРАНЕННАЯ ОШИБКА. Расчет любых статистик фильтрации (например, взаимной информации или корреляций) должен производиться строго '''внутри тренировочных фолдов'''. Если выполнить отбор признаков на всей матрице <tex>X</annotation></tt> до разбиения на фолды кросс-валидации, информация из валидационных подвыборок попадет в модель, что приведет к сильному оптимистическому смещению оценок качества (ошибка генерализации будет занижена). |
| - | * ''' | + | * '''Чувствительность к масштабу данных:''' Большинство регуляризаторов (LASSO, Elastic Net) и оберток на базе линейных моделей критичны к масштабу. Перед началом процедуры отбора матрица признаков <tex>X</tt> подлежит обязательной стандартизации: |
| - | * ''' | + | :<tex>\tilde{x}_{ij} = \frac{x_{ij} - \mu_j}{\sigma_j}</tex> |
| + | * '''Проблема группировки при мультиколлинеарности:''' Если в выборке присутствует группа строго коррелированных признаков (например, <tex>r > 0.95</tt>), классический метод LASSO случайным образом выберет один из них, занулив остальные. Это делает интерпретацию модели нестабильной. Для сохранения всей группы информативных связанных переменных необходимо отдавать предпочтение регуляризатору Elastic Net. | ||
Версия 13:01, 23 июня 2026
Шаблон:Философия ИИ/Статья создана с помощью ИИ
Содержание |
Отбор признаков (Feature Selection)
Отбор признаков (англ. feature selection) — процесс выбора оптимального подмножества релевантных признаков (предикторов, переменных) для построения модели машинного обучения. Отбор признаков преследует несколько фундаментальных целей: преодоление «проклятия размерности» (curse of dimensionality), устранение мультиколлинеарности, минимизация времени обучения и радикальное повышение интерпретируемости результирующих моделей при сохранении или увеличении их обобщающей способности.
1. Математическая постановка задачи
Пусть задана обучающая выборка, представленная в виде матрицы объекты-признаки , где
— количество независимых объектов (наблюдений), а
— исходная размерность признакового пространства. Каждому объекту (строке матрицы)
поставлен в соответствие истинный ответ (целевая переменная)
. Для задач регрессии
, для задач многоклассовой классификации
.
Определим полное множество индексов исходных признаков как:
Задачей отбора признаков является нахождение оптимального подмножества индексов фиксированной или переменной мощности
(где
), которое минимизирует функционал эмпирического риска выбранного базового алгоритма обучения
на отложенной выборке:
- где
— усеченная матрица объектов размерности
, содержащая только столбцы с индексами из множества
,
— функция потерь алгоритма, а
— размер валидационной выборки.
- где
Полный перебор всех возможных комбинаций требует оценки вариантов, что представляет собой NP-трудную задачу. В силу этого на практике применяются эвристические подходы, разделяемые на три класса: фильтрация (filters), обертывание (wrappers) и встроенные методы (embedded).
2. Методы фильтрации (Filter Methods)
Методы фильтрации оценивают статистические свойства признаков изолированно от структуры и параметров финальной прогностической модели. Из-за вычислительной простоты они используются в качестве методов быстрой предварительной фильтрации (screener).
- Порог дисперсии (Variance Threshold): Устраняет константные и квазиконстантные признаки, не несущие дискриминативной информации. Признак
удаляется, если его выборочная дисперсия ниже заданного порога
:
- Линейный коэффициент корреляции Пирсона: Измеряет степень линейной связи между непрерывным признаком
и непрерывной целевой переменной
:
- Критерий Хи-квадрат (
test): Применяется для качественных (категориальных) признаков. Проверяет гипотезу о независимости признака
- где
— наблюдаемое число объектов, сочетающих
-е значение признака и
— ожидаемое число объектов при гипотезе о независимости.
- Взаимная информация (Mutual Information): Базируется на энтропии Шеннона и улавливает произвольные нелинейные зависимости. Для дискретных случайных величин формула имеет вид:
- где
— совместное распределение вероятностей, а
и
. На шаге
- Обратное последовательное исключение (Backward Stepwise Elimination): Процесс, обратный прямому отбору. Стартует с полного набора признаков
, на каждом шаге отбрасывается переменная, удаление которой наносит минимальный ущерб точности модели.
- Рекурсивное исключение признаков (Recursive Feature Elimination, RFE): Алгоритм (Guyon et al., 2002), обучающий модель на полном множестве, ранжирующий признаки по величине квадрата весовых коэффициентов линейного классификатора
(или значимости в деревьях) и последовательно отсекающий наименее важные элементы.
4. Встроенные методы (Embedded Methods)
Встроенные методы осуществляют селекцию признаков непосредственно в ходе оптимизации внутренних параметров модели (процессы обучения и отбора математически неразделимы).
- L1-регуляризация (LASSO): Метод аппроксимации разреженных решений (Tibshirani, 1996). За счет сингулярности (острых углов) ограничения L1-нормы в области нулевых значений, оптимизатор принудительно зануляет веса избыточных предикторов:
- где
.
- где
- Elastic Net Регуляризация: Комбинирует штрафы L1 и L2 (Zou, Hastie, 2005) для преодоления ограничений LASSO при работе с коррелированными группами признаков:
- Уменьшение примеси в ансамблях деревьев (Mean Decrease Impurity, MDI): Метод оценки важности признаков в алгоритме Random Forest (Breiman, 2001). Значимость признака
- где
— значение неопределенности в узле,
):
- Информационный критерий Акаике (AIC):
- где
— максимизированное значение функции правдоподобия (Likelihood function) модели.
- где
- Байесовский информационный критерий Шварца (BIC):
- Штрафует за размерность жестче, чем AIC, при объемах выборки
.
- Штрафует за размерность жестче, чем AIC, при объемах выборки
- Скорректированный коэффициент детерминации (
): Используется в задачах регрессии:
6. Метрики качества работы методов отбора
Интегральная оценка алгоритмов селекции оперирует не только ошибкой аппроксимации, но и показателями стабильности:
- Стабильность отбора (Индекс Жакара): Оценивает инвариантность метода к малым возмущениям обучающей выборки. Для двух подмножеств
- Скорректированный индекс Кунчевой (Kuncheva's Stability Index): Учитывает вероятность случайного совпадения признаков в высокоразмерных пространствах:
- где
— размер пересечения подмножеств, а
). Диапазон значений:
.
- где
7. Практические рекомендации и типичные ошибки
- Утечка данных (Data Leakage) при кросс-валидации: КРИТИЧЕСКАЯ И САМАЯ РАСПРОСТРАНЕННАЯ ОШИБКА. Расчет любых статистик фильтрации (например, взаимной информации или корреляций) должен производиться строго внутри тренировочных фолдов. Если выполнить отбор признаков на всей матрице
- где
- где
- Проблема группировки при мультиколлинеарности: Если в выборке присутствует группа строго коррелированных признаков (например,
- где

