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

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

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