2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Нейросеть и библиотека для определения параметра посл-ти
Сообщение30.10.2025, 00:10 
Есть числовая последовательность, в ней может быть до $10^6$ следующих друг за другом членов. Последовательность задаётся параметрами, их может быть от нескольких десятков до нескольких сотен, надо хотя бы найти один из них (лучше все, но для начала хотя бы 1). Посоветуйте, пожалуйста, какую нейросеть и какую библиотку на Python, Matlab (или C++) для этого использовать? Наверное, кто-то уже решал похожие задачи, может, где-то есть похожие проекты. Но для начала хотелось бы узнать, какую именно нейросеть оптимально использовать для таких задач и какая среда лучше всего для этого подходит.

В качестве примера: есть $ A_{n} = 2 \cdot A_{n - 1} - A_{n - 2} + \varepsilon_{n} $
, в котором хотелось бы найти с помощью нейросети коэффициент 2, стоящий перед $A_{n - 1}$, а для последовательности
$ B_{n} = 3 \cdot B_{n - 1} - 2 \cdot  B_{n - 2} + \varepsilon_{n} $ хотелось бы найти с помощью нейросети коэффициент 3, стоящий перед $B_{n - 1}$

Формулы более сложные, зависимости нелинейные, хотелось бы узнать, какой именно класс нейросетей следует использовать для подобных задач. Методом градиентного спуска искать сильно долго, но есть надежда, что обученная нейросеть будет делать это достаточно быстро и точно.

 
 
 
 Re: Нейросеть и библиотека для определения параметра посл-ти
Сообщение30.10.2025, 07:24 
Можете скинуть файл с последовательность?

 
 
 
 Re: Нейросеть и библиотека для определения параметра посл-ти
Сообщение30.10.2025, 09:28 
oeis.org не пробовали?

 
 
 
 Re: Нейросеть и библиотека для определения параметра посл-ти
Сообщение30.10.2025, 12:21 
Аватара пользователя
Igor_Dmitriev в сообщении #1707641 писал(а):
Формулы более сложные
А общий вид известен?

 
 
 
 Re: Нейросеть и библиотека для определения параметра посл-ти
Сообщение30.10.2025, 12:43 
Igor_Dmitriev в сообщении #1707641 писал(а):
В качестве примера: есть $ A_{n} = 2 \cdot A_{n - 1} - A_{n - 2} + \varepsilon_{n} $
, в котором хотелось бы найти с помощью нейросети коэффициент 2, стоящий перед $A_{n - 1}$, а для последовательности
$ B_{n} = 3 \cdot B_{n - 1} - 2 \cdot  B_{n - 2} + \varepsilon_{n} $ хотелось бы найти с помощью нейросети коэффициент 3, стоящий перед $B_{n - 1}$

Это делает метод наименьших квадратов (или максимум правдоподобия), нейронная сеть здесь не нужна.

 
 
 
 Re: Нейросеть и библиотека для определения параметра посл-ти
Сообщение30.10.2025, 13:06 
F111mon в сообщении #1707663 писал(а):
oeis.org не пробовали?

Попробовал, не помогло.

-- 30.10.2025, 12:08 --

mihaild в сообщении #1707679 писал(а):
Igor_Dmitriev в сообщении #1707641 писал(а):
Формулы более сложные
А общий вид известен?

примерно известен, но я хотел бы решить задачу самостоятельно, нужна подсказка того, какой класс нейросетей это решает и какую библиотеку и среду разработки оптимлаьно использовать для этого.
Допустим, это реккурентная последовательность, заданная таким соотношением
$y_{n} = y_{n-1} + \sin(y_{n-2} + y^{2}_{n-1}) + \frac{1}{1+y^{4}_{n-2}+\ln^2(y_{n-3})} + e^{-y_{n-4} + y^{2}_{n-1}}$

, аналитически не вычислить, коэффициенты могут быть самые разные, какую нейросеть оптимальней всего использовать?

