Выбор функций в машинном обучении: мотивация

Nov 24 2022
Эта короткая статья является первой из серии, в которой объясняются методы выбора признаков. Я начал с дружеского вступления и представил веские причины, лежащие в основе процесса выбора функций.

Эта короткая статья является первой из серии, в которой объясняются методы выбора признаков. Я начал с дружеского вступления и представил веские причины, лежащие в основе процесса выбора функций. В следующих статьях я подробно расскажу о каждом методе выбора признаков.

Выбор признаков — это процесс выбора подмножества соответствующих признаков (переменных, предикторов) из общего числа признаков уровня в наборе данных для построения алгоритмов машинного обучения. Учитывая исходный набор данных, который обычно содержит большое количество переменных, что мы можем сделать, чтобы выбрать набор функций, которые важны во время прогнозирования? Существует множество процедур или методов, которые мы можем применять как часть процесса выбора признаков.

Прежде чем углубиться в методы выбора признаков, почему мы выбираем признаки? Вот несколько причин.

  • Простые модели легче интерпретировать. Пользователям модели легче понять вывод модели, использующей 10 переменных, чем вывод модели, использующей 100 переменных.
  • Более короткие сроки обучения. Уменьшение количества переменных, используемых для построения моделей машинного обучения, снижает вычислительные затраты и, следовательно, ускоряет построение модели. Но что более важно, более простые модели также оцениваются быстрее, чем приложения, что особенно важно, если модель находится в реальной среде, где решения должны приниматься за доли секунды.
  • Улучшенное обобщение за счет уменьшения переобучения. Очень часто многие переменные представляют собой шум с небольшой прогностической ценностью. Однако модели машинного обучения учатся на этом шуме, вызывая переоснащение и уменьшая обобщение. Устраняя нерелевантные зашумленные функции, мы можем существенно улучшить обобщение модели машинного обучения.
  • Легче реализовать разработчикам программного обеспечения. При развертывании модели машинного обучения разработчикам программного обеспечения часто приходится писать код для вызова переменных, которые необходимо передать в модель для получения выходных данных. Гораздо быстрее написать код для 10–50 переменных, чем для 400. Кроме того, меньшее количество кода менее подвержено ошибкам и, следовательно, обеспечивает более безопасную среду.
  • Снижение риска ошибок данных при использовании модели. Часто компании полагаются на вызовы сторонних данных, из которых они будут выбирать переменные для прохождения модели машинного обучения. Сокращение количества переменных, используемых в модели машинного обучения, снижает подверженность бизнеса ошибкам при сборе и хранении данных третьих сторон, а также потенциальным ошибкам при сборе данных, которые могут возникнуть в рамках того же бизнеса.
  • Изменяемая избыточность. Довольно часто функции в наборе данных сильно коррелированы. Высоко коррелированные функции обеспечивают суть одной и той же информации. Поэтому они как бы лишние. Мы могли бы оставить один и удалить все остальные без потери информации.
  • Плохое поведение при обучении в многомерных пространствах. Производительность модели машинного обучения в конкретных древовидных алгоритмах повышается за счет уменьшения пространства признаков. Другими словами, это означает, что большие размерности вызывают низкую производительность в древовидных методах, и, следовательно, уменьшение пространства признаков помогает создавать более надежные и прогностические модели.

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