stringtranslate.com

Разработка функций

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

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

Прогнозное моделирование

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

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

Расширение функций происходит, когда количество идентифицированных функций слишком велико для эффективной оценки или оптимизации модели. Общие причины включают в себя:

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

Автоматизация

Автоматизация разработки функций — это тема исследования, которая берет свое начало еще в 1990-х годах. [8] Программное обеспечение для машинного обучения, включающее автоматизированное проектирование признаков, коммерчески доступно с 2016 года . [9] Соответствующую научную литературу можно условно разделить на два типа:

Многореляционное обучение дереву решений (MRDTL)

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

ВЫБЕРИТЕ СЧЕТ ( * ) ОТ АТОМА t1 ВЛЕВО ПРИСОЕДИНЯЙТЕСЬ К МОЛЕКУЛЕ t2 НА t1 . мол_ид = t2 . mol_id ГРУППА ПО t1 . мол_ид               

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

Однако большинство исследований MRDTL основывают реализации на реляционных базах данных, что приводит к множеству избыточных операций. Эту избыточность можно уменьшить, используя такие методы, как распространение идентификаторов кортежей. [10] [11] Эффективность можно повысить за счет использования дополнительных обновлений, что исключает избыточность. [12] [ рекламный источник? ]

Реализации с открытым исходным кодом

Существует ряд библиотек и инструментов с открытым исходным кодом, которые автоматизируют разработку функций реляционных данных и временных рядов:

Глубокий синтез функций

Алгоритм глубокого синтеза признаков (DFS) победил в соревновании 615 из 906 человеческих команд. [29] [30]

Магазины функций

Хранилище функций — это место, где функции хранятся и организованы с явной целью использования либо для обучения моделей (специалистами по данным), либо для прогнозирования (приложениями, имеющими обученную модель). Это центральное место, где вы можете создавать или обновлять группы объектов, созданных из нескольких разных источников данных, или создавать и обновлять новые наборы данных из этих групп объектов для обучения моделей или для использования в приложениях, которые не хотят вычислять объекты, а просто извлекать их, когда они нужны для прогнозирования. [31]

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

Хранилища функций могут быть автономными программными инструментами или встроенными в платформы машинного обучения.

Альтернативы

Разработка функций может быть трудоемким и подверженным ошибкам процессом, поскольку требует экспертных знаний в предметной области и часто включает в себя метод проб и ошибок. [33] [34] Алгоритмы глубокого обучения могут использоваться для обработки большого набора необработанных данных без необходимости прибегать к разработке признаков. [35] Однако важно отметить, что алгоритмы глубокого обучения по-прежнему требуют тщательной предварительной обработки и очистки входных данных. [36] Кроме того, выбор правильной архитектуры, гиперпараметров и алгоритма оптимизации для глубокой нейронной сети может оказаться сложным и итеративным процессом. [37]

Смотрите также

