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

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

(Различия между версиями)
Перейти к: навигация, поиск
 
(1 промежуточная версия не показана)
Строка 3: Строка 3:
'''Генерация признаков''' (англ. ''feature generation'', ''feature construction'') — это процесс создания новых переменных на основе исходного [[Признаковое описание|признакового описания]] объектов с целью повышения информативности данных для последующего применения алгоритмов [[Машинное обучение|машинного обучения]].
'''Генерация признаков''' (англ. ''feature generation'', ''feature construction'') — это процесс создания новых переменных на основе исходного [[Признаковое описание|признакового описания]] объектов с целью повышения информативности данных для последующего применения алгоритмов [[Машинное обучение|машинного обучения]].
-
Генерация признаков является ключевым этапом [[Конструирование признаков|конструирования признаков]] (feature engineering) и принципиально отличается от [[Отбор признаков|отбора признаков]] (feature selection). Если отбор подразумевает выбор оптимального подмножества из уже существующих переменных, то генерация заключается в расширении пространства признаков за счет явного или неявного вычисления новых характеристик<ref name="kuhn">Kuhn, M., & Johnson, K. (2019). ''Feature Engineering and Selection: A Practical Approach for Predictive Models''. CRC Press.</ref>.
+
Генерация признаков является ключевым этапом [[Конструирование признаков|конструирования признаков]] (feature engineering) и принципиально отличается от [[Отбор признаков|отбора признаков]] (feature selection). Если отбор подразумевает выбор оптимального подмножества из уже существующих переменных, то генерация заключается в расширении пространства признаков за счет явного или неявного вычисления новых характеристик<ref name="kuhn">Kuhn M., Johnson K. Feature engineering and selection: A practical approach for predictive models. – Chapman and Hall/CRC, 2019.</ref>.
== Формальное определение ==
== Формальное определение ==
Строка 9: Строка 9:
Пусть задано исходное признаковое описание объекта <tex>x \in \mathbb{R}^d</tex>. Генерация признаков представляет собой отображение:
Пусть задано исходное признаковое описание объекта <tex>x \in \mathbb{R}^d</tex>. Генерация признаков представляет собой отображение:
<tex>\phi: \mathbb{R}^d \rightarrow \mathbb{R}^D</tex>,
<tex>\phi: \mathbb{R}^d \rightarrow \mathbb{R}^D</tex>,
-
где <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>.
+
где <tex>D > d</tex>. Новое описание объекта формируется как <tex>\tilde{x} = \phi(x)</tex>. Целью данного преобразования является переход в такое пространство <tex>\mathbb{R}^D</tex>, в котором [[Обучающая выборка|обучающая выборка]] становится линейно разделимой или обладает более выраженной структурой, позволяющей построить модель с меньшей [[Ошибка обобщения|ошибкой обобщения]]<ref name="bishop">Bishop C. M., Nasrabadi N. M. Pattern recognition and machine learning. – New York : springer, 2006. – Т. 4. – №. 4.</ref>.
== Основные методы генерации признаков ==
== Основные методы генерации признаков ==
Строка 19: Строка 19:
* '''Логарифмирование и степенные преобразования:''' применяются для изменения распределения признака (например, для приближения к нормальному распределению) и снижения влияния выбросов.
* '''Логарифмирование и степенные преобразования:''' применяются для изменения распределения признака (например, для приближения к нормальному распределению) и снижения влияния выбросов.
* '''Дискретизация (биннинг):''' преобразование непрерывной переменной в категориальную путем разбиения области значений на интервалы.
* '''Дискретизация (биннинг):''' преобразование непрерывной переменной в категориальную путем разбиения области значений на интервалы.
-
* '''Нормализация и стандартизация:''' хотя технически это преобразования масштаба, они создают новые представления признаков, необходимые для корректной работы метрических алгоритмов (например, [[Метод k-ближайших соседей|метода k-ближайших соседей]]).
+
* '''Нормализация и стандартизация:''' хотя технически это преобразования масштаба, они создают новые представления признаков, необходимые для корректной работы метрических алгоритмов (например, [[Метод ближайших соседей|метода k-ближайших соседей]]).
=== Признаки взаимодействия (Interaction features) ===
=== Признаки взаимодействия (Interaction features) ===
Создаются путем комбинирования двух или более исходных переменных для фиксации совместного влияния факторов на [[Целевая переменная|целевую переменную]]:
Создаются путем комбинирования двух или более исходных переменных для фиксации совместного влияния факторов на [[Целевая переменная|целевую переменную]]:
-
* '''Мультипликативное взаимодействие:''' произведение признаков <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>.
+
* '''Мультипликативное взаимодействие:''' произведение признаков <tex>x_i \cdot x_j</tex>. Классическим примером являются [[Полиномиальные признаки|полиномиальные признаки]], где формируются все возможные произведения исходных переменных до заданной степени. Это позволяет линейным моделям (таким как [[Линейная регрессия|линейная регрессия]] или [[Логистическая регрессия|логистическая регрессия]]) аппроксимировать нелинейные зависимости<ref name="hastie">Hastie T. et al. The elements of statistical learning. – 2009.</ref>.
* '''Аддитивное взаимодействие и отношения:''' суммы или частные от деления признаков (например, отношение площади комнаты к ее объему).
* '''Аддитивное взаимодействие и отношения:''' суммы или частные от деления признаков (например, отношение площади комнаты к ее объему).
Строка 43: Строка 43:
* '''Мультиколлинеарность:''' создание производных признаков (например, суммы двух сильно скоррелированных признаков) часто приводит к высокой корреляции между предикторами. Это может вызвать числовую нестабильность при обучении линейных моделей без регуляризации.
* '''Мультиколлинеарность:''' создание производных признаков (например, суммы двух сильно скоррелированных признаков) часто приводит к высокой корреляции между предикторами. Это может вызвать числовую нестабильность при обучении линейных моделей без регуляризации.
* '''Вычислительная сложность:''' хранение и обработка разреженных матриц огромной размерности (характерных для n-грамм или полиномиальных признаков высокой степени) требует значительных ресурсов оперативной памяти и процессорного времени.
* '''Вычислительная сложность:''' хранение и обработка разреженных матриц огромной размерности (характерных для n-грамм или полиномиальных признаков высокой степени) требует значительных ресурсов оперативной памяти и процессорного времени.
 +
 +