-- 30.10.2025, 12:09 --

dsge в сообщении #1707682 писал(а):
Igor_Dmitriev в сообщении #1707641 писал(а):
В качестве примера: есть $ A_{n} = 2 \cdot A_{n - 1} - A_{n - 2} + \varepsilon_{n} $
, в котором хотелось бы найти с помощью нейросети коэффициент 2, стоящий перед $A_{n - 1}$, а для последовательности
$ B_{n} = 3 \cdot B_{n - 1} - 2 \cdot  B_{n - 2} + \varepsilon_{n} $ хотелось бы найти с помощью нейросети коэффициент 3, стоящий перед $B_{n - 1}$

Это делает метод наименьших квадратов (или максимум правдоподобия), нейронная сеть здесь не нужна.

Как я написал раньше, формулы более сложные, МНК считает сильно долго. Если бы формулы были бы линейные, можно было бы решить задачу на листочке.

 
 
 
 Re: Нейросеть и библиотека для определения параметра посл-ти
Сообщение30.10.2025, 13:14 
Аватара пользователя
Igor_Dmitriev в сообщении #1707686 писал(а):
примерно известен, но я хотел бы решить задачу самостоятельно
Просто задача с известным и неизвестным общим видом - это разные задачи. И пока задача не поставлена, нельзя ничего порекомендовать про подходы к решению.
Пока что вопрос примерно такой - "хочу приготовить еду; какую кастрюлю лучше использовать?". Для разной еды лучше подходят разные кастрюли, и для многих вариантов вообще нужны не кастрюли, а сковородки или еще что-то. Например - хотя, как известно, поджарить пельмени можно и в кастрюле, но лучше не стоит.

-- 30.10.2025, 12:16 --

Igor_Dmitriev в сообщении #1707686 писал(а):
аналитически не вычислить, коэффициенты могут быть самые разные
В Вашем выражении не указано ни одного неизвестного коэффициента.
Igor_Dmitriev в сообщении #1707686 писал(а):
какую нейросеть оптимальней всего использовать?
А с чего Вы взяли, что вам вообще нужны нейросети?

 
 
 
 Re: Нейросеть и библиотека для определения параметра посл-ти
Сообщение30.10.2025, 13:32 
mihaild в сообщении #1707688 писал(а):
В Вашем выражении не указано ни одного неизвестного коэффициента.

Предположим, что перед каждым $y_{i}$ стоит какой-то коэффициент (я их не поставил, чтобы формула выглядела читабельнее), что посоветуете?
$y_{n} = y_{n-1} + \sin(y_{n-2} + y^{2}_{n-1}) + \frac{1}{1+y^{4}_{n-2}+\ln^2(y_{n-3})} + e^{-y_{n-4} + y^{2}_{n-1}}$

Вот формула, в которой надо вычислить коэффициенты $a_{i}$
$y_{n} = a_{1}\cdot y_{n-1} + a_{2}\cdot \sin(a_{3}\cdot y_{n-2} + a_{4}\cdot y^{2}_{n-1}) + \frac{1}{a_{6} +  a_{7}\cdot y^{4}_{n-2}+a_{8}\cdot \ln^2(y_{n-3})} +  a_{9} \cdot e^{-a_{10}\cdot y_{n-4} + a_{11}\cdot y^{2}_{n-1}}$

mihaild в сообщении #1707688 писал(а):
А с чего Вы взяли, что вам вообще нужны нейросети?

Мне кажется, что нейросеть может вскрыть закономерность быстрее и эффективнее, МНК И ММП сильно долго считают и не находят нужные значения коэффициентов, если вы можете предложить другой метод, с интересом узнаю.

 
 
 
 Re: Нейросеть и библиотека для определения параметра посл-ти
