Интересная библиотека символьной регрессии PhySO. Оптимизатор берет на вход набор данных из многомерных аргументов X и одномерных значений функции Y в предположении, что это некие физические измерения. Пользователь добавляет информацию о единицах измерения компонент аргумента и целевого значения функции в виде наборов степеней [L, T, M] для каждой. Например, [ 1, -2, 0 ] соответствует ускорению, м/с^2. Также можно добавить свободных констант с указанием их физических размерностей в том же виде.
Еще можно ограничить набор базовых функций, используемых в поиске функции регрессии - арифметические, тригонометрию, показательную и логарифм, гиперболические итд.
После запуска оптимизатора с pytorch под капотом он пытается за указанное число подходов-эпох по данным подобрать символьную функцию регрессии, используя всю предоставленную информацию. После каждой эпохи показывает текущую подобранную символьную функцию и лучшую за все пройденные эпохи. Лучшую - в смысле наибольшего коэффициента регрессии R.
Пример в доках - здесь.
Это просто красиво. Разработчики хвалятся наилучшими показателями в бенчмарке подобных библиотек - особенно на высоких уровнях специально добавленного шума, до 10% от значений. Тренировали модель на большом количестве физических функций с экспериментальными данными, в том числе и на т.н. коллекции Фейнмана.
Следующий шаг в будущем для таких инструментов, наверное, будет добавление многомерности и в функцию. То есть сейчас , а будет еще






