Предсказание сигнала

Попробуем применить сеть ADALINE для предсказания значений детерминированного процесса p (t). Обратимся к рис. 5.9.

Рис. 5.9

Некоторый сигнал поступает на линию задержки так, что на ее выходе формируются 2 сигнала: p (t –1), p (t –2). Настройка сети реализуется с помощью М-функции adapt, которая изменяет параметры сети на каждом шаге с целью минимизировать погрешность
e (t) = a (t) – p (t). Если эта погрешность нулевая, то выход сети a (t) точно равен p (t) и сеть выполняет предсказание должным образом.

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

Поскольку для формирования входа применено динамическое звено второго порядка, то в сети ADALINE будет использована ЛЗ с двумя блоками. Запишем следующий сценарий для решения задачи предсказания сигнала:

clear

sys = ss(tf(1,[1 1 1])); % Формирование колебательного звена

% Получение реакции на ступенчатое входное воздействие

time = 0:0.2:10;

[y,time] = step(sys,0:0.2:10);

% Формирование обучающего множества

p = y(1:length(time)–2)';

t = y(3:length(time))';

time = time(1:length(time)–2);

% Формирование нейронной сети

net = newlin([–1 1],1,[1 2]);

P = num2cell(p);

T = num2cell(t);

% Настройка нейронной сети

pi = {0 0};

net.adaptParam.passes = 5;

[net,Y,E,Pf,Af] = adapt(net,P,T,pi);

Y1 = cat(1,Y{:}); % Преобразование массива ячеек в массив double

% Построение графиков

plot(time,Y1,'b:',time,p,'r–'), xlabel('Время, с'), ylabel('Процессы')

title('Обучение нейронной сети')

% Моделирование нейронной сети

x = sim(net,P);

x1 = cat(1,x{:});

plot(time,x1,'b')

Найденные значения весов и смещения равны

net.IW{1,1}, net.b

ans = 0.33427 0.31816

ans = [0.35853]

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

а б

Рис. 5.10

Как видно из этих рисунков, приемлемое для данной постановки задачи количество циклов обучения равно пяти; результаты моделирования показывают, что при длительности процесса 10 с диапазон успешного предсказания находится в пределах 1.8–10 с.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: