Генерация признаков
Нелинейное расширение линейных методов
Линейные модели регрессии и классификации просты и работают быстро, но способны моделировать только линейные виды зависимостей. Можно ли их приспособить для моделирования нелинейных зависимостей в данных?
Этого можно легко достичь, добавляя в вектор признаков нелинейные преобразования исходных признаков, и оценивая ту же линейную модель над расширенным набором признаков.
Пример для линейной регрессии
Рассмотрим регрессионную задачу прогнозирования , где . Если эта задача решается линейной регрессией, то мы можем моделировать только линейные зависимости вида
чего, конечно, недостаточно для моделирования нелинейных зависимостей. Зато для их успешной аппроксимации мы можем решать задачу линейной регрессии над расширенным набором признаков, полученных, например, с помощью степеней исходного признака:
Тогда линейная регрессия будет аппроксимировать уже нелинейные зависимости с помощью полиномов степени :
Пример для линейной классификации
Пусть мы решаем задачу бинарной классификации, но теперь уже в -мерном пространстве признаков:
Допустим, граница между классами нелинейна: объекты, по норме не превосходящие , принадлежат положительному классу, а остальные - отрицательному классу. Сферическую границу мы никак не сможем выделить линейным классификатором над исходным вектором признаков, поскольку граница линейного классификатора представляет собой линейную гиперплоскость.
Однако мы легко сможем разделить классы в преобразованном пространстве признаков
поскольку в новом пространстве данные уже будут линейно разделяться простым классификатором
Новое пространство признаков , в которое мы перешли для лучшей аппроксимации наших данных, будем называть спрямляющим пространством.
Таким образом, переходя в более сложное спрямляющее пространство, мы получаем возможность моделировать нелинейные зависимости даже простыми линейными моделями.
Процесс построения новых признаков по исходным называются генерацией признаков (feature engineering). Он позволяет существенно повысить качество решения задач машинного обучения, причём улучшения можно достигнуть и для исходно нелинейных методов прогнозирования, таких как случайный лес и градиентный бустинг.
Перечисл им основные принципы подбора признаков:
-
Смысловая релевантность.
Желательно (но не обязательно), чтобы признаки обладали интерпретируемостью и имели логическую связь с задачей.
Пример: рассмотрим задачу прогнозирования стоимости квартир по их характеристикам.
-
Если поделить жилую площадь на число комнат, то получим новый признак "средняя площадь комнаты".
-
Если взять отношение жилой площади к общей площади, то получим характеристику эффективности планировки, показывающей, не раздута ли общая площадь излишними коридорами и большим санузлом.
-
-
Различимость классов / объясняемость.
Хороший признак должен быть связан с целевой переменной, обладая высокой корреляцией или мерой взаимной информации с целевой переменной.
-
Минимизация избыточности.
Сильно скоррелированные признаки будут добавлять мало новой информации. Существуют специальные методы отбора признаков (feature selection). Для снижения числа признаков также используются методы снижения раз мерности, такие как метод главных компонент, а для уменьшения влияния каждого отдельного признака из группы скоррелированных используется регуляризация.
-
Устойчивость к шуму.
Признаки не должны быть чрезмерно чувствительны к случайным колебаниям данных. Это сделает прогнозы модели, опирающейся на подобные признаки, нестабильными.
Например, когда мы возводим исходный признак в высокую степень, то устойчивостью такой признак не обладает, существенно меняясь даже при небольших изменениях исходного признака.
-
Масштабируемость и простота.
Признаки, которые вычислительно сложно посчитать, плохо масштабируются на большие наборы данных. Предпочтение нужно отдавать признакам, которые можно быстро вычислить.
Детальнее о преобразованиях признаков можно прочитать в [1] и [2].