Символьная регрессия

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Дерево выражений, которое можно использовать в символьной регрессии для представления произвольной аналитической функции.

Символьная регрессия — это тип регрессионного анализа, который используется для поиска в пространстве математических выражений модели, наилучшим образом соответствующей заданному набору данных, как с точки зрения точности, так и простоты. Никакой конкретной модели не предоставляется в качестве отправной точки для алгоритма. Вместо этого исходные выражения формируются путём случайного комбинирования математических строительных блоков, таких как математические операторы, аналитические функции, константы и переменные состояния. Обычно подмножество этих примитивов определяется пользователем, но это не является требованием метода. Проблема символьной регрессии для математических функций решалась с помощью множества методов, включая рекомбинирование уравнений, наиболее часто использующих генетическое программирование[1], а также более недавние методы, использующие байесовские методы[2] и ИИ, вдохновлённые физикой[3]. Другой неклассический альтернативный метод символьной регрессии называется инициатором универсальных функций (англ. Universal Functions Originator), который имеет другой механизм, пространство поиска и стратегию построения[4].

Не требуя априорного определения модели, на символическую регрессию не влияют человеческие предубеждения или неизвестные пробелы в знаниях в предметной области. Она пытается раскрыть внутренние взаимосвязи набора данных, позволяя шаблонам в самих данных раскрывать соответствующие модели, а не навязывать структуру модели, которая считается математически поддающейся обработке с человеческой точки зрения. Функция приспособленности, которая управляет эволюцией моделей, принимает во внимание не только показатели ошибок (чтобы модели точно предсказывали данные), но и специальные меры описания сложности таким образом гарантируя, что полученные модели раскрывают основную структуру данных в виде понятном с человеческой точки зрения. Это облегчает рассуждения и увеличивает шансы получить представление о системе генерации данных[5].

Отличие от классической регрессии[править | править код]

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

Недостатком этого подхода является наличие гораздо большего пространства для поиска, потому что не только пространство поиска в символьной регрессии бесконечно, но существует бесконечное количество моделей, которые идеально подходят для конечного набора данных (при условии, что сложность модели искусственно не ограничена). Это означает, что алгоритму символьной регрессии, возможно, потребуется больше времени, чтобы найти подходящую модель и параметризацию, чем традиционным методам регрессии. Это время можно уменьшить, ограничив набор строительных блоков, предоставляемых алгоритму, на основе существующих знаний о системе, которая предоставила данные; но, в конце концов, использование символьной регрессии — это решение, которое должно быть сбалансировано с тем, сколько известно о базовой системе.

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

Примечания[править | править код]

  1. Michael Schmidt; Hod Lipson (2009). "Distilling free-form natural laws from experimental data". Science. 324 (5923). American Association for the Advancement of Science: 81—85. Bibcode:2009Sci...324...81S. CiteSeerX 10.1.1.308.2245. doi:10.1126/science.1165893. PMID 19342586. Архивировано 29 июня 2021. Дата обращения: 29 июня 2021.
  2. Ying Jin; Weilin Fu; Jian Kang; Jiadong Guo; Jian Guo (2019). "Bayesian Symbolic Regression". arXiv:1910.08892 [stat.ME].
  3. Silviu-Marian Udrescu; Max Tegmark (2020). "AI Feynman: A physics-inspired method for symbolic regression". Science_Advances. 6 (16). American Association for the Advancement of Science: eaay2631. doi:10.1126/sciadv.aay2631. PMC 7159912. PMID 32426452.
  4. Ali R. Al-Roomi; Mohamed E. El-Hawary (2020). "Universal Functions Originator". Applied Soft Computing. 94. Elsevier B.V.: 106417. doi:10.1016/j.asoc.2020.106417. ISSN 1568-4946.
  5. Ekaterina J. Vladislavleva; Guido F. Smits; Dick Den Hertog (2009). "Order of nonlinearity as a complexity measure for models generated by symbolic regression via pareto genetic programming" (PDF). IEEE Transactions on Evolutionary Computation. 13 (2): 333—349. doi:10.1109/tevc.2008.926486. Архивировано (PDF) 6 октября 2014. Дата обращения: 29 июня 2021.

Литература[править | править код]

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

  • Ivan Zelinka. Symbolic regression — an overview.
  • Hansueli Gerber. Simple Symbolic Regression Using Genetic Programming. (Java-апплет) — аппроксимирует функцию путем эволюции комбинаций простых арифметических операторов с использованием алгоритмов, разработанных Джоном Козой .
  • Katya Vladislavleva. Symbolic Regression: Function Discovery & More. Архивировано 18 декабря 2014 года.
  • RGP, фреймворк генетического программирования (GP) на языке R, который поддерживает символическую регрессию
  • GPTIPS, платформа генетического программирования и интеллектуального анализа данных для MATLAB
  • dcgp, набор инструментов для символической регрессии с открытым исходным кодом.
  • Glyph, библиотека Python 3, основанная на deap, обеспечивающая уровни абстракции для проблем символьной регрессии.
  • AI-Feynman python3 + код pytorch для физического метода символьной регрессии.
  • TuringBot, программное обеспечение для символьной регрессии, основанное на моделировании отжига.