Notebook "нейронные сети" Глава 2
Вид материала | Документы |
С348. traingdm С351. traingdx C353. trainrp C356. traincgf |
- Программа дисциплины «Теория нечетких множеств и нейронные сети» Для специальности, 567.45kb.
- Самостоятельная работа по прогнозированию экономических процессов на тему: нейронные, 148.65kb.
- Лекция 2 Лекция «Нейронные сети» Начнем с определения: Искусственные нейронные сети, 131.57kb.
- "Нейроновые сети ", 374.46kb.
- Нейронные сети как механизм представления лексико-семантической информации, 376.06kb.
- Программа, 39.37kb.
- Нейронные сети: алгоритм обратного распространения, 336.15kb.
- Предупреждение. Спасение. Помощь, 3059.76kb.
- Нейрокомпьютерная обработка сигналов и изображений, 184.71kb.
- Нейронные сети: основы теории / А. И. Галушкин. М. Горячая линия Телеком, 2010., 585.42kb.
С348. TRAINGDM
Заданы следующие обучающие последовательности входов P и целей T:
clear, P = [0 1 2 3 4 5]; T = [0 0 0 1 1 1];
Поскольку соответствие между входом и целью носит явно выраженный нелинейный характер, то будем использовать нейронную сеть с нелинейными сигмоидальными функциями активации. Выберем двухслойную нейронную сеть с прямой передачей сигнала; в первом слое используем 2 нейрона с функцией активации tansig, а во втором - 1 нейрон с функцией активации logsig. Для обучения сети применим функцию traingdm и увеличим параметр скорости настройки до 0.1.
Формирование сети:
net = newff([0 5],[2 1],{'tansig','logsig'},'traingdm');
Обучение сети:
net.trainParam.epochs = 500; net.trainParam.goal = 0.01;
net.trainParam.lr = 0.1;
[net,TR] = train(net,P,T);
TRAINGDM, Epoch 0/500, MSE 0.394818/0.01, Gradient 0.718973/1e-010
TRAINGDM, Epoch 25/500, MSE 0.0108355/0.01, Gradient 0.024793/1e-010
TRAINGDM, Epoch 50/500, MSE 0.0103841/0.01, Gradient 0.0266315/1e-010
TRAINGDM, Epoch 59/500, MSE 0.00994986/0.01, Gradient 0.0249995/1e-010
TRAINGDM, Performance goal met.
Выполним моделирование сети:
Y = sim(net,P)
Y =
Columns 1 through 4
0.0741 0.0436 0.1312 0.8831
Columns 5 through 6
0.8964 0.8965
С351. TRAINGDX
Заданы следующие обучающие последовательности входов P и целей T:
P = [0 1 2 3 4 5]; T = [0 0 0 1 1 1];
Поскольку соответствие между входом и целью носит явно выраженный нелинейный характер, то будем использовать нейронную сеть с нелинейными сигмоидальными функциями активации. Выберем двухслойную нейронную сеть с прямой передачей сигнала; в первом слое используем 2 нейрона с функцией активации tansig, а во втором - 1 нейрон с функцией активации logsig. Для обучения сети применим функцию traingdx.
Формирование сети:
net = newff([0 5],[2 1],{'tansig','logsig'},'traingdx');
Обучение сети:
net.trainParam.epochs = 500; net.trainParam.goal = 0.01;
[net,TR] = train(net,P,T);
TRAINGDX, Epoch 0/500, MSE 0.416432/0.01, Gradient 0.61579/1e-006
TRAINGDX, Epoch 25/500, MSE 0.30052/0.01, Gradient 0.457879/1e-006
TRAINGDX, Epoch 50/500, MSE 0.125779/0.01, Gradient 0.353204/1e-006
TRAINGDX, Epoch 75/500, MSE 0.0136136/0.01, Gradient 0.0293882/1e-006
TRAINGDX, Epoch 90/500, MSE 0.00995653/0.01, Gradient 0.0227043/1e-006
TRAINGDX, Performance goal met.
Выведем график изменения параметра скорости настройки в процессе обучения:
figure(2), clf, plot(TR.lr, 'LineWidth',2), grid on
title('Параметр скорости настройки')
xlabel('Число циклов')
Выполним моделирование сети:
Y = sim(net,P)
Y =
Columns 1 through 4
0.0796 0.0404 0.1178 0.8777
Columns 5 through 6
0.8928 0.8929
C353. TRAINRP
Заданы следующие обучающие последовательности входов P и целей T:
P = [0 1 2 3 4 5]; T = [0 0 0 1 1 1];
Поскольку соответствие между входом и целью носит явно выраженный нелинейный характер, то будем использовать нейронную сеть с нелинейными сигмоидальными функциями активации. Выберем двухслойную нейронную сеть с прямой передачей сигнала; в первом слое используем 2 нейрона с функцией активации tansig, а во втором - 1 нейрон с функцией активации logsig. Для обучения сети применим функцию trainrp.
Формирование сети:
net = newff([0 5],[2 1],{'tansig','logsig'},'trainrp');
Обучение сети:
net.trainParam.epochs = 50; net.trainParam.show = 10;
net.trainParam.goal = 0.01;
[net,TR] = train(net,P,T);
TRAINRP, Epoch 0/50, MSE 0.46999/0.01, Gradient 0.140837/1e-006
TRAINRP, Epoch 9/50, MSE 0.00869996/0.01, Gradient 0.0321288/1e-006
TRAINRP, Performance goal met.
Выполним моделирование сети:
Y = sim(net,P)
Y =
Columns 1 through 4
0.0365 0.0340 0.0686 0.8333
Columns 5 through 6
0.9065 0.9079
Алгоритмы метода сопряженных градиентов
C356. TRAINCGF
Заданы следующие обучающие последовательности входов P и целей T:
P = [0 1 2 3 4 5]; T = [0 0 0 1 1 1];
Поскольку соответствие между входом и целью носит явно выраженный нелинейный характер, то будем использовать нейронную сеть с нелинейными сигмоидальными функциями активации. Выберем двухслойную нейронную сеть с прямой передачей сигнала; в первом слое используем 2 нейрона с функцией активации tansig, а во втором - 1 нейрон с функцией активации logsig. Для обучения сети применим функцию traincgf.
Формирование сети:
net = newff([0 5],[2 1],{'tansig','logsig'},'traincgf');
Обучение сети:
net.trainParam.epochs = 50; net.trainParam.show = 10;
net.trainParam.goal = 0.001;
[net,TR] = train(net,P,T); grid on
TRAINCGF-srchcha, Epoch 0/50, MSE 0.165524/0.001, Gradient 0.293981/1e-006
TRAINCGF-srchcha, Epoch 6/50, MSE 0.000964101/0.001, Gradient 0.00271925/1e-006
TRAINCGF, Performance goal met.
Выполним моделирование сети:
Y = sim(net,P)
Y =
Columns 1 through 4
0.0077 0.0121 0.0524 0.9579
Columns 5 through 6
0.9760 0.9780