== См. также ==
 +
* [[Признаковое описание]]
 +
* [[http://www.machinelearning.ru/wiki/images/a/a7/Vlasova2009.pdf Генерация признаков в задаче классификации сигналов]]
 +
* [[http://www.machinelearning.ru/wiki/images/9/96/RysmyatovaCourseFile.pdf Методы отбора признаков]]
 +
* [[Проектирование систем машинного обучения]]
 +
 +
== Примечания ==
 +
{{примечания}}
== Литература ==
== Литература ==
-
<references />
+
* {{статья | автор = Kuhn M., Johnson K. | заглавие = Feature engineering and selection: A practical approach for predictive models | издательство = Chapman and Hall/CRC | год = 2019 }}
 +
* {{статья | автор = Bishop C. M., Nasrabadi N. M. | заглавие = Pattern recognition and machine learning | место = New York | издательство = springer | год = 2006 | том = 4 | номер = 4 }}
 +
* {{статья | автор = Hastie T. et al. | заглавие = The elements of statistical learning | год = 2009 }}

Текущая версия

Статья написана с использованием LLM GLM-5-Turbo и проверена участником 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-грамм или полиномиальных признаков высокой степени) требует значительных ресурсов оперативной памяти и процессорного времени.

См. также

Примечания

Литература

  • Kuhn M., Johnson K. Feature engineering and selection: A practical approach for predictive models. — Chapman and Hall/CRC, 2019.
  • Bishop C. M., Nasrabadi N. M. Pattern recognition and machine learning. — New York: springer, 2006. — Т. 4. — № 4.
  • Hastie T. et al. The elements of statistical learning. — 2009.
Личные инструменты