narnet

Нелинейная авторегрессивная нейронная сеть

Синтаксис

narnet(feedbackDelays,hiddenSizes,feedbackMode,trainFcn)

Описание

NAR (нелинейный авторегрессивный) нейронные сети может быть обучен предсказать временные ряды от того ряда прошлые значения.

narnet(feedbackDelays,hiddenSizes,feedbackMode,trainFcn) берет эти аргументы,

feedbackDelays

Вектор-строка из увеличения 0 или положительных задержек (значение по умолчанию = 1:2)

hiddenSizes

Вектор-строка из одного или нескольких размеров скрытого слоя (значение по умолчанию = 10)

feedbackModeОдин из 'open', 'closed', или 'none' (значением по умолчанию является 'open')
trainFcn

Учебная функция (значением по умолчанию является 'trainlm')

и возвращает нейронную сеть NAR.

Примеры

свернуть все

Загрузите простые данные о предсказании timeseries и создайте сеть NAR.

T = simplenar_dataset;
net = narnet(1:2,10);

Подготовьте данные временных рядов с помощью preparets и обучите сеть.

[Xs,Xi,Ai,Ts] = preparets(net,{},{},T);
net = train(net,Xs,Ts,Xi,Ai);
view(net)

Вычислите производительность сети.

[Y,Xf,Af] = net(Xs,Xi,Ai);
perf = perform(net,Ts,Y)
perf =

   1.0100e-09

Чтобы предсказать выход для следующих 20 временных шагов, сначала симулируйте сеть в форме замкнутого цикла.

[netc,Xic,Aic] = closeloop(net,Xf,Af);
view(netc)

Сеть только имеет вход того. В режиме замкнутого цикла этот вход соединен с выходом.

Чтобы симулировать сеть 20 временных шагов вперед, введите массив пустой ячейки длины 20. Сеть требует только начальных условий, данных в Xic и Aic.

y2 = netc(cell(0,20),Xic,Aic)
y2 =

  1x20 cell array

  Columns 1 through 5

    {[0.8346]}    {[0.3329]}    {[0.9084]}    {[1.0000]}    {[0.3190]}

  Columns 6 through 10

    {[0.7329]}    {[0.9801]}    {[0.6409]}    {[0.5146]}    {[0.9746]}

  Columns 11 through 15

    {[0.9077]}    {[0.2807]}    {[0.8651]}    {[0.9897]}    {[0.4093]}

  Columns 16 through 20

    {[0.6838]}    {[0.9976]}    {[0.7007]}    {[0.4311]}    {[0.9660]}

Смотрите также

| | | |

Представленный в R2010b