Конструирование признаков

Конструирование признаков — это процесс использования предметной области данных для создания признаков, которые нужны для обучения машин. Конструирование признаков является фундаментом для приложений машинного обучения, a также процессом трудным и затратным. Необходимости ручного конструирования признаков можно избежать при автоматизации прикладного обучения признакам.

Конструирование признаков является неформальной областью, но считается существенным в машинном обучении.

Придумывать признаки трудно, требует много времени и глубоких знаний. «Прикладное машинное обучение», в основном, это конструирование признаков.

Признаки

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

Смысл признака и чем он отличается от качества, легче было бы понять в контексте задачи. Признак является характеристикой, которая может помочь решить задачу[2].

Важность признаков

Признаки в ваших данных важны для используемых прогнозных моделей и влияют на результат, который вы собираетесь получить. Качество и количество признаков оказывают большое влияние на качество модели, будет она хорошей или нет[3].

Можно сказать, что чем лучше признаки, тем лучше будет результат. Это не совсем полная правда, поскольку результат будет зависеть от модели и данных, не просто от выбранных признаков. Но отбор правильных признаков остаётся очень важным делом. Более качественные признаки могут дать более простую и более гибкую модель и часто они дают лучшие результаты[2].

Применяемые алгоритмы очень стандартны для участников сообщества Kaggle. […] Мы тратим большую часть наших усилий на конструирование признаков. [...] Мы также очень осторожно отбрасываем признаки, которые могут привести к риску переобучения нашей модели.

 Xavier Conort[4]

…некоторые проекты обучения машин успешны, а некоторые терпят неудачу. Что приводит к этому? Наиболее важными факторами являются используемые признаки.

 Pedro Domingos[5]

Процесс конструирования признаков

Процесс конструирования признаков — это[6]

  1. Метод мозгового штурма или проверка признаков;
  2. Решение, какие признаки создавать;
  3. Создание признаков;
  4. Проверка, какие признаки работают с вашей моделью;
  5. Улучшение признаков, если требуется;
  6. Возврат к методу мозгового штурма/создание других признаков, пока работа не будет завершена.

Существенность признаков

Признак может быть строго существенен (имеет информацию, которая не существует в других признаках), существенен, слабо существенен (содержит информацию, которая может содержаться в других признаках) или несущественен[7]. Важно создать много признаков, даже если некоторые из них будут несущественны, вы не можете их просто так отбросить. Затем может быть использован отбор признаков для предотвращения переобучения[8].

Взрыв признаков

Взрыв признаков может быть вызван путём комбинации признаков или шаблонов признаков, что ведёт к быстрому росту общего числа признаков.

  • Шаблоны признаков – внедрение шаблонов признаков вместо кодирования новых признаков
  • Комбинации признаков – комбинации, которые не могут быть представлены в виде линейной комбинации

Существует несколько решений для останова взрыва признаков, такие как регуляризация, ядерный метод, отбор признаков[9].

Автоматическое конструирование признаков

Автоматизация конструирования признаков стала новой темой исследований в академических кругах. В 2015 году исследователи Массачусетского технологического института представили алгоритм «Deep Feature Synthesis» (Глубокий Синтез Признаков) и продемонстрировали его эффективность в онлайновом научном конкурсе обработки данных, где алгоритм побил 615 из 906 команд людей[10][11]. Алгоритм «Deep Feature Synthesis» доступен в виде библиотеки с открытым кодом, называемый Featuretools. Эту работу продолжили другие исследователи, включая OneBM компании IBM[12] и ExploreKit компании Berkeley[13]. Исследователи из IBM утверждают, что автоматизация конструирования признаков «помогает учёным сократить время исследования данных, позволяя экспериментировать на них методом проб и ошибок за короткое время. С другой стороны, это даёт возможность, не будучи экспертом, то есть, не будучи знакомым с методами анализа данных, быстро выбрать значение из данных с небольшими усилиями, временными и денежными затратами.»

Появились коммерческие продукты от новых компаний, фокусирующихся на обучении машин, такие как H20.ai[14] и Feature Labs [15].

См. также

Примечания

  1. Machine Learning and AI via Brain simulations. Stanford University. Дата обращения: 3 августа 2017.
  2. Discover Feature Engineering, How to Engineer Features and How to Get Good at It - Machine Learning Mastery. Machine Learning Mastery. Дата обращения: 11 ноября 2015.
  3. Feature Engineering: How to transform variables and create new ones?. Analytics Vidhya (12 марта 2015). Дата обращения: 12 ноября 2015.
  4. Q&A with Xavier Conort. kaggle.com (2015). Дата обращения: 1 ноября 2015.
  5. Domingos, Pedro A Few Useful Things to Know about Machine Learning. Дата обращения: 12 ноября 2015.
  6. Big Data: Week 3 Video 3 — Feature Engineering. youtube.com.
  7. Feature Engineering (22 апреля 2010). Дата обращения: 12 ноября 2015.
  8. Feature engineering and selection. Alexandre Bouchard-Côté. Дата обращения: 12 ноября 2015.
  9. Feature engineering in Machine Learning (недоступная ссылка). Zdenek Zabokrtsky. Дата обращения: 12 ноября 2015. Архивировано 4 марта 2016 года.
  10. Automating big-data analysis.
  11. Deep Feature Synthesis: Towards Automating Data Science Endeavors.
  12. One button machine for automating feature engineering in relational databases.
  13. ExploreKit: Automatic Feature Generation and Selection.
  14. H2O.AI snares $40M Series C investment led by Wells Fargo and Nvidia.
  15. Feature Labs launches out of MIT to accelerate the development of machine learning algorithms.

Литература

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.