Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Разработка функций - это процесс использования знаний предметной области для извлечения функций из необработанных данных . Эти функции можно использовать для повышения производительности алгоритмов машинного обучения . Функциональную инженерию можно рассматривать как собственно прикладное машинное обучение. [1]

Особенности [ править ]

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

Назначение функции, помимо атрибута, было бы намного легче понять в контексте проблемы. Функция - это характеристика, которая может помочь при решении проблемы. [2]

Важность [ править ]

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

Утверждается, что разработка функций играет важную роль в соревнованиях Kaggle [4] и в успехах или неудачах проектов машинного обучения. [5]

Процесс [ править ]

Процесс разработки функций: [6]

  • Возможности мозгового штурма или тестирования ; [7]
  • Решение, какие функции создать;
  • Создание функций;
  • Проверка того, как функции работают с вашей моделью;
  • Улучшение ваших функций при необходимости;
  • Вернитесь к мозговому штурму / созданию дополнительных функций, пока работа не будет сделана.

Актуальность [ править ]

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

Расширение возможностей [ править ]

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

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

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

Автоматизация [ править ]

Автоматизация проектирования функций - это тема исследования, которая началась по крайней мере с конца 1990-х годов [11], а программное обеспечение для машинного обучения, которое включает автоматизированную разработку функций, было коммерчески доступно с 2016 года. [12] Академическая литература по этой теме может быть примерно разделена на две строки: во-первых, изучение многореляционного дерева решений (MRDTL), в котором используется контролируемый алгоритм, похожий на дерево решений . Во-вторых, более современные подходы, такие как Deep Feature Synthesis, в которых используются более простые методы. [ необходима цитата ]

Обучение многореляционному дереву решений (MRDTL) генерирует функции в форме запросов SQL путем последовательного добавления новых предложений к запросам. [13] Например, алгоритм может начинаться с

ВЫБЕРИТЕ  СЧЕТЧИК ( * )  ОТ  АТОМА  t1  ЛЕВОГО  СОЕДИНЕНИЯ  МОЛЕКУЛЫ  t2  НА  t1 . mol_id  =  t2 . mol_id  ГРУППА  ПО  t1 . mol_id

Затем запрос можно последовательно уточнять, добавляя условия, такие как «WHERE t1.charge <= -0.392». [14]

Однако в большинстве академических исследований MRDTL используются реализации, основанные на существующих реляционных базах данных, что приводит к множеству избыточных операций. Эту избыточность можно уменьшить с помощью таких приемов, как распространение идентификатора кортежа. [15] [16] Совсем недавно было продемонстрировано, что эффективность может быть увеличена за счет использования инкрементных обновлений, которые полностью исключают избыточность. [17]

В 2015 году исследователи из Массачусетского технологического института представили алгоритм Deep Feature Synthesis и продемонстрировали его эффективность в онлайн-соревнованиях по науке о данных, где он победил 615 из 906 человеческих команд. [18] [19] Deep Feature Synthesis доступен в виде библиотеки с открытым исходным кодом под названием Featuretools. [20] За этой работой последовали другие исследователи, в том числе OneBM от IBM [21] и ExploreKit от Berkeley. [22] Исследователи из IBM заявили, что автоматизация проектирования функций «помогает специалистам по обработке данных сократить время исследования данных, позволяя им опробовать многие идеи за короткое время. С другой стороны, это дает возможность неспециалистам, которые не знакомы с наукой о данных. , чтобы быстро извлечь пользу из своих данных с небольшими усилиями, временем и затратами ".[ необходима цитата ]

Магазины функций [ править ]

Учитывая важность разработки функций в машинном обучении, новый подход к управлению и отслеживанию функций заключается в использовании хранилища функций . Основные компоненты хранилища функций включают возможность хранить код, используемый для создания функций, применять код к необработанным данным и предоставлять эти функции моделям по запросу. Более продвинутые хранилища функций включают в себя управление версиями функций, управление возможностью использования функций и многое другое. [23] Хранилища функций могут быть автономными программными инструментами или встроенными в более широкие платформы машинного обучения. Например, Feast [24] - это хранилище функций с открытым исходным кодом, предназначенное для управления функциями и их обслуживания, в то время как платформы, подобные Uber Michelangelo, используют хранилища функций в качестве основного компонента своей более широкой архитектуры.[25]

См. Также [ править ]

  • Ковариантный
  • Преобразование данных
  • Извлечение признаков
  • Особенности обучения
  • Уловка хеширования
  • Метод ядра
  • Список наборов данных для исследования машинного обучения
  • Картографирование космоса

