exponenta event banner

Проектирование линейного прогнозирования

Этот пример иллюстрирует, как сконструировать линейный нейрон, чтобы предсказать следующее значение во временном ряду, учитывая последние пять значений.

Определение формы волны

Здесь время определяется от 0 до 5 секунд с шагом 1/40 секунды.

time = 0:0.025:5;

Мы можем определить сигнал относительно времени.

signal = sin(time*4*pi);
plot(time,signal)
xlabel('Time');
ylabel('Signal');
title('Signal to be Predicted');

Настройка проблемы для нейронной сети

Затем преобразование сигнала преобразуется в матрицу ячеек. Нейронные сети представляют временные интервалы в виде столбцов массива ячеек, выделяют их из различных выборок в данный момент времени, которые представлены столбцами матриц.

signal = con2seq(signal);

Для решения проблемы мы будем использовать первые четыре значения сигнала в качестве начальных состояний задержки на входе, а остальные, за исключением последнего шага, - в качестве входов.

Xi = signal(1:4);
X = signal(5:(end-1));
timex = time(5:(end-1));

Цели теперь определены так, чтобы соответствовать входам, но сдвинуты раньше на один временной интервал.

T = signal(6:end);

Проектирование линейного слоя

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

net = newlind(X,T,Xi);
view(net)

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

Сеть теперь может быть вызвана как функция на входах и отложенных состояниях, чтобы получить свой временной отклик.

Y = net(X,Xi);

Выходной сигнал наносится на график вместе с целями.

figure
plot(timex,cell2mat(Y),timex,cell2mat(T),'+')
xlabel('Time');
ylabel('Output -  Target +');
title('Output and Target Signals');

Ошибка также может быть выведена на печать.

figure
E = cell2mat(T)-cell2mat(Y);
plot(timex,E,'r')
hold off
xlabel('Time');
ylabel('Error');
title('Error Signal');

Обратите внимание, насколько мала ошибка!

Этот пример иллюстрирует, как сконструировать динамическую линейную сеть, которая может предсказать следующее значение сигнала по текущим и прошлым значениям.