Notebook "нейронные сети" Глава 2
Вид материала | Документы |
С401. learnhd С404. srchgol С405. srchbre С406. srchhyb С408. srchcha |
- Программа дисциплины «Теория нечетких множеств и нейронные сети» Для специальности, 567.45kb.
- Самостоятельная работа по прогнозированию экономических процессов на тему: нейронные, 148.65kb.
- Лекция 2 Лекция «Нейронные сети» Начнем с определения: Искусственные нейронные сети, 131.57kb.
- "Нейроновые сети ", 374.46kb.
- Нейронные сети как механизм представления лексико-семантической информации, 376.06kb.
- Программа, 39.37kb.
- Нейронные сети: алгоритм обратного распространения, 336.15kb.
- Предупреждение. Спасение. Помощь, 3059.76kb.
- Нейрокомпьютерная обработка сигналов и изображений, 184.71kb.
- Нейронные сети: основы теории / А. И. Галушкин. М. Горячая линия Телеком, 2010., 585.42kb.
С401. LEARNHD
Определим сеть со случайными входом P, выходом A и весами W для слоя с 2-элементным входом и тремя нейронами; зададим также параметры скорости настройки lr и затухание dr.
p = rand(2,1); a = rand(3,1); w = rand(3,2);
lp.lr = 0.5; lp.dr = 0.05;
Вызов функции learnhd можно организовать следующим образом, поскольку не все входные аргументы требуются для вызова этой функции:
dW = learnhd(w,p,[],[],a,[],[],[],[],[],lp,[])
dW =
0.0736 0.0618
0.0317 0.0187
0.1174 0.0576
Функции одномерного поиска
С404. SRCHGOL
Заданы векторы входа p и целей t, требуется сформировать нейронную сеть, выходы которой близки к заданным целям:
p = [0 1 2 3 4 5]; t = [0 0 0 1 1 1];
Выберем архитектуру двухслойной сети с прямой передачей сигнала; зададим диапазон входов от 0 до 10, первый слой имеет 2 нейрона с функцией активации tansig, второй – 1 нейрон с функцией активации logsig. Используем функции обучения traincgf и поиска одномерного экстремума srchgol.
net = newff([0 10],[2 1],{'tansig','logsig'},'traincgf');
net.trainParam.searchFcn = 'srchgol';
net.trainParam.epochs = 50; net.trainParam.show = 10;
net.trainParam.goal = 0.0001;
net = train(net,p,t); grid on
a = sim(net,p)
TRAINCGF-srchgol, Epoch 0/50, MSE 0.486862/0.0001, Gradient 0.0813759/1e-006
TRAINCGF-srchgol, Epoch 9/50, MSE 1.90795e-010/0.0001, Gradient 1.77906e-008/1e-006
TRAINCGF, Performance goal met.
a =
Columns 1 through 4
0.0000 0.0000 0.0000 1.0000
Columns 5 through 6
1.0000 1.0000
С405. SRCHBRE
Заданы векторы входа p и целей t, требуется сформировать нейронную сеть, выходы которой близки к заданным целям:
p = [0 1 2 3 4 5]; t = [0 0 0 1 1 1];
Выберем архитектуру двухслойной сети с прямой передачей сигнала; зададим диапазон входов от 0 до 10, первый слой имеет 2 нейрона с функцией активации tansig, второй – 1 нейрон с функцией активации logsig. Используем функции обучения traincgf и поиска одномерного экстремума srchbre.
net = newff([0 10],[2 1],{'tansig','logsig'},'traincgf');
net.trainParam.searchFcn = 'srchbre';
net.trainParam.epochs = 50; net.trainParam.show = 10;
net.trainParam.goal = 0.0001;
net = train(net,p,t); grid on
a = sim(net,p)
TRAINCGF-srchbre, Epoch 0/50, MSE 0.464364/0.0001, Gradient 0.0566042/1e-006
TRAINCGF-srchbre, Epoch 10/50, MSE 0.000607763/0.0001, Gradient 0.00140522/1e-006
TRAINCGF-srchbre, Epoch 15/50, MSE 7.54063e-005/0.0001, Gradient 0.000251973/1e-006
TRAINCGF, Performance goal met.
a =
Columns 1 through 4
0.0023 0.0027 0.0156 0.9861
Columns 5 through 6
0.9986 0.9989
С406. SRCHHYB
Заданы векторы входа p и целей t, требуется сформировать нейронную сеть, выходы которой близки к заданным целям:
p = [0 1 2 3 4 5]; t = [0 0 0 1 1 1];
Выберем архитектуру двухслойной сети с прямой передачей сигнала; зададим диапазон входов от 0 до 10, первый слой имеет 2 нейрона с функцией активации tansig, второй – 1 нейрон с функцией активации logsig. Используем функции обучения traincgf и поиска одномерного экстремума srchhyb.
net = newff([0 10],[2 1],{'tansig','logsig'},'traincgf');
net.trainParam.searchFcn = 'srchhyb';
net.trainParam.epochs = 50; net.trainParam.show = 10;
net.trainParam.goal = 0.0001;
net = train(net,p,t); grid on
a = sim(net,p)
TRAINCGF-srchhyb, Epoch 0/50, MSE 0.297493/0.0001, Gradient 0.211072/1e-006
TRAINCGF-srchhyb, Epoch 7/50, MSE 6.47144e-016/0.0001, Gradient 3.86955e-014/1e-006
TRAINCGF, Performance goal met.
a =
Columns 1 through 4
0.0000 0.0000 0.0000 1.0000
Columns 5 through 6
1.0000 1.0000
С408. SRCHCHA
Заданы векторы входа p и целей t, требуется сформировать нейронную сеть, выходы которой близки к заданным целям:
p = [0 1 2 3 4 5]; t = [0 0 0 1 1 1];
Выберем архитектуру двухслойной сети с прямой передачей сигнала; зададим диапазон входов от 0 до 10, первый слой имеет 2 нейрона с функцией активации tansig, второй – 1 нейрон с функцией активации logsig. Используем функции обучения traincgf и поиска одномерного экстремума srchcha.
net = newff([0 10],[2 1],{'tansig','logsig'},'traincgf');
net.trainParam.searchFcn = 'srchcha';
net.trainParam.epochs = 50; net.trainParam.show = 10;
net.trainParam.goal = 0.0001;
net = train(net,p,t); grid on
a = sim(net,p)
TRAINCGF-srchcha, Epoch 0/50, MSE 0.466016/0.0001, Gradient 0.054143/1e-006
TRAINCGF-srchcha, Epoch 9/50, MSE 8.2629e-005/0.0001, Gradient 0.000961218/1e-006
TRAINCGF, Performance goal met.
a =
Columns 1 through 4
0.0084 0.0090 0.0185 0.9996
Columns 5 through 6
1.0000 1.0000