Нейросеть для анализа последовательности чисел и предсказание следующего числа
Нейросеть для анализа последовательности чисел и предсказание следующего числа. На вход подается некая последовательность чисел (1, 1.2, 2,3, 5,8...) с определенным интервалом их добавления в сеть (если это возможно). Нужно чтобы нейросеть предсказывала следующее число. Подскажите какой тип нейросети лучше использовать для таких задач? Может статьи или примеры с кодом.
Ответы (3 шт):
Если очень хочется нейросеть - то LSTM.
"Предсказанием" значений занимается, например, раздел ML, который носит название "анализ временных рядов". Часто (но не всегда) там бывают результаты точнее и проще, чем с применением нейросетей. При этом многое зависит от того, какова реальная природа ваших данных.
Статей, книг и пр. источников масса - в зависимости от вашей квалификации, как математической так и программной. Выбирайте сами по своему уровню.
Да, и первым делом советую научиться самостоятельно искать ответы на простейшие вопросы. А уж потом - заниматься остальным, в том числе нейросетями.
Для того, чтобы ответ оказался полезным надо понимать природу этих чисел. Модель выбирается в зависимости от задачи. Если это временной ряд, то вам лучше подойдут одни модели, а если эти цифры - последовательности слов или звуков, то здесь лучше подойдут RNN сети, например LSTM.
PS для анализа и предсказания временных рядов, советую посмотреть на модуль fbprophet
Тут может помочь сплайновая экстраполяция. Возможно, НС вовсе не нужны. Код:
from scipy.interpolate import UnivariateSpline
y= [1,1.2,2,3,5,8]
x=[1,2,3,4,5,6]
for k in range(1,10):
extraplolator=UnivariateSpline(x,y,k=5) # k - степень экстраполяции
print(extraplolator(k))
Ссылка на источник с похожей задачей: https://stackoverflow.com/questions/1599754/is-there-easy-way-in-python-to-extrapolate-data-points-to-the-future