Генерация признаков
Исходных признаков может оказаться недостаточно для построения точной модели. Например, линейные методы моделируют только линейные зависимости отклика от признаков, а реальная зависимость может быть нели нейной, поэтому модель будет работать неточно. Для повышения точности моделей генерируют новые признаки из существующих (feature engineering). Признаки желательно генерировать так, чтобы они как можно точнее соответствовали фрагментам реальной зависимости в данных, из которых модель уже соберёт итоговое решение. Например, в задаче автоматической оценки стоимости земельного участка нам может быть известна его длина и ширина. Логично сгенерировать новый признак, равный их произведению и соответствующий площади участка.
Подходы для генерации новых признаков
-
Можно генерировать признаки, соответствующие интерпретируемым характеристикам, влияющим на отклик. Зная, например, длину и ширину участка, можно взять их произведение, что будет соответствовать его площади. При оценке квартир это может быть отношение жило й площади к числу комнат, чтобы определить средний размер каждой комнаты и т.д. Можно использовать признаки, исходящие из общей логики, например, предварительно кластеризовать все объекты и в качестве дополнительного признака подставлять номер класса, в который попал объект. При работе с людьми по их возрасту можно сгенерировать три бинарных признака
Это позволит линейной модели по-разному обрабатывать несовершеннолетних, работающих людей и пенсионеров. Чаще границы отрезков дискретизации не подбирают вручную, а разбивают на равномерные отрезки. Такие алгоритмы, как решающие деревья, способны самостоятельно извлекать подобные признаки, но им сложно аппроксимировать линейные комбинации над признаками, поэтому им на вход можно подавать эти комбинации в явном виде как разности и суммы исходных признаков. Метрические алгоритмы предсказывают отклик только на основе попарных расстояний между объектами. Поэтому им может подойти расширение числа признаков как их разумной дискретизацией, так и линейными комбинациями над признаками. В свою очередь, линейным моделям и решающим деревьям можно дополнительно подавать на вход расстояния от каждого объекта до некоторого набора характерных объектов выборки (эталонов). Например, это может быть расстояние до центров кластеров при предварительной кластеризации объектов.
-
В качестве признаков модели могут выступать даже прогнозы других моделей. Тогда итоговая модель будет учиться агрегировать прогнозы этих моделей наилучшим образом и будет называться ансамблем или композицией моделей (model ensemble). Чтобы избежать переобучения за счёт повторного переиспользования информации об откликах, базовые и агрегирующая разных модель должны обучаться на разных выборках, что реализуется в блендинге и стэкинге.
Увеличение числа признаков повышает вероятность настроиться на ложную зависимость (false dependency) между одним из признаков и откликом, которая будет соответствовать не реальной зависимости, а случайному совпадению в данных. Например, если зафиксировать вектор откликов и по нему сгенерировать очень много случайных признаков из равномерного распределения, то некоторые из них, в силу случайности, окажутся сильно скоррелироваными с целевой величиной! Но это будет ложная зависимость, поскольку, в силу случайности, нельзя будет рассчитывать на подобную скоррелированность на новых тестовых данных.
Обзор частых приёмов генерации новых признаков с кодом реализации можно прочитать в [1].