Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
net.IW{1, 1}, net.b{1} % – [1.9800] [0.3000];
Y = sim(net, P) % – [0.0300] [2.0100] [3.9900] [5.9700].
Задание 6. Сформировать линейную сеть из одного нейрона и одного входа с двумя элементами для классификации значений входа, выполнив следующие действия:
P = [2 1 -2 -1; 2 -2 2 1];
T = [0 1 0 1];
net = newlin([-2 2; -2 2], 1);
net.trainParam.goal = 0.1;
[net, tr] = train(net, P, T);
net.IW{1, 1}, net.b{1}
A = sim(net, P);
err = T-A % – погрешности сети весьма значительны.
Задание 7. Сформировать линейную сеть из одного нейрона, одного входа и одного выхода для цифровой фильтрации сигнала, выполнив следующие действия:
1. Создать сеть и произвести ее инициализацию:
net = newlin([0 10], 1); % – диапазон входа от 0 до 10;
net.inputWeights{1, 1}.delays = [0 1 2];
net.IW{1, 1} = [7 8 9;] % – произвольная инициализация net.b{1} = [0]; весов и смещения
pi = {1 2}; % – начальные условия на линиях
задержки.
2. Определить входной сигнал и выходной сигнал фильтра в виде последовательности значений:
P = {3 4 5 6}; % – входной сигнал;
T = {10 20 30 40}; % – требуемый выходной сигнал.
3. Промоделировать необученную сеть:
[a, pf] = sim(net, P, pi);
% a = [46] [70] [94] [118] pf = [5] [6].
4. Выполнить адаптацию сети с помощью 10 циклов:
net.adaptParam.passes = 10;
[net, y, E, pf, af] = adapt(net, P, T, pi);
y % - y = [10.004] [20.002] [29.999] [39.998].
Задание 8. Сформировать сеть ADALINE с одним нейроном и одним входом, значения которого изменяются от –1 до +1, двумя линиями задержки и одним выходом для предсказаний значений детерминированного процесса p(t), выполнив следующие действия:
1. Сформировать колебательное звено, реакция которого на ступенчатый сигнал будет использована в качестве детерминированного процесса p(t):
Clear
sys = ss(tf(1, [1 1 1])); % – колебательное звено
time = 0:0.2:10; % – интервал процесса
[Y, time] = step(sys, 0:0.2:10).
2. Сформировать обучающее множество:
p = y(1: length(time)-2)'; % – входной сигнал
t = y(3: length(time))'; % – целевой выход
time = 0:0.2:10;
[Y, time] = step(sys, 0:0.2:10).
3. Сформировать сеть ADELINE и множества Р и Т:
net = newlin([-1 1], 1, [1 2]); % - lr = 0.01;
P = num2sell(p);
T = num2cell(t).
4. Настроить сеть:
pi = {0 0} % – начальные значения для задержек;
net.adaptParam.passes = 5;
[net, Y, E, Pf, Af] = adapt(net, P, T, pi);
Y1 = cat(1, Y{:}) % – массив ячеек в массив чисел.
5. Построить графики:
plot(time, Y1, 'b:', time, P, 'r-', …
xlabel('Время, c'), ylabel('Процессы'))
title('Обучение нейронной сети').
6. Промоделировать сеть ADALINE:
x = sim(net, P);
x1 = cat(1, x{:});
plot(time, x1, 'b', time, p, 'r');
title('Моделирование нейронной сети').
Дата публикования: 2015-10-09; Прочитано: 383 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!