Разработка функций
Часть серии о |
Машинное обучение и интеллектуальный анализ данных |
---|
Эту статью необходимо обновить . ( февраль 2024 г. ) |
Разработка функций — это этап предварительной обработки в контролируемом машинном обучении и статистическом моделировании. [ 1 ] который преобразует необработанные данные в более эффективный набор входных данных. Каждый вход содержит несколько атрибутов, известных как функции. Предоставляя моделям соответствующую информацию, разработка функций значительно повышает точность их прогнозирования и возможности принятия решений. [ 2 ] [ 3 ] [ 4 ]
Помимо машинного обучения, принципы проектирования признаков применяются в различных научных областях, включая физику. Например, физики конструируют безразмерные числа, такие как число Рейнольдса в гидродинамике , число Нуссельта в теплопередаче и число Архимеда в седиментации . Они также разрабатывают первые приближения решений, например аналитические решения по сопротивлению материалов в механике. [ 5 ]
Кластеризация
[ редактировать ]Одним из применений Feature Engineering была кластеризация объектов-объектов или образцов-объектов в наборе данных. В частности, разработка признаков, основанная на матричном/тензорном разложении, широко использовалась для кластеризации данных при ограничениях неотрицательности коэффициентов признаков. К ним относятся факторизация неотрицательной матрицы (NMF), [ 6 ] Неотрицательная матричная тройная факторизация (NMTF), [ 7 ] Неотрицательное тензорное разложение/факторизация (NTF/NTD) [ 8 ] и т. д. Ограничения неотрицательности коэффициентов векторов признаков, полученные с помощью вышеуказанных алгоритмов, дают представление на основе частей, а различные матрицы факторов демонстрируют естественные свойства кластеризации. В литературе сообщалось о нескольких расширениях вышеупомянутых методов проектирования признаков, включая факторизацию с ограничением ортогональности для жесткой кластеризации и многообразное обучение для преодоления присущих этим алгоритмам проблем.
Другой класс алгоритмов проектирования признаков включает использование общей скрытой структуры в нескольких взаимосвязанных наборах данных для получения консенсусной (общей) схемы кластеризации. Примеры включают многоракурсную классификацию на основе разложения матрицы консенсуса (MCMD). [ 9 ] алгоритм, который определяет общую схему кластеризации для нескольких наборов данных. Алгоритм предназначен для вывода двух типов меток классов (масштабно-вариантная и масштабно-инвариантная кластеризация), обладает вычислительной устойчивостью к отсутствующей информации, может получать выбросы на основе формы и масштаба и может эффективно обрабатывать многомерные данные. Связанные матричные и тензорные разложения широко используются при разработке многовидовых функций. [ 10 ]
Прогнозное моделирование
[ редактировать ]Разработка функций в машинном обучении и статистическом моделировании включает в себя выбор, создание, преобразование и извлечение функций данных. Ключевые компоненты включают создание признаков на основе существующих данных, преобразование и вменение отсутствующих или недействительных признаков, уменьшение размерности данных с помощью таких методов, как анализ главных компонентов (PCA), анализ независимых компонентов (ICA) и линейный дискриминантный анализ (LDA), а также выбор наиболее подходящих функции для обучения модели на основе показателей важности и корреляционных матриц . [ 11 ]
Характеристики различаются по значимости. [ 12 ] Даже относительно незначительные особенности могут внести свой вклад в модель. Выбор функций может уменьшить количество функций, чтобы модель не стала слишком специфичной для набора обучающих данных (переобучение). [ 13 ]
Расширение функций происходит, когда количество идентифицированных функций слишком велико для эффективной оценки или оптимизации модели. Общие причины включают в себя:
- Шаблоны функций: внедрение шаблонов функций вместо написания новых функций.
- Комбинации признаков – комбинации, которые не могут быть представлены линейной системой.
Расширение возможностей можно ограничить с помощью таких методов, как регуляризация , методы ядра и выбор функций . [ 14 ]
Автоматизация
[ редактировать ]Автоматизация проектирования функций — это тема исследования, которая берет свое начало еще в 1990-х годах. [ 15 ] Программное обеспечение для машинного обучения, включающее автоматизированное проектирование функций, коммерчески доступно с 2016 года. [ 16 ] Соответствующую академическую литературу можно условно разделить на два типа:
- Многореляционное обучение дереву решений (MRDTL) использует контролируемый алгоритм, аналогичный дереву решений .
- Глубокий синтез функций использует более простые методы. [ нужна ссылка ]
Многореляционное обучение дереву решений (MRDTL)
[ редактировать ]Многореляционное обучение дереву решений (MRDTL) расширяет традиционные методы дерева решений на реляционные базы данных , обрабатывая сложные взаимосвязи данных между таблицами. Он новаторски использует графы выбора в качестве узлов принятия решений , которые систематически уточняются до тех пор, пока не будет достигнут конкретный критерий завершения. [ 15 ]
Большинство исследований MRDTL основывают реализации на реляционных базах данных, что приводит к множеству избыточных операций. Эту избыточность можно уменьшить, используя такие методы, как распространение идентификаторов кортежей. [ 17 ] [ 18 ]
Реализации с открытым исходным кодом
[ редактировать ]Существует ряд библиотек и инструментов с открытым исходным кодом, которые автоматизируют разработку функций реляционных данных и временных рядов:
- Featuretools — это библиотека Python для преобразования временных рядов и реляционных данных в матрицы функций для машинного обучения. [ 19 ] [ 20 ] [ 21 ]
- MCMD: алгоритм проектирования функций с открытым исходным кодом для совместной кластеризации нескольких наборов данных. [ 22 ] [ 23 ]
- OneBM или One-Button Machine сочетает в себе преобразование признаков и выбор признаков реляционных данных с методами выбора признаков. [ 24 ]
[OneBM] помогает ученым, работающим с данными, сократить время исследования данных, позволяя им опробовать и ошибиться во многих идеях за короткое время. С другой стороны, это позволяет неспециалистам, не знакомым с наукой о данных, быстро извлекать пользу из своих данных с небольшими усилиями, временем и затратами. [ 25 ]
- Сообщество getML — это инструмент с открытым исходным кодом для автоматического проектирования функций временных рядов и реляционных данных. [ 26 ] [ 27 ] Он реализован на C / C++ с интерфейсом Python. [ 28 ] Было доказано, что он работает как минимум в 60 раз быстрее, чем tsflex, tsfresh, tsfel, Featuretools или Kats. [ 29 ]
- tsfresh — это библиотека Python для извлечения признаков из данных временных рядов. [ 30 ] Он оценивает качество функций с помощью проверки гипотез. [ 31 ]
- tsflex — это библиотека Python с открытым исходным кодом для извлечения функций из данных временных рядов. [ 32 ] Несмотря на то, что он на 100% написан на Python, он оказался быстрее и эффективнее использует память, чем tsfresh, seglearn или tsfel. [ 33 ]
- seglearn — это расширение для многомерных последовательных данных временных рядов библиотеки Python scikit-learn . [ 34 ]
- tsfel — это пакет Python для извлечения признаков из данных временных рядов. [ 35 ]
- kats — это набор инструментов Python для анализа данных временных рядов. [ 36 ]
Глубокий синтез функций
[ редактировать ]Алгоритм глубокого синтеза признаков (DFS) победил в соревновании 615 из 906 человеческих команд. [ 37 ] [ 38 ]
Магазины функций
[ редактировать ]Хранилище функций — это место, где функции хранятся и организованы с явной целью использования либо для обучения моделей (специалистами по данным), либо для прогнозирования (приложениями, имеющими обученную модель). Это центральное место, где вы можете создавать или обновлять группы объектов, созданных из нескольких различных источников данных, или создавать и обновлять новые наборы данных из этих групп объектов для обучения моделей или для использования в приложениях, которые не хотят вычислять объекты, а просто извлекать их, когда они нужны для прогнозирования. [ 39 ]
Хранилище функций включает в себя возможность хранить код, используемый для создания функций, применять код к необработанным данным и предоставлять эти функции моделям по запросу. Полезные возможности включают управление версиями функций и политики, определяющие обстоятельства, при которых функции могут использоваться. [ 40 ]
Хранилища функций могут быть автономными программными инструментами или встроенными в платформы машинного обучения.
Альтернативы
[ редактировать ]Разработка функций может быть трудоемким и подверженным ошибкам процессом, поскольку требует экспертных знаний в предметной области и часто включает в себя метод проб и ошибок. [ 41 ] [ 42 ] Алгоритмы глубокого обучения могут использоваться для обработки большого набора необработанных данных без необходимости прибегать к разработке функций. [ 43 ] Однако алгоритмы глубокого обучения по-прежнему требуют тщательной предварительной обработки и очистки входных данных. [ 44 ] Кроме того, выбор правильной архитектуры, гиперпараметров и алгоритма оптимизации для глубокой нейронной сети может оказаться сложным и итеративным процессом. [ 45 ]
См. также
[ редактировать ]- Ковариата
- Преобразование данных
- Извлечение признаков
- Особенности обучения
- Хеш-трюк
- Метод ядра
- Список наборов данных для исследований в области машинного обучения
- Картографирование пространства
- Оценка инструментальных переменных
Ссылки
[ редактировать ]- ^ Хасти, Тревор; Тибширани, Роберт; Фридман, Джером Х. (2009). Элементы статистического обучения: интеллектуальный анализ данных, логический вывод и прогнозирование . Спрингер. ISBN 978-0-387-84884-6 .
- ^ Шарма, Шубхам; Наяк, Ричи; Бхаскар, Ашиш (1 мая 2024 г.). «Разработка нескольких представлений для повседневной совместной кластеризации нескольких наборов данных о трафике» . Транспортные исследования, часть C: Новые технологии . 162 : 104607. Бибкод : 2024TRPC..16204607S . дои : 10.1016/j.trc.2024.104607 . ISSN 0968-090X .
- ^ Шалев-Шварц, Шай; Бен-Давид, Шай (2014). Понимание машинного обучения: от теории к алгоритмам . Кембридж: Издательство Кембриджского университета. ISBN 9781107057135 .
- ^ Мерфи, Кевин П. (2022). Вероятностное машинное обучение . Кембридж, Массачусетс: The MIT Press (авторские права принадлежат Массачусетскому технологическому институту, 2022 г., на эту работу распространяется лицензия Creative Commons CC-BY-NC-ND). ISBN 9780262046824 .
- ^ МакКерон С (2021). СМЕШИВАНИЕ ТВЕРДОЙ ЖИДКОСТИ В РЕЗЕРВУАРАХ С ПЕРЕМЕШИВАНИЕМ: моделирование, проверка, оптимизация конструкции и прогнозирование качества суспензии (отчет). дои : 10.13140/RG.2.2.11074.84164/1 .
- ^ Ли, Дэниел Д.; Сын, Х. Себастьян (1999). «Изучение частей объектов методом неотрицательной матричной факторизации» . Природа . 401 (6755): 788–791. Бибкод : 1999Natur.401..788L . дои : 10.1038/44565 . ISSN 1476-4687 . ПМИД 10548103 .
- ^ Ван, Хуа; Не, Фейпин; Хуан, Хэн; Дин, Крис (2011). «Совместная кластеризация высокого порядка на основе неотрицательной матрицы, основанная на трифакторизации, и ее быстрая реализация» . 2011 IEEE 11-я Международная конференция по интеллектуальному анализу данных . IEEE. стр. 774–783. дои : 10.1109/icdm.2011.109 . ISBN 978-1-4577-2075-8 .
- ^ Лим, Лек-Хенг; Комон, Пьер (12 апреля 2009 г.). «Неотрицательные приближения неотрицательных тензоров». arXiv : 0903.4530 [ cs.NA ].
- ^ Шарма, Шубхам; Наяк, Ричи; Бхаскар, Ашиш (1 мая 2024 г.). «Разработка нескольких представлений для повседневной совместной кластеризации нескольких наборов данных о трафике» . Транспортные исследования, часть C: Новые технологии . 162 : 104607. Бибкод : 2024TRPC..16204607S . дои : 10.1016/j.trc.2024.104607 . ISSN 0968-090X .
- ^ Наяк, Ричи; Луонг, Кхань (2023). «Многоаспектное обучение» . Справочная библиотека по интеллектуальным системам . 242 . дои : 10.1007/978-3-031-33560-0 . ISBN 978-3-031-33559-4 . ISSN 1868-4394 .
- ^ «Разработка функций — линза машинного обучения» . docs.aws.amazon.com . Проверено 1 марта 2024 г.
- ^ «Разработка функций» (PDF) . 22 апреля 2010 г. Проверено 12 ноября 2015 г.
- ^ «Разработка и выбор функций» (PDF) . Александр Бушар-Коте. 1 октября 2009 года . Проверено 12 ноября 2015 г.
- ^ «Разработка функций в машинном обучении» (PDF) . Зденек Забокрский. Архивировано из оригинала (PDF) 4 марта 2016 года . Проверено 12 ноября 2015 г.
- ^ Перейти обратно: а б Ноббе А.Дж., Зибес А., Ван дер Валлен Д. (1999). «Индукция многореляционного дерева решений» (PDF) . Принципы интеллектуального анализа данных и обнаружения знаний . Конспекты лекций по информатике. Том. 1704. стр. 378–383. дои : 10.1007/978-3-540-48247-5_46 . ISBN 978-3-540-66490-1 .
- ^ «Все дело в особенностях» . Блог ИИ реальности . Сентябрь 2017.
- ^ Инь Икс, Хань Дж, Ян Дж, Ю П.С. (2004). «CrossMine: эффективная классификация по нескольким отношениям баз данных». Слушания. 20-я Международная конференция по инженерии данных . стр. 399–410. дои : 10.1109/ICDE.2004.1320014 . ISBN 0-7695-2065-0 . S2CID 1183403 .
- ^ Фрэнк Р., Мозер Ф., Эстер М. (2007). «Метод мультиреляционной классификации с использованием одно- и множественных функций агрегирования». Обнаружение знаний в базах данных: PKDD 2007 . Конспекты лекций по информатике. Том. 4702. стр. 430–437. дои : 10.1007/978-3-540-74976-9_43 . ISBN 978-3-540-74975-2 .
- ^ «Что такое Featuretools?» . Проверено 7 сентября 2022 г.
- ^ «Featuretools — среда Python с открытым исходным кодом для автоматизированного проектирования функций» . Проверено 7 сентября 2022 г.
- ^ «github: alteryx/featuretools» . Гитхаб . Проверено 7 сентября 2022 г.
- ^ Шарма, Шубхам, mcmd: Структура многоракурсной классификации, основанная на разложении матрицы консенсуса, разработанная Шубхамом Шармой в QUT , получено 14 апреля 2024 г.
- ^ Шарма, Шубхам; Наяк, Ричи; Бхаскар, Ашиш (1 мая 2024 г.). «Разработка нескольких представлений для повседневной совместной кластеризации нескольких наборов данных о трафике» . Транспортные исследования, часть C: Новые технологии . 162 : 104607. Бибкод : 2024TRPC..16204607S . дои : 10.1016/j.trc.2024.104607 . ISSN 0968-090X .
- ^ Тхань Лам, Хоанг; Тибо, Иоганн-Майкл; Синн, Матье; Чен, Бэй; Май, Тип; Алкан, Ознур (01.06.2017). «Машина с одной кнопкой для автоматизации разработки функций в реляционных базах данных». arXiv : 1706.00327 [ cs.DB ].
- ^ Тхань Лам, Хоанг; Тибо, Иоганн-Майкл; Синн, Матье; Чен, Бэй; Май, Тип; Алкан, Ознур (01.06.2017). «Машина с одной кнопкой для автоматизации разработки функций в реляционных базах данных». arXiv : 1706.00327 [ cs.DB ].
- ^ «документация getML» . Проверено 7 сентября 2022 г.
- ^ «github: getml/getml-community» . Гитхаб . Проверено 7 сентября 2022 г.
- ^ «github: getml/getml-community» . Гитхаб . Проверено 7 сентября 2022 г.
- ^ «github: getml/getml-community» . Гитхаб . Проверено 7 сентября 2022 г.
- ^ "цсвежая документация" . Проверено 7 сентября 2022 г.
- ^ «Извлечение функций временных рядов на основе тестов масштабируемых гипотез (tsfresh – пакет Python)» . Проверено 7 сентября 2022 г.
- ^ "predict-idlab/tsflex" . Гитхаб . Проверено 7 сентября 2022 г.
- ^ Ван дер Донкт, Йонас; Ван дер Донкт, Йерун; Депрост, Эмиэль; Ван Хек, Софи (2022). «tsflex: гибкая обработка временных рядов и извлечение признаков» . Программное обеспечениеX . 17 100971.arXiv : : 2111.12429 . Стартовый код : 2022SoftX..1700971V . дои : 10.1016/j.softx.2021.100971 . S2CID 244527198 . Проверено 7 сентября 2022 г.
- ^ «Руководство пользователя seglearn» . Проверено 7 сентября 2022 г.
- ^ «Добро пожаловать в документацию TSFEL!» . Проверено 7 сентября 2022 г.
- ^ «github: facebookresearch/Kats» . Гитхаб . Проверено 7 сентября 2022 г.
- ^ «Автоматизация анализа больших данных» . 16 октября 2015 г.
- ^ Кантер, Джеймс Макс; Вирамачанени, Калян (2015). «Глубокий синтез функций: на пути к автоматизации исследований данных». Международная конференция IEEE по науке о данных и передовой аналитике (DSAA) , 2015 г. стр. 1–10. дои : 10.1109/DSAA.2015.7344858 . ISBN 978-1-4673-8272-4 . S2CID 206610380 .
- ^ «Что такое хранилище функций» . Проверено 19 апреля 2022 г.
- ^ «Введение в хранилища функций» . Проверено 15 апреля 2021 г.
- ^ «Инжиниринг функций в машинном обучении» . Программа инженерного образования (EngEd) | Раздел . Проверено 21 марта 2023 г.
- ^ explorium_admin (25 октября 2021 г.). «5 причин, почему разработка функций является сложной задачей» . Эксплориум . Проверено 21 марта 2023 г.
- ^ Шпигельхальтер, диджей (2019). Искусство статистики: обучение на данных . [Лондон] Великобритания. ISBN 978-0-241-39863-0 . OCLC 1064776283 .
{{cite book}}
: CS1 maint: отсутствует местоположение издателя ( ссылка ) - ^ Саркер IH (ноябрь 2021 г.). «Глубокое обучение: всеобъемлющий обзор методов, таксономии, приложений и направлений исследований» . С.Н. Информатика . 2 (6): 420. дои : 10.1007/s42979-021-00815-1 . ПМЦ 8372231 . ПМИД 34426802 .
- ^ Бенджио, Йошуа (2012), «Практические рекомендации по градиентному обучению глубоких архитектур» , Нейронные сети: хитрости профессии , Конспекты лекций по информатике, том. 7700, Берлин, Гейдельберг: Springer Berlin Heidelberg, стр. 437–478, arXiv : 1206.5533 , doi : 10.1007/978-3-642-35289-8_26 , ISBN 978-3-642-35288-1 , S2CID 10808461 , получено 21 марта 2023 г.
Дальнейшее чтение
[ редактировать ]- Бемке Б., Гринвелл Б. (2019). «Функциональная и целевая инженерия». Практическое машинное обучение с помощью 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 .