Рекомендации

  1. ^ Хасти, Тревор; Тибширани, Роберт; Фридман, Джером Х. (2009). Элементы статистического обучения: интеллектуальный анализ данных, логический вывод и прогнозирование. Спрингер. ISBN 978-0-387-84884-6.
  2. ^ Мерфи, Кевин П. (2022). Вероятностное машинное обучение . Кембридж, Массачусетс: The MIT Press (авторские права принадлежат Массачусетскому технологическому институту, 2022 г., на эту работу распространяется лицензия Creative Commons CC-BY-NC-ND). стр. 1–11. ISBN 9780262046824.
  3. ^ МакКерон С (2021). СМЕШИВАНИЕ ТВЕРДОЙ ЖИДКОСТИ В РЕЗЕРВУАРАХ С ПЕРЕМЕШИВАНИЕМ: моделирование, проверка, оптимизация конструкции и прогнозирование качества суспензии (отчет). дои : 10.13140/RG.2.2.11074.84164/1.
  4. ^ «Разработка функций - линза машинного обучения» . docs.aws.amazon.com . Проверено 1 марта 2024 г.
  5. ^ «Разработка функций» (PDF) . 22 апреля 2010 г. Проверено 12 ноября 2015 г.
  6. ^ «Разработка и выбор функций» (PDF) . Александр Бушар-Коте. 1 октября 2009 года . Проверено 12 ноября 2015 г.
  7. ^ «Разработка функций в машинном обучении» (PDF) . Зденек Забокрский. Архивировано из оригинала (PDF) 4 марта 2016 года . Проверено 12 ноября 2015 г.
  8. ^ Ноббе А.Дж., Зибес А., Ван дер Валлен Д. (1999). «Индукция многореляционного дерева решений» (PDF) . Принципы интеллектуального анализа данных и обнаружения знаний . Конспекты лекций по информатике. Том. 1704. стр. 378–383. дои : 10.1007/978-3-540-48247-5_46. ISBN 978-3-540-66490-1.
  9. ^ «Все дело в особенностях» . Блог ИИ реальности . Сентябрь 2017.
  10. ^ Инь X, Хань Дж, Ян Дж, Ю PS (2004). «CrossMine: эффективная классификация по нескольким отношениям баз данных». Слушания. 20-я Международная конференция по инженерии данных . стр. 399–410. doi :10.1109/ICDE.2004.1320014. ISBN 0-7695-2065-0. S2CID  1183403.
  11. ^ Фрэнк Р., Мозер Ф., Эстер М. (2007). «Метод мультиреляционной классификации с использованием одно- и многофункциональных функций агрегирования». Обнаружение знаний в базах данных: PKDD 2007 . Конспекты лекций по информатике. Том. 4702. стр. 430–437. дои : 10.1007/978-3-540-74976-9_43. ISBN 978-3-540-74975-2.
  12. ^ «Как работает автоматизированная разработка функций — наиболее эффективное решение для разработки функций для реляционных данных и временных рядов» . Проверено 21 ноября 2019 г.
  13. ^ "Что такое Featuretools?" . Проверено 7 сентября 2022 г.
  14. ^ «Featuretools — среда Python с открытым исходным кодом для автоматизированного проектирования функций» . Проверено 7 сентября 2022 г.
  15. ^ «Github: alteryx/featuretools». Гитхаб . Проверено 7 сентября 2022 г.
  16. ^ Тхань Лам, Хоанг; Тибо, Иоганн-Майкл; Синн, Матье; Чен, Бэй; Май, Тип; Алкан, Ознур (01.06.2017). «Машина с одной кнопкой для автоматизации разработки функций в реляционных базах данных». arXiv : 1706.00327 [cs.DB].
  17. ^ Тхань Лам, Хоанг; Тибо, Иоганн-Майкл; Синн, Матье; Чен, Бэй; Май, Тип; Алкан, Ознур (01.06.2017). «Машина с одной кнопкой для автоматизации разработки функций в реляционных базах данных». arXiv : 1706.00327 [cs.DB].
  18. ^ «Документация getML» . Проверено 7 сентября 2022 г.
  19. ^ "GitHub: getml/getml-сообщество". Гитхаб . Проверено 7 сентября 2022 г.
  20. ^ "GitHub: getml/getml-сообщество". Гитхаб . Проверено 7 сентября 2022 г.
  21. ^ "GitHub: getml/getml-сообщество". Гитхаб . Проверено 7 сентября 2022 г.
  22. ^ "документация tsfresh" . Проверено 7 сентября 2022 г.
  23. ^ «Извлечение функций временных рядов на основе тестов масштабируемой гипотезы (tsfresh - пакет Python)» . Проверено 7 сентября 2022 г.
  24. ^ "predict-idlab/tsflex". Гитхаб . Проверено 7 сентября 2022 г.
  25. ^ Ван дер Донкт, Йонас; Ван дер Донкт, Йерун; Депрост, Эмиэль; Ван Хек, Софи (2022). «tsflex: гибкая обработка временных рядов и извлечение признаков». Программное обеспечениеX . 17 : 100971. arXiv : 2111.12429 . Бибкод : 2022SoftX..1700971V. doi :10.1016/j.softx.2021.100971. S2CID  244527198 . Проверено 7 сентября 2022 г.
  26. ^ "Руководство пользователя seglearn" . Проверено 7 сентября 2022 г.
  27. ^ «Добро пожаловать в документацию TSFEL!» . Проверено 7 сентября 2022 г.
  28. ^ "github: facebookresearch/Kats" . Гитхаб . Проверено 7 сентября 2022 г.
  29. ^ «Автоматизация анализа больших данных». 16 октября 2015 г.
  30. ^ Кантер, Джеймс Макс; Вирамачанени, Калян (2015). «Глубокий синтез функций: на пути к автоматизации исследований данных». Международная конференция IEEE по науке о данных и передовой аналитике (DSAA) , 2015 г. стр. 1–10. дои : 10.1109/DSAA.2015.7344858. ISBN 978-1-4673-8272-4. S2CID  206610380.
  31. ^ «Что такое хранилище функций» . Проверено 19 апреля 2022 г.
  32. ^ «Введение в магазины функций» . Проверено 15 апреля 2021 г.
  33. ^ «Разработка функций в машинном обучении». Программа инженерного образования (EngEd) | Раздел . Проверено 21 марта 2023 г.
  34. ^ explorium_admin (25 октября 2021 г.). «5 причин, почему разработка функций является сложной задачей». Эксплориум . Проверено 21 марта 2023 г.
  35. ^ Шпигельхальтер, диджей (2019). Искусство статистики: обучение на данных. [Лондон] Великобритания. ISBN 978-0-241-39863-0. ОСЛК  1064776283.{{cite book}}: CS1 maint: location missing publisher (link)
  36. ^ Саркер IH (ноябрь 2021 г.). «Глубокое обучение: всеобъемлющий обзор методов, таксономии, приложений и направлений исследований». С.Н. Информатика . 2 (6): 420. дои : 10.1007/s42979-021-00815-1. ПМЦ 8372231 . ПМИД  34426802. 
  37. ^ Бенджио, Йошуа (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 г.

дальнейшее чтение