OKey Новый посетитель

Зарегистрирован: 28 Дек 2006 Сообщения: 8 Откуда: Москва
|
Добавлено: Ср Янв 17, 2007 12:49 am Заголовок сообщения: Линии задержки в Matlab'e и экстраполяция |
|
|
Только осваиваю нейросети, ковыряюсь в Матлабе. Вот столкнулся с интересной, самому себе поставленной, задачкой. Я пытаюсь прогнозировать функцию y = cos(x) + x:
На вход подаю n значений от функции, на выходе требую m последующих значений. С помощью персептрона ничего не получается, т.к. насколько я понял экстраполяция, это не то, что может перспетрон. Персептрон успешно прогнозирует тот же косинус, если в обучающей выборке присутсвует несколько периодов, т.е. интерполирует.
На прошедшем семинаре послушал про слои задержки. Рекуррентная сеть позволяет, насколько я понял, аппроксимировать параметрически заданные функции, т.к. имеет состояние и чувствительна к порядку предъявления данных. Вот возникла у меня идея, что прогнозирование вот такой вот периодически возрастающей функции как раз задача для рекуррентной сети, т.к. из текущего состояния функция ведет себя всё время одинаково и, в принципе, сетью с состоянием нужно уже интерполировать обучающие данные, а не экстраполировать.
К сожалению я запнулся на элементарном незнании библиотечных функций Матлаба и механизмов их работы. Буду очень благодарен небольшому разъяснению как работают блоки задержки в Матлабе.
| Код: | | neuronet = newfftd(диапазон входа, задержка, структура) |
...вот конкретно не могу разобраться как работает вектор задержка. Пробую аппроксимировать обычную синусоиду - нейросеть с задержками ведет себя также как и без оных - от количества нейронов зависит, сколько "волн" синусоиды будет аппроксимированно. Но ведь, по-моему, вероятно, наивному мнению сеть с задержками должна по достижении какого-то количества нейронов аппроксимировать поведение синусоиды полностью!
Пожалуйста, разъясните в чем я не прав и чего я неправильно думаю из вышесказанного! Спасибо!
P.S. Еще вот вопрос - данные, которые я подаю в сеть и выходы и неё нормированы. Чтобы получить у сети прогноз, который выходит за рамки [0 1] (как в случае с функцией y=cos(x) + x) я должен отказаться от номирования? Я не очень осознаю его необходимость - в голове каша пока.  |
|