Сообщение30.10.2025, 13:46 
Аватара пользователя
Igor_Dmitriev в сообщении #1707689 писал(а):
Мне кажется, что нейросеть может вскрыть закономерность быстрее и эффективнее
Неправильно кажется. Нейросети нужны когда вид зависимости неизвестен, и нужно приближать неизвестно какую функцию общим классом.
А у Вас задача численной оптимизации (если все $y_i$ известны): нужно подобрать вектор $\vec a$, минимизирующий известную $f(\vec y, \vec a)$. Можно, в том числе, градиентными методами искать. Поскольку параметров мало - то и второго порядка стоит попробовать.

 
 
 
 Re: Нейросеть и библиотека для определения параметра посл-ти
Сообщение30.10.2025, 15:31 
Igor_Dmitriev в сообщении #1707641 писал(а):
Есть числовая последовательность, в ней может быть до $10^6$ следующих друг за другом членов

Igor_Dmitriev в сообщении #1707686 писал(а):
МНК считает сильно долго

Попробуйте стохастический градиент для МНК. Хотя для нормального компьютера $10^6$ наблюдений не является проблемой.
Тем более, что параметров у вас немного.

 
 
 
 Re: Нейросеть и библиотека для определения параметра посл-ти
Сообщение30.10.2025, 16:26 
mihaild в сообщении #1707693 писал(а):
Неправильно кажется. Нейросети нужны когда вид зависимости неизвестен, и нужно приближать неизвестно какую функцию общим классом.
А у Вас задача численной оптимизации (если все $y_i$ известны): нужно подобрать вектор $\vec a$, минимизирующий известную $f(\vec y, \vec a)$. Можно, в том числе, градиентными методами искать. Поскольку параметров мало - то и второго порядка стоит попробовать.

С одной стороны, нейросети тоже ищут минимум, поэтому они могут и не помочь, с другой, не просто так же придумали разные архитектуры, они могут находить минимумы в некоторых задачах быстрее. Функция многомерна, у неё много локальных минимумов по каждому измерению, МНК просто спотыкается на том минимуме, который не подходит. Мне казалось, что есть класс нейросетей, которые приспособлены для подобных задач.

-- 30.10.2025, 15:28 --

dsge в сообщении #1707699 писал(а):
Попробуйте стохастический градиент для МНК. Хотя для нормального компьютера $10^6$ наблюдений не является проблемой.
Тем более, что параметров у вас немного.

Спасибо за совет, но не уверен, что поможет. Проблема не в большом числе измерений, а в большом числе экстремумов.

 
 
 
 Re: Нейросеть и библиотека для определения параметра посл-ти
Сообщение30.10.2025, 17:41 
Аватара пользователя
Igor_Dmitriev в сообщении #1707709 писал(а):
С одной стороны, нейросети тоже ищут минимум, поэтому они могут и не помочь, с другой, не просто так же придумали разные архитектуры, они могут находить минимумы в некоторых задачах быстрее
Обучение нейросети ищет веса, при которых сеть хорошо приближает неизвестную функцию, значение которой известно в некоторых точках. В зависимости от архитектуры - функции одного вида приближают лучше, другие хуже.
У вас же другая задача. Вид функции известен, нужно найти параметры.

 
 
 
 Re: Нейросеть и библиотека для определения параметра посл-ти
Сообщение31.10.2025, 21:25 
Igor_Dmitriev в сообщении #1707709 писал(а):
dsge в сообщении #1707699 писал(а):
Попробуйте стохастический градиент для МНК. Хотя для нормального компьютера $10^6$ наблюдений не является проблемой.
Тем более, что параметров у вас немного.

Спасибо за совет, но не уверен, что поможет. Проблема не в большом числе измерений, а в большом числе экстремумов.


Так стохастические градиенты как раз весьма полезны в такой ситуациии, стохастичность позволяет "проскочить" (не застревать на )локальные минимумы, максимумы и сёдла.

 
 
 [ Сообщений: 13 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group