Символическая регрессия

Символьная регрессия ( SR ) — это тип регрессионного анализа , который просматривает пространство математических выражений, чтобы найти модель, которая лучше всего соответствует заданному набору данных как с точки зрения точности, так и с точки зрения простоты.
Никакая конкретная модель не предоставляется в качестве отправной точки для символической регрессии. Вместо этого исходные выражения формируются путем случайного объединения математических строительных блоков, таких как математические операторы , аналитические функции , константы и переменные состояния . Обычно подмножество этих примитивов задается пользователем, но это не является требованием метода. Проблема символьной регрессии для математических функций решалась с помощью различных методов, включая рекомбинацию уравнений, чаще всего с использованием генетического программирования . [1] а также более поздние методы, использующие байесовские методы [2] и нейронные сети . [3] Другой неклассический альтернативный метод SR называется «Инициатор универсальных функций» (UFO), который имеет другой механизм, пространство поиска и стратегию построения. [4] Дальнейшие методы, такие как точное обучение, пытаются преобразовать проблему подгонки в проблему моментов в естественном функциональном пространстве, обычно построенном на обобщениях функции Мейера-G . [5]
Не требуя априорной спецификации модели, на символическую регрессию не влияют человеческие предубеждения или неизвестные пробелы в знаниях предметной области . Он пытается раскрыть внутренние связи набора данных, позволяя закономерностям в самих данных выявить соответствующие модели, а не навязывая структуру модели, которая считается математически выполнимой с человеческой точки зрения. Функция пригодности , которая управляет развитием моделей, учитывает не только метрики ошибок (чтобы гарантировать, что модели точно предсказывают данные), но и специальные меры сложности. [6] таким образом гарантируя, что полученные модели раскрывают основную структуру данных таким образом, чтобы это было понятно с человеческой точки зрения. Это облегчает рассуждения и увеличивает шансы получить представление о системе генерации данных, а также улучшает возможности обобщения и экстраполяции за счет предотвращения переобучения . Точность и простоту можно оставить как две отдельные цели регрессии — в этом случае оптимальные решения образуют фронт Парето — или их можно объединить в одну цель с помощью принципа выбора модели, такого как минимальная длина описания .
Было доказано, что символическая регрессия является NP-сложной проблемой в том смысле, что не всегда можно найти наилучшее математическое выражение, подходящее для данного набора данных за полиномиальное время . [7] Тем не менее, если искомое уравнение не слишком сложное, можно точно решить задачу символической регрессии, сгенерировав все возможные функции (построенные из некоторого заранее определенного набора операторов) и вычислив их на рассматриваемом наборе данных. [8]
Отличие от классической регрессии
[ редактировать ]В то время как традиционные методы регрессии направлены на оптимизацию параметров для заранее заданной структуры модели, символьная регрессия избегает навязывания предварительных предположений и вместо этого выводит модель на основе данных. Другими словами, он пытается обнаружить как структуры модели, так и ее параметры.
Недостатком этого подхода является гораздо большее пространство для поиска, поскольку не только пространство поиска в символьной регрессии бесконечно, но существует бесконечное количество моделей, которые идеально подходят для конечного набора данных (при условии, что сложность модели не т искусственно ограничено). Это означает, что алгоритму символической регрессии, возможно, потребуется больше времени, чтобы найти подходящую модель и параметризацию, чем традиционным методам регрессии. Это можно смягчить, ограничив набор строительных блоков, предоставляемых алгоритму, на основе существующих знаний о системе, создавшей данные; но, в конце концов, использование символической регрессии — это решение, которое должно быть сбалансировано с тем, как много известно о базовой системе.
Тем не менее, эта характеристика символической регрессии также имеет преимущества: поскольку эволюционный алгоритм требует разнообразия для эффективного исследования пространства поиска, результатом, скорее всего, будет выбор моделей с высокой оценкой (и соответствующего им набора параметров). Изучение этой коллекции может дать лучшее понимание основного процесса и позволит пользователю определить приближение, которое лучше соответствует его потребностям с точки зрения точности и простоты.
Бенчмаркинг
[ редактировать ]SRBench
[ редактировать ]В 2021 году SRBench [9] был предложен в качестве основного ориентира для символической регрессии.На момент своего создания SRBench включал 14 методов символьной регрессии, 7 других методов машинного обучения и 252 набора данных из PMLB .Тест должен стать живым проектом: он поощряет представление улучшений, новых наборов данных и новых методов для отслеживания современного состояния SR.
Соревнования SRBench 2022
[ редактировать ]В 2022 году SRBench объявила конкурс «Интерпретируемая символическая регрессия для науки о данных», который проводился на конференции GECCO в Бостоне, штат Массачусетс. В ходе конкурса девять ведущих алгоритмов символьной регрессии противопоставлялись друг другу при решении нового набора проблем с данными и рассматривались различные критерии оценки. Соревнования проводились в два трека: синтетический трек и трек с реальными данными. [10]
Синтетический трек
[ редактировать ]В синтетическом треке методы сравнивались по пяти признакам: повторное обнаружение точных выражений; выбор функции; устойчивость к локальным оптимумам; экстраполяция; и чувствительность к шуму. Рейтинги методов были следующими:
Реальный трек
[ редактировать ]В реальных условиях были обучены методы построения интерпретируемых прогностических моделей для 14-дневного прогноза количества случаев COVID-19, госпитализаций и смертей в штате Нью-Йорк. Эти модели были проверены профильным экспертом, им присвоены рейтинги доверия и оценена точность и простота. Ранжирование методов было следующим:
Нестандартные методы
[ редактировать ]Большинство алгоритмов символьной регрессии предотвращают комбинаторный взрыв , реализуя эволюционные алгоритмы, которые итеративно улучшают наиболее подходящее выражение на протяжении многих поколений. Недавно исследователи предложили алгоритмы, использующие другие тактики ИИ .
Сильвиу-Мариан Удреску и Макс Тегмарк разработали алгоритм «ИИ Фейнмана». [11] [12] который пытается выполнить символическую регрессию, обучая нейронную сеть представлять загадочную функцию, а затем запускает тесты нейронной сети, чтобы попытаться разбить проблему на более мелкие части. Например, если , тесты нейронной сети могут распознать разделение и приступить к решению и отдельно и с разными переменными в качестве входных данных. Это пример принципа «разделяй и властвуй» , который уменьшает размер проблемы и делает ее более управляемой. А. И. Фейнман также преобразует входные и выходные данные загадочной функции, чтобы создать новую функцию, которую можно решить другими методами, и выполняет анализ размерностей, чтобы уменьшить количество задействованных независимых переменных. Алгоритм смог «обнаружить» 100 уравнений из «Лекций Фейнмана по физике» , в то время как ведущее программное обеспечение, использующее эволюционные алгоритмы, Eureqa , решило только 71. AI Feynman, в отличие от классических методов символьной регрессии, требует очень большого набора данных, чтобы сначала тренирует нейронную сеть и, естественно, склоняется к уравнениям, которые распространены в элементарной физике.
Программное обеспечение
[ редактировать ]Программное обеспечение для конечных пользователей
[ редактировать ]- QLattice — это технология квантового моделирования и машинного обучения, которая помогает искать в бесконечном списке потенциальных математических моделей для решения проблемы. [13] [14]
- Эволюционный лес — это основанный на генетическом программировании алгоритм автоматического построения признаков для символьной регрессии. [15] [16]
- uDSR — это платформа глубокого обучения для задач символьной оптимизации. [17]
- dCGP , дифференцируемое декартово генетическое программирование на Python (бесплатно, с открытым исходным кодом) [18] [19]
- HeuristicLab , программная среда для эвристических и эволюционных алгоритмов, включая символьную регрессию (бесплатно, с открытым исходным кодом)
- GeneXProTools — реализация метода программирования экспрессии генов для решения различных задач, включая символическую регрессию (коммерческую)
- Multi Expression Programming X , реализация мультивыраженного программирования для символьной регрессии и классификации (бесплатно, с открытым исходным кодом).
- Eureqa , программное обеспечение для эволюционной символической регрессии (коммерческое) и библиотека программного обеспечения.
- TuringBot , программное обеспечение для символической регрессии, основанное на моделировании отжига (коммерческое)
- ПыСР , [20] среда символической регрессии, написанная на Python и Julia , с использованием регуляризованной эволюции, имитации отжига и оптимизации без градиента (бесплатно, с открытым исходным кодом) [21]
- GP-GOMEA , быстрая ( C++ серверная часть ) эволюционная символьная регрессия с интерфейсом, совместимым с Python scikit-learn , достигла одного из лучших компромиссов между точностью и простотой обнаруженных моделей на SRBench в 2021 году (бесплатно, с открытым исходным кодом).
См. также
[ редактировать ]- Выражение в закрытой форме § Преобразование из числовых форм
- Генетическое программирование
- Программирование экспрессии генов
- Колмогоровская сложность
- Линейное генетическое программирование
- Математическая оптимизация
- Мультивыраженное программирование
- Регрессионный анализ
- Обратная математика
- Система обнаружения (исследование искусственного интеллекта) [3]
Ссылки
[ редактировать ]- ^ Майкл Шмидт; Ход Липсон (2009). «Выделение естественных законов свободной формы из экспериментальных данных» . Наука . 324 (5923). Американская ассоциация содействия развитию науки: 81–85. Бибкод : 2009Sci...324...81S . CiteSeerX 10.1.1.308.2245 . дои : 10.1126/science.1165893 . ПМИД 19342586 . S2CID 7366016 .
- ^ Цзянь Го (2019 Ин Цзинь ; Цзянь Кан ; ) .
- ^ Jump up to: а б Сильвиу-Мариан Удреску; Макс Тегмарк (2020). «А. И. Фейнман: основанный на физике метод символической регрессии» . Наука_Достижения . 6 (16). Американская ассоциация содействия развитию науки: eaay2631. Бибкод : 2020SciA....6.2631U . дои : 10.1126/sciadv.aay2631 . ПМК 7159912 . ПМИД 32426452 .
- ^ Али Р. Аль-Руми; Мохамед Э. Эль-Хавари (2020). «Создатель универсальных функций» . Прикладные мягкие вычисления . 94 . Elsevier BV: 106417. doi : 10.1016/j.asoc.2020.106417 . ISSN 1568-4946 . S2CID 219743405 .
- ^ Бенедикт У. Дж. Ирвин (2021). «Естественное представление функций для точного обучения» (PDF) (препринт). дои : 10.21203/rs.3.rs-149856/v1 . S2CID 234014141 .
- ^ Екатерина Юрьевна Владиславлева; Гвидо Ф. Смитс; Дик Ден Хертог (2009). «Порядок нелинейности как мера сложности моделей, созданных с помощью символьной регрессии с помощью генетического программирования Парето» (PDF) . Транзакции IEEE в эволюционных вычислениях . 13 (2): 333–349. дои : 10.1109/tevc.2008.926486 . S2CID 12072764 .
- ^ Вирголин, Марко; Писсис, Солон П. (2022). «Символическая регрессия NP-сложна» . Труды по исследованиям машинного обучения .
- ^ Бартлетт, Диглан; Десмонд, Гарри; Феррейра, Педро (2023). «Исчерпывающая символическая регрессия». Транзакции IEEE по эволюционным вычислениям : 1. arXiv : 2211.11461 . дои : 10.1109/TEVC.2023.3280250 . S2CID 253735380 .
- ^ Ла Кава, Уильям; Ожеховский, Патрик; Бурлаку, Богдан; де Франка, Фабрисио; Вирголин, Марко; Джин, Ин; Комменда, Майкл; Мур, Джейсон (2021). «Современные методы символической регрессии и их относительная эффективность» . Труды нейронных систем обработки информации по наборам данных и критериям . 1 . arXiv : 2107.14351 .
- ^ Майкл Комменда; Уильям Ла Кава; Маймуна Маджумдер; Фабрисио Оливетти из Франции; Марко Вирголин. «Конкурс SRBench 2022: интерпретируемая символическая регрессия для науки о данных» .
- ^ Удреску, Сильвиу-Мариан; Тегмарк, Макс (17 апреля 2020 г.). «А. И. Фейнман: основанный на физике метод символической регрессии» . Достижения науки . 6 (16): eaay2631. arXiv : 1905.11481 . Бибкод : 2020SciA....6.2631U . дои : 10.1126/sciadv.aay2631 . ISSN 2375-2548 . ПМК 7159912 . ПМИД 32426452 .
- ^ Удреску, Сильвиу-Мариан; Тан, Эндрю; Фэн, Цзяхай; Нето, Орисвальдо; Ву, Тайлин; Тегмарк, Макс (16 декабря 2020 г.). «А.И. Фейнман 2.0: оптимальная по Парето символическая регрессия, использующая модульность графа». arXiv : 2006.10782 [ cs.LG ].
- ^ «Feyn — это модуль Python для запуска QLattice» . 22 июня 2022 г.
- ^ Кевин Рене Бролёс; Мира Виейра Мачадо; Крис Кейв; Яан Касак; Вальдемар Стентофт-Хансен; Виктор Галиндо Батанеро; Том Джелен; Каспер Вильструп (12 апреля 2021 г.). «Подход к символической регрессии с использованием Фейна». arXiv : 2104.05417 [ cs.LG ].
- ^ Чжан, Хэнчжэ; Чжоу, Айминь; Чжан, Ху (август 2022 г.). «Эволюционный лес регресса» . Транзакции IEEE в эволюционных вычислениях . 26 (4): 735–749. дои : 10.1109/TEVC.2021.3136667 . ISSN 1089-778X .
- ^ Чжан, Хэнчжэ; Чжоу, Айминь; Чен, Ци; Сюэ, Бин; Чжан, Мэнцзе (2023). «SR-Forest: метод гетерогенного ансамблевого обучения, основанный на генетическом программировании» . Транзакции IEEE по эволюционным вычислениям : 1–1. дои : 10.1109/TEVC.2023.3243172 . ISSN 1089-778X .
- ^ «Глубокая символьная оптимизация» . Гитхаб . 22 июня 2022 г.
- ^ «Дифференцируемое декартово генетическое программирование, документация v1.6» . 10 июня 2022 г.
- ^ Иззо, Дарио; Бискани, Франческо; Мерета, Алессио (2016). «Дифференциальное генетическое программирование». Материалы Европейской конференции по генетическому программированию . arXiv : 1611.04766 .
- ^ «Высокопроизводительная символическая регрессия в Python» . Гитхаб . 18 августа 2022 г.
- ^ « Учёные-машиностроители извлекают законы физики из необработанных данных» . Журнал Кванта . 10 мая 2022 г.
Дальнейшее чтение
[ редактировать ]- Марк Дж. Уиллис; Хьюго Г. Хиден; Бен Маккей; Гэри А. Монтегю; Питер Маренбах (1997). «Генетическое программирование: введение и обзор приложений» (PDF) . Публикации конференции IEE . ИЭЭ . стр. 314–319.
- Воутер Миннебо; Шон Стийвен (2011). «Глава 4: Символическая регрессия» (PDF) . Расширение возможностей вычислений с помощью выбора переменных (магистерская диссертация). Университет Антверпена .
- Джон Р. Коза; Мартин А. Кин; Джеймс П. Райс (1993). «Повышение производительности машинного обучения за счет автоматического обнаружения вспомогательных функций применительно к задаче идентификации символьной системы» (PDF) . Международная конференция IEEE по нейронным сетям . Сан-Франциско: IEEE . стр. 191–198.
Внешние ссылки
[ редактировать ]- Иван Зелинка (2004). «Символическая регрессия — обзор» .
- Хансуэли Гербер (1998). «Простая символьная регрессия с использованием генетического программирования» . (Java-апплет) — аппроксимирует функцию путем развития комбинаций простых арифметических операторов с использованием алгоритмов, разработанных Джоном Коза .
- Катя Владиславлева. «Символическая регрессия: обнаружение функций и многое другое» . Архивировано из оригинала 18 декабря 2014 г.