Генерация признаков
Материал из MachineLearning.
| (2 промежуточные версии не показаны) | |||
| Строка 1: | Строка 1: | ||
| - | {{well|Статья написана с использованием LLM ''' | + | {{well|Статья написана с использованием LLM '''GLM-5-Turbo''' и проверена участником [[Участник:Arina Pakalova|Arina Pakalova]] 10:25, 25 июня 2026 (MSD)}} |
'''Генерация признаков''' (англ. ''feature generation'', ''feature construction'') — это процесс создания новых переменных на основе исходного [[Признаковое описание|признакового описания]] объектов с целью повышения информативности данных для последующего применения алгоритмов [[Машинное обучение|машинного обучения]]. | '''Генерация признаков''' (англ. ''feature generation'', ''feature construction'') — это процесс создания новых переменных на основе исходного [[Признаковое описание|признакового описания]] объектов с целью повышения информативности данных для последующего применения алгоритмов [[Машинное обучение|машинного обучения]]. | ||
| - | Генерация признаков является ключевым этапом [[Конструирование признаков|конструирования признаков]] (feature engineering) и принципиально отличается от [[Отбор признаков|отбора признаков]] (feature selection). Если отбор подразумевает выбор оптимального подмножества из уже существующих переменных, то генерация заключается в расширении пространства признаков за счет явного или неявного вычисления новых характеристик<ref name="kuhn">Kuhn | + | Генерация признаков является ключевым этапом [[Конструирование признаков|конструирования признаков]] (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 | + | где <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-ближайших соседей]]). |
=== Признаки взаимодействия (Interaction features) === | === Признаки взаимодействия (Interaction features) === | ||
Создаются путем комбинирования двух или более исходных переменных для фиксации совместного влияния факторов на [[Целевая переменная|целевую переменную]]: | Создаются путем комбинирования двух или более исходных переменных для фиксации совместного влияния факторов на [[Целевая переменная|целевую переменную]]: | ||
| - | * '''Мультипликативное взаимодействие:''' произведение признаков <tex>x_i \cdot x_j</tex>. Классическим примером являются [[Полиномиальные признаки|полиномиальные признаки]], где формируются все возможные произведения исходных переменных до заданной степени. Это позволяет линейным моделям (таким как [[Линейная регрессия|линейная регрессия]] или [[Логистическая регрессия|логистическая регрессия]]) аппроксимировать нелинейные зависимости<ref name="hastie">Hastie | + | * '''Мультипликативное взаимодействие:''' произведение признаков <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 Методы отбора признаков]] | ||
| + | * [[Проектирование систем машинного обучения]] | ||
| + | |||
| + | == Примечания == | ||
| + | {{примечания}} | ||
== Литература == | == Литература == | ||
| - | + | * {{статья | автор = 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].
Содержание |
Формальное определение
Пусть задано исходное признаковое описание объекта . Генерация признаков представляет собой отображение:
,
где
. Новое описание объекта формируется как
. Целью данного преобразования является переход в такое пространство
, в котором обучающая выборка становится линейно разделимой или обладает более выраженной структурой, позволяющей построить модель с меньшей ошибкой обобщения[1].
Основные методы генерации признаков
Методы генерации классифицируются в зависимости от типа исходных данных и применяемых математических преобразований.
Базовые математические преобразования
К данной группе относятся арифметические операции над скалярными признаками:
- Логарифмирование и степенные преобразования: применяются для изменения распределения признака (например, для приближения к нормальному распределению) и снижения влияния выбросов.
- Дискретизация (биннинг): преобразование непрерывной переменной в категориальную путем разбиения области значений на интервалы.
- Нормализация и стандартизация: хотя технически это преобразования масштаба, они создают новые представления признаков, необходимые для корректной работы метрических алгоритмов (например, метода k-ближайших соседей).
Признаки взаимодействия (Interaction features)
Создаются путем комбинирования двух или более исходных переменных для фиксации совместного влияния факторов на целевую переменную:
- Мультипликативное взаимодействие: произведение признаков
. Классическим примером являются полиномиальные признаки, где формируются все возможные произведения исходных переменных до заданной степени. Это позволяет линейным моделям (таким как линейная регрессия или логистическая регрессия) аппроксимировать нелинейные зависимости[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.

