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