Генерация признаков

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

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: {{well|Статья написана с использованием LLM '''GPT-4o''' и проверена участником ~~~~}} '''Генерация признаков''' (ан...)
Строка 1: Строка 1:
-
{{well|Статья написана с использованием LLM '''GPT-4o''' и проверена участником [[Участник:Arina Pakalova|Arina Pakalova]] 10:12, 25 июня 2026 (MSD)}}
+
{{well|Статья написана с использованием LLM '''GPT-4o''' и проверена участником [[Участник:Arina Pakalova|Arina Pakalova]] 10:25, 25 июня 2026 (MSD)}}
'''Генерация признаков''' (англ. ''feature generation'', ''feature construction'') — это процесс создания новых переменных на основе исходного [[Признаковое описание|признакового описания]] объектов с целью повышения информативности данных для последующего применения алгоритмов [[Машинное обучение|машинного обучения]].
'''Генерация признаков''' (англ. ''feature generation'', ''feature construction'') — это процесс создания новых переменных на основе исходного [[Признаковое описание|признакового описания]] объектов с целью повышения информативности данных для последующего применения алгоритмов [[Машинное обучение|машинного обучения]].
Строка 7: Строка 7:
== Формальное определение ==
== Формальное определение ==
-
Пусть задано исходное признаковое описание объекта $x \in \mathbb{R}^d$. Генерация признаков представляет собой отображение:
+
Пусть задано исходное признаковое описание объекта <tex>x \in \mathbb{R}^d</tex>. Генерация признаков представляет собой отображение:
-
$\phi: \mathbb{R}^d \rightarrow \mathbb{R}^D$,
+
<tex>\phi: \mathbb{R}^d \rightarrow \mathbb{R}^D</tex>,
-
где $D > d$. Новое описание объекта формируется как $\tilde{x} = \phi(x)$. Целью данного преобразования является переход в такое пространство $\mathbb{R}^D$, в котором [[Обучающая выборка|обучающая выборка]] становится линейно разделимой или обладает более выраженной структурой, позволяющей построить модель с меньшей [[Ошибка обобщения|ошибкой обобщения]]<ref name="bishop">Bishop, C. M. (2006). ''Pattern Recognition and Machine Learning''. Springer.</ref>.
+
где <tex>D > d</tex>. Новое описание объекта формируется как <tex>\tilde{x} = \phi(x)</tex>. Целью данного преобразования является переход в такое пространство <tex>\mathbb{R}^D</tex>, в котором [[Обучающая выборка|обучающая выборка]] становится линейно разделимой или обладает более выраженной структурой, позволяющей построить модель с меньшей [[Ошибка обобщения|ошибкой обобщения]]<ref name="bishop">Bishop, C. M. (2006). ''Pattern Recognition and Machine Learning''. Springer.</ref>.
== Основные методы генерации признаков ==
== Основные методы генерации признаков ==
Строка 23: Строка 23:
=== Признаки взаимодействия (Interaction features) ===
=== Признаки взаимодействия (Interaction features) ===
Создаются путем комбинирования двух или более исходных переменных для фиксации совместного влияния факторов на [[Целевая переменная|целевую переменную]]:
Создаются путем комбинирования двух или более исходных переменных для фиксации совместного влияния факторов на [[Целевая переменная|целевую переменную]]:
-
* '''Мультипликативное взаимодействие:''' произведение признаков $x_i \cdot x_j$. Классическим примером являются [[Полиномиальные признаки|полиномиальные признаки]], где формируются все возможные произведения исходных переменных до заданной степени. Это позволяет линейным моделям (таким как [[Линейная регрессия|линейная регрессия]] или [[Логистическая регрессия|логистическая регрессия]]) аппроксимировать нелинейные зависимости<ref name="hastie">Hastie, T., Tibshirani, R., & Friedman, J. (2009). ''The Elements of Statistical Learning'' (2nd ed.). Springer.</ref>.
+
* '''Мультипликативное взаимодействие:''' произведение признаков <tex>x_i \cdot x_j</tex>. Классическим примером являются [[Полиномиальные признаки|полиномиальные признаки]], где формируются все возможные произведения исходных переменных до заданной степени. Это позволяет линейным моделям (таким как [[Линейная регрессия|линейная регрессия]] или [[Логистическая регрессия|логистическая регрессия]]) аппроксимировать нелинейные зависимости<ref name="hastie">Hastie, T., Tibshirani, R., & Friedman, J. (2009). ''The Elements of Statistical Learning'' (2nd ed.). Springer.</ref>.
* '''Аддитивное взаимодействие и отношения:''' суммы или частные от деления признаков (например, отношение площади комнаты к ее объему).
* '''Аддитивное взаимодействие и отношения:''' суммы или частные от деления признаков (например, отношение площади комнаты к ее объему).
Строка 29: Строка 29:
* '''Временные ряды:''' генерация лаг-признаков (значений за предыдущие периоды), скользящих статистик (среднее значение, дисперсия, минимум/максимум в окне), признаков сезонности (день недели, месяц) и автокорреляционных функций.
* '''Временные ряды:''' генерация лаг-признаков (значений за предыдущие периоды), скользящих статистик (среднее значение, дисперсия, минимум/максимум в окне), признаков сезонности (день недели, месяц) и автокорреляционных функций.
* '''Текстовые данные:''' применение подходов [[Мешок слов|мешка слов]] (Bag-of-Words), вычисление [[TF-IDF|TF-IDF]] характеристик, генерация n-грамм. Данные методы преобразуют неструктурированный текст в числовую матрицу «объект-признак».
* '''Текстовые данные:''' применение подходов [[Мешок слов|мешка слов]] (Bag-of-Words), вычисление [[TF-IDF|TF-IDF]] характеристик, генерация n-грамм. Данные методы преобразуют неструктурированный текст в числовую матрицу «объект-признак».
-
* '''Графовые данные:''' вычисление характеристик вершин и ребер, таких как степень вершины, [[Коэффициент кластеризации|коэффициент кластеризации]], меры центральности (например, PageRank), расстояния в графе.
+
* '''Графовые данные:''' вычисление характеристик вершин и рёбер, таких как степень вершины, [[Коэффициент кластеризации|коэффициент кластеризации]], меры центральности (например, PageRank), расстояния в графе.
=== Автоматическая генерация признаков ===
=== Автоматическая генерация признаков ===

