Перейти к основному содержимому

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

Исходных признаков может оказаться недостаточно для построения точной модели. Например, линейные методы моделируют только линейные зависимости отклика от признаков, а реальная зависимость может быть нелинейной, поэтому модель будет работать неточно. Для повышения точности моделей генерируют новые признаки из существующих (feature engineering). Признаки желательно генерировать так, чтобы они как можно точнее соответствовали фрагментам реальной зависимости в данных, из которых модель уже соберёт итоговое решение. Например, в задаче автоматической оценки стоимости земельного участка нам может быть известна его длина и ширина. Логично сгенерировать новый признак, равный их произведению, и соответствующий площади участка.

Подходы для генерации новых признаков

  • Можно генерировать признаки, соответствующие интерпретируемым характеристикам, влияющим на отклик. Например, площадь участка, как произведение его длины на ширину участка. При оценке квартир это может быть отношение жилой площади к числу комнат, чтобы понять средний размер каждой комнаты и т.д. Можно использовать признаки, исходящие из общей логики, например, предварительно кластеризовать все объекты и в качестве дополнительного признака подставлять номер класса, в который попал объект.

    I{age18},I{18<age<=65},I{age>65}.\mathbb{I}\{age \le 18\}, \mathbb{I}\{18<age<=65\}, \mathbb{I}\{age>65\}.

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

  • В качестве признаков модели могут выступать даже прогнозы других моделей. Тогда итоговая модель будет учиться агрегировать прогнозы этих моделей наилучшим образом и будет называться ансамблем или композицией моделей (model ensemble). Чтобы избежать переобучения за счёт повторного переиспользования информации об откликах, базовые модели и агрегирующая должны обучаться на разных выборках.

Больше не всегда означает лучше

Увеличение числа признаков повышает вероятность настроиться на ложную зависимость (false dependency) между одним из признаков из откликом, которая будет соответствовать не реальной зависимости, а случайному совпадению в данных. Например, если зафиксировать вектор откликов и по нему сгенерировать очень много случайных признаков из равномерного распределения, то некоторые из них, в силу случайности, окажутся сильно скоррелироваными с откликом. Но это будет ложная зависимость, поскольку, в силу случайности, нельзя будет рассчитывать на подобную скоррелированность на новых тестовых данных.