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);

Разработка линейного слоя

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

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');

Заметьте, насколько маленькая ошибка!

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