Версия 06:25, 25 июня 2026

Статья написана с использованием LLM GPT-4o и проверена участником Arina Pakalova 10:25, 25 июня 2026 (MSD)


Генерация признаков (англ. feature generation, feature construction) — это процесс создания новых переменных на основе исходного признакового описания объектов с целью повышения информативности данных для последующего применения алгоритмов машинного обучения.

Генерация признаков является ключевым этапом конструирования признаков (feature engineering) и принципиально отличается от отбора признаков (feature selection). Если отбор подразумевает выбор оптимального подмножества из уже существующих переменных, то генерация заключается в расширении пространства признаков за счет явного или неявного вычисления новых характеристик[1].

Содержание

Формальное определение

Пусть задано исходное признаковое описание объекта x \in \mathbb{R}^d. Генерация признаков представляет собой отображение: \phi: \mathbb{R}^d \rightarrow \mathbb{R}^D, где D > d. Новое описание объекта формируется как \tilde{x} = \phi(x). Целью данного преобразования является переход в такое пространство \mathbb{R}^D, в котором обучающая выборка становится линейно разделимой или обладает более выраженной структурой, позволяющей построить модель с меньшей ошибкой обобщения[1].

Основные методы генерации признаков

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

Базовые математические преобразования

К данной группе относятся арифметические операции над скалярными признаками:

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

Признаки взаимодействия (Interaction features)

Создаются путем комбинирования двух или более исходных переменных для фиксации совместного влияния факторов на целевую переменную:

  • Мультипликативное взаимодействие: произведение признаков x_i \cdot x_j. Классическим примером являются полиномиальные признаки, где формируются все возможные произведения исходных переменных до заданной степени. Это позволяет линейным моделям (таким как линейная регрессия или логистическая регрессия) аппроксимировать нелинейные зависимости[1].
  • Аддитивное взаимодействие и отношения: суммы или частные от деления признаков (например, отношение площади комнаты к ее объему).

Специфические генераторы для структурированных данных

  • Временные ряды: генерация лаг-признаков (значений за предыдущие периоды), скользящих статистик (среднее значение, дисперсия, минимум/максимум в окне), признаков сезонности (день недели, месяц) и автокорреляционных функций.
  • Текстовые данные: применение подходов мешка слов (Bag-of-Words), вычисление TF-IDF характеристик, генерация n-грамм. Данные методы преобразуют неструктурированный текст в числовую матрицу «объект-признак».
  • Графовые данные: вычисление характеристик вершин и рёбер, таких как степень вершины, коэффициент кластеризации, меры центральности (например, PageRank), расстояния в графе.

Автоматическая генерация признаков

Вместо ручного конструирования применяются алгоритмические подходы:

  • Глубокое обучение (Deep Learning): скрытые слои искусственных нейронных сетей (например, сверточных сетей для изображений) выполняют иерархическую автоматическую генерацию признаков. Выходы предпоследнего слоя выступают в роли сгенерированных признаков для финального классификатора[1].
  • Генетическое программирование (Genetic Programming): эволюционный поиск оптимальных математических формул для комбинации исходных признаков.
  • Синтез глубоких признаков (Deep Feature Synthesis): алгоритм, реализованный в библиотеке Featuretools, который автоматически применяет наборы примитивных трансформаций (aggregation, transform) к реляционным базам данных для генерации новых признаков.

Проблемы и ограничения

Применение генерации признаков сопряжено с рядом проблем:

  • Проклятие размерности: избыточная генерация признаков приводит к экспоненциальному росту размерности пространства. Это требует пропорционального роста объема обучающей выборки для сохранения плотности данных, иначе модель подвержена переобучению.
  • Мультиколлинеарность: создание производных признаков (например, суммы двух сильно скоррелированных признаков) часто приводит к высокой корреляции между предикторами. Это может вызвать числовую нестабильность при обучении линейных моделей без регуляризации.
  • Вычислительная сложность: хранение и обработка разреженных матриц огромной размерности (характерных для n-грамм или полиномиальных признаков высокой степени) требует значительных ресурсов оперативной памяти и процессорного времени.

Литература

  1. Kuhn, M., & Johnson, K. (2019). Feature Engineering and Selection: A Practical Approach for Predictive Models. CRC Press. ISBN 978-1138079229.
  2. Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer. ISBN 978-0387310732.
  3. Hastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning: Data Mining, Inference, and Prediction (2nd ed.). Springer. ISBN 978-0387848570.
Личные инструменты