Ссылки [ править ]

  1. ^ «Машинное обучение и ИИ с помощью моделирования мозга» . Стэнфордский университет . Проверено 1 августа 2019 .
  2. ^ «Откройте для себя разработку функций, как разрабатывать функции и как добиться в этом совершенства - мастерство машинного обучения» . Мастерство машинного обучения . Проверено 11 ноября 2015 .
  3. ^ «Разработка функций: как преобразовывать переменные и создавать новые?» . Аналитика Видхья . 2015-03-12 . Проверено 12 ноября 2015 .
  4. ^ «Q&A с Ксавье Конорт» . kaggle.com . 2013-04-10 . Проверено 12 ноября 2015 года .
  5. ^ Домингос, Педро (2012-10-01). «Несколько полезных сведений о машинном обучении» (PDF) . Коммуникации ACM . 55 (10): 78–87. DOI : 10.1145 / 2347736.2347755 . S2CID 2559675 .  
  6. ^ «Большие данные: неделя 3, видео 3 - Разработка функций» . youtube.com .
  7. Джалал, Ахмед Адиб (1 января 2018 г.). «Большие данные и интеллектуальные программные системы» . Международный журнал интеллектуальных инженерных систем, основанных на знаниях . 22 (3): 177–193. doi : 10.3233 / KES-180383 - через content.iospress.com.
  8. ^ "Feature Engineering" (PDF) . 2010-04-22 . Проверено 12 ноября 2015 года .
  9. ^ «Разработка и выбор функций» (PDF) . Александр Бушар-Коте. 1 октября 2009 . Проверено 12 ноября 2015 года .
  10. ^ «Разработка функций в машинном обучении» (PDF) . Зденек Забокртский. Архивировано из оригинального (PDF) 4 марта 2016 года . Проверено 12 ноября 2015 года .
  11. ^ Knobbe, Арно Дж .; Сибес, Арно; Ван дер Валлен, Даниэль (1999). «Индукция многореляционного дерева решений» (PDF) . Принципы интеллектуального анализа данных и обнаружения знаний . Конспект лекций по информатике. 1704 . С. 378–383. DOI : 10.1007 / 978-3-540-48247-5_46 . ISBN  978-3-540-66490-1.
  12. ^ «Все дело в особенностях» . Блог Reality AI . Сентябрь 2017 г.
  13. ^ «Сравнительное исследование алгоритма обучения множественного реляционного дерева решений». CiteSeerX 10.1.1.636.2932 .  Цитировать журнал требует |journal=( помощь )
  14. ^ Лейва, Гектор; Атраментов, Анна; Хонавар, Васант (2002). «Эксперименты с MRDTL - алгоритм обучения многореляционному дереву решений» (PDF) . Цитировать журнал требует |journal=( помощь )
  15. ^ Инь, Сяосинь; Хан, Цзявэй; Ян, Цзюн; Ю, Филип С. (2004). «CrossMine: эффективная классификация по множеству отношений базы данных». Ход работы. 20-я Международная конференция по инженерии данных . Материалы 20-й Международной конференции по инженерии данных . С. 399–410. DOI : 10.1109 / ICDE.2004.1320014 . ISBN 0-7695-2065-0. S2CID  1183403 .
  16. ^ Франк, Ричард; Мозер, Флавия; Эстер, Мартин (2007). «Метод множественной реляционной классификации с использованием одно- и многофункциональных функций агрегирования». Обнаружение знаний в базах данных: PKDD 2007 . Конспект лекций по информатике. 4702 . С. 430–437. DOI : 10.1007 / 978-3-540-74976-9_43 . ISBN 978-3-540-74975-2.
  17. ^ «Как работает автоматизированная разработка функций - наиболее эффективное решение для разработки функций для реляционных данных и временных рядов» . Проверено 21 ноября 2019 .[ рекламный источник? ]
  18. ^ «Автоматизация анализа больших данных» .
  19. ^ Кантер, Джеймс Макс; Veeramachaneni, Калян (2015). «Глубокий синтез функций: на пути к автоматизации усилий в области науки о данных». 2015 IEEE Международная конференция по науке данных и Advanced Analytics (DSAA) . Международная конференция IEEE по науке о данных и расширенной аналитике . С. 1–10. DOI : 10,1109 / DSAA.2015.7344858 . ISBN 978-1-4673-8272-4. S2CID  206610380 .
  20. ^ «Featuretools | Фреймворк с открытым исходным кодом для быстрого старта автоматизированной разработки функций» . www.featuretools.com . Проверено 22 августа 2019 .
  21. ^ Хоанг Тхань Лам; Тибо, Иоганн-Михаэль; Шинн, Матье; Чен, Бэй; Май, Тиеп; Алкан, Ознур (2017). «Машина с одной кнопкой для автоматизации проектирования функций в реляционных базах данных». arXiv : 1706.00327 . Bibcode : 2017arXiv170600327T . Цитировать журнал требует |journal=( помощь )
  22. ^ «ExploreKit: автоматическое создание и выбор функций» (PDF) .
  23. ^ «Введение в магазины функций» . Проверено 15 апреля 2021 .
  24. ^ «Праздник: магазин функций для машинного обучения» . Проверено 15 апреля 2021 .
  25. ^ «Знакомьтесь, Микеланджело: платформа машинного обучения Uber» . Проверено 15 апреля 2021 .

Дальнейшее чтение [ править ]

  • Бемке, Брэдли; Гринвелл, Брэндон (2019). "Feature & Target Engineering". Hands-On Machine Learning с R . Чепмен и Холл. С. 41–75. ISBN 978-1-138-49568-5.
  • Чжэн, Алиса; Касари, Аманда (2018). Разработка функций для машинного обучения: принципы и методы для специалистов по данным . О'Рейли. ISBN 978-1-4919-5324-2.
  • Зумель, Нина; Гора, Джон (2020). «Инженерия данных и формирование данных». Практическая наука о данных с R (2-е изд.). Укомплектование персоналом. С. 113–160. ISBN 978-1-61729-587-4.