Notebook "нейронные сети" Глава 2
Вид материала | Документы |
C253. newlind Многослойные сети. С255. NEWFF C258. newfftd C260. newcf |
- Программа дисциплины «Теория нечетких множеств и нейронные сети» Для специальности, 567.45kb.
- Самостоятельная работа по прогнозированию экономических процессов на тему: нейронные, 148.65kb.
- Лекция 2 Лекция «Нейронные сети» Начнем с определения: Искусственные нейронные сети, 131.57kb.
- "Нейроновые сети ", 374.46kb.
- Нейронные сети как механизм представления лексико-семантической информации, 376.06kb.
- Программа, 39.37kb.
- Нейронные сети: алгоритм обратного распространения, 336.15kb.
- Предупреждение. Спасение. Помощь, 3059.76kb.
- Нейрокомпьютерная обработка сигналов и изображений, 184.71kb.
- Нейронные сети: основы теории / А. И. Галушкин. М. Горячая линия Телеком, 2010., 585.42kb.
C253. NEWLIND
Требуется сформировать линейный слой, который обеспечивает для заданного входа P выход, близкий к цели T, если заданы следующие обучающие последовательности
P = 0:3; T = [0.0 2.0 4.1 5.9];
Анализ данных подсказывает, что требуется найти аппроксимирующую кривую, которая близка к зависимости t = 2p. Применение линейного слоя LIND в данном случае вполне оправдано.
net = newlind(P,T); gensim(net) % Рис.11.11
Значения весов и смещений равны
net.IW{1}, net.b{1}
ans =
1.9800
ans =
0.0300
Выполним моделирование сформированного линейного слоя
Y = sim(net,P)
Y =
0.0300 2.0100 3.9900 5.9700
Многослойные сети.
С255. NEWFF
Создать нейронную сеть, чтобы обеспечить следующее отображение последовательности входа P в последовательность целей T:
P = [0 1 2 3 4 5 6 7 8 9 10]; T = [0 1 2 3 4 3 2 1 2 3 4];
Архитектура нейронной сети: двухслойная сеть с прямой передачей сигнала; первый слой - 5 нейронов с функцией активации tansig; второй слой - 1 нейрон с функцией активации purelin; диапазон изменения входа [0 10].
net = newff([0 10],[5 1],{'tansig' 'purelin'});
gensim(net)
Выполним моделирование сети и построим графики сигналов выхода и цели:
Y = sim(net,P); figure(1), clf
plot(P, T, P, Y, 'o'), grid on %Рис.11.13
Обучим сеть в течение 50 циклов:
net.trainParam.epochs = 50;
net = train(net,P,T);
TRAINLM, Epoch 0/50, MSE 0.0154002/0, Gradient 0.190957/1e-010
TRAINLM, Epoch 25/50, MSE 0.0153319/0, Gradient 0.0398632/1e-010
TRAINLM, Epoch 50/50, MSE 0.0153054/0, Gradient 0.017265/1e-010
TRAINLM, Maximum epoch reached, performance goal was not met.
Выполним моделирование сформированной двухслойной сети, используя обучающую последовательность входа
Y = sim(net,P);
figure(2), clf, plot(P,T,P,Y,'o'), grid on % Рис.11.15
C258. NEWFFTD
Создать нейронную сеть, чтобы обеспечить следующее отображение последовательности входа P в последовательность целей T:
P = {1 0 0 1 1 0 1 0 0 0 0 1 1 0 0 1};
T = {1 -1 0 1 0 -1 1 -1 0 0 0 1 0 -1 0 1};
Архитектура нейронной сети: двухслойная сеть с прямой передачей сигнала и линией задержки [0 1]; первый слой - 5 нейронов с функцией активации tansig; второй слой - 1 нейрон с функцией активации purelin; диапазон изменения входа [0 10].
net = newfftd([0 1],[0 1],[5 1],{'tansig' 'purelin'});
gensim(net)
Обучим сеть в течение 50 циклов и промоделируем, используя в качестве теста обучающую последовательность входа:
net.trainParam.epochs = 50;
net = train(net,P,T); Y = sim(net,P)
TRAINLM, Epoch 0/50, MSE 3.10515/0, Gradient 40.7492/1e-010
TRAINLM, Epoch 4/50, MSE 5.31364e-031/0, Gradient 1.09916e-014/1e-010
TRAINLM, Minimum gradient reached, performance goal was not met.
Y =
Columns 1 through 3
[1] [-1.0000] [-3.8858e-016]
Columns 4 through 6
[1] [1.9429e-015] [-1.0000]
Columns 7 through 9
[1] [-1.0000] [-3.8858e-016]
Columns 10 through 11
[-3.8858e-016] [-3.8858e-016]
Columns 12 through 14
[1] [1.9429e-015] [-1.0000]
Columns 15 through 16
[-3.8858e-016] [1]
C260. NEWCF
Создать каскадную нейронную сеть, чтобы обеспечить следующее отображение последовательности входа P в последовательность целей T:
P = [0 1 2 3 4 5 6 7 8 9 10]; T = [0 1 2 3 4 3 2 1 2 3 4];
Архитектура нейронной сети: каскадная двухслойная сеть с прямой передачей сигнала; первый слой - 5 нейронов с функцией активации tansig; второй слой - 1 нейрон с функцией активации purelin; диапазон изменения входа [0 10].
net = newcf([0 10],[5 1],{'tansig' 'purelin'});
gensim(net)
Обучим сеть в течение 50 циклов:
net.trainParam.epochs = 50; net = train(net,P,T);
TRAINLM, Epoch 0/50, MSE 3.01162/0, Gradient 96.4205/1e-010
TRAINLM, Epoch 19/50, MSE 1.63682e-024/0, Gradient 1.1003e-012/1e-010
TRAINLM, Minimum gradient reached, performance goal was not met.
Выполним моделирование каскадной двухслойной сети, используя обучающую последовательность входа
Y = sim(net,P);
figure(1), clf, plot(P,T,P,Y,'or'), grid on
Радиальные базисные сети