Слегка поигрался с NuPIC — пока еще только в общих чертах представляя что происходит внутри и как все настраивается.
На вход подается значение функции, система выдает прогноз.
Вот, например, синус (вверху синим сама функция, зеленым — предсказание, внизу — дельта):
Чем-то значения чуть меньше -0.5 модели не нравятся.
Но если слегка подкрутить параметры, то можно добиться лучших характеристик:
С течением времени, погрешность уменьшается (правда, не скоро):
А теперь посложнее — после x=200, сдвигаем синус по фазе:
Видно, что модель запомнила момент сдвига и, в дальнейшем, попыталась его учесть, но подтверждения не получила и, через какое-то время забыла об этом артефакте.
Пишите еще NuPIC интересно будет почитать, на русском мало информации.
На первых графиках где синусойда предсказание сети равно текущему значению входа. То есть сеть не предсказывает, а транслирует входной сигнал.
Там был косяк с настройками модели (слишком грубый encoder) и бездумная копипаста вызова Shifter’а из cpu example. Но мысль про трансляцию интересная, надо проверить.
Я сейчас этот пример переделываю в нормальную статью и выложу на хабре через пару дней, с исходниками и дополнительными тестами.
Информации про nupic и на английском-то почти нет :).
Здраставуйте.
Статью читал на Хабре, но вот нашел и Ваш блог.
Скажите пожалуйста, у вас для работы с NuPIC используется pyhton 2.7 или 2.6?
Просто при установке на pyhton2.7 возникает проблема с matplotlib, которая жестко завязанная на 2.6 версию. Сувществующие методы решения проблемы не работают.
Система: GNU/Debian Linux testing amd64
Я все тестировал на 2.7 (debian testing). Поначалу были проблемы со сборкой (непосредственно с кодом nupic — неверные define, и т.п.), но их исправили около месяца назад.
А можете где-нибудь выложить подправленный вариант?