Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДЗ по нейронным сетям.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.61 Mб
Скачать

Обучение в отсутствие шума

clear

clc

[alphabet, targets] = inout;

[R,Q] = size(alphabet);

[S2,Q] = size(targets);

S1 = 10;

net = newff(minmax(alphabet),[S1,S2],['logsig','logsig'],'traingdxx'); %traingdx

net

net.LW{2,1} = net.LW{2,1}*0.01;

net.b{2} = net.b{2}*0.01;

P = alphabet;

T = targets;

net.performFnc='sse';

net.trainParam.goal = 0.1;

net.trainParam.show = 40;

net.trainParam.epochs = 1500;

net.trainParam.mc = 0.95;

[net,tr] = train(net,P,T);

Рисунок 1 Сходимость процесса обучения

Обучение сети в отсутствии шума

TRAINGDX, Epoch 0/1500, SSE 255.871/0.1, Gradient 87.4476/1e-006

TRAINGDX, Epoch 40/1500, SSE 31.9768/0.1, Gradient 0.0286155/1e-006

TRAINGDX, Epoch 80/1500, SSE 31.9932/0.1, Gradient 0.00882557/1e-006

TRAINGDX, Epoch 120/1500, SSE 31.9942/0.1, Gradient 0.00763003/1e-006

TRAINGDX, Epoch 160/1500, SSE 31.9942/0.1, Gradient 0.0075437/1e-006

TRAINGDX, Epoch 200/1500, SSE 31.9942/0.1, Gradient 0.00764733/1e-006

TRAINGDX, Epoch 240/1500, SSE 31.9936/0.1, Gradient 0.0085967/1e-006

TRAINGDX, Epoch 280/1500, SSE 31.9833/0.1, Gradient 0.0259749/1e-006

TRAINGDX, Epoch 320/1500, SSE 16.8016/0.1, Gradient 2.72855/1e-006

TRAINGDX, Epoch 360/1500, SSE 13.3016/0.1, Gradient 1.10108/1e-006

TRAINGDX, Epoch 400/1500, SSE 6.44769/0.1, Gradient 0.628439/1e-006

TRAINGDX, Epoch 440/1500, SSE 2.11401/0.1, Gradient 0.254985/1e-006

TRAINGDX, Epoch 480/1500, SSE 1.87538/0.1, Gradient 0.17614/1e-006

TRAINGDX, Epoch 520/1500, SSE 1.3139/0.1, Gradient 0.0542365/1e-006

TRAINGDX, Epoch 560/1500, SSE 1.09298/0.1, Gradient 0.0132043/1e-006

TRAINGDX, Epoch 600/1500, SSE 0.560667/0.1, Gradient 0.630736/1e-006

TRAINGDX, Epoch 640/1500, SSE 0.143912/0.1, Gradient 0.0945784/1e-006

TRAINGDX, Epoch 655/1500, SSE 0.0988305/0.1, Gradient 0.0489187/1e-006

TRAINGDX, Performance goal met.

pause %press any key to train network with noise

Обучение в присутствии шума

Чтобы спроектировать нейронную сеть, не чувствительную к воздействию шума, обучим ее с применением двух идеальных и двух зашумленных копий векторов алфавита. Зашумленные векторы имеют шум со средним значением 0.1 и 0.2. Это обучает нейрон правильно распознавать зашумленные символы и в то же время хорошо распознавать идеальные векторы.

netn = net;

netn.trainParam.goal = 0.8;

netn.trainParam.epochs = 500;

T = [targets targets targets targets];

for pas = 1:10

P = [alphabet,alphabet,(alphabet+randn(R,Q)*0.1),(alphabet+randn(R,Q)*0.2)];

[netn,tr] = train(netn,P,T);

pause %press any key to train network with noise

end

pas=1

TRAINGDX, Epoch 0/500, SSE 1.31322/0.8, Gradient 5.13255/1e-006

TRAINGDX, Epoch 3/500, SSE 0.786427/0.8, Gradient 1.65158/1e-006

TRAINGDX, Performance goal met.

pas=2

TRAINGDX, Epoch 0/500, SSE 1.74855/0.8, Gradient 7.84458/1e-006

TRAINGDX, Epoch 31/500, SSE 0.787699/0.8, Gradient 1.10963/1e-006

TRAINGDX, Performance goal met.

pas=3

TRAINGDX, Epoch 0/500, SSE 1.63643/0.8, Gradient 4.17566/1e-006

TRAINGDX, Epoch 10/500, SSE 0.78531/0.8, Gradient 0.998797/1e-006

TRAINGDX, Performance goal met.

pas=4

TRAINGDX, Epoch 0/500, SSE 0.954826/0.8, Gradient 1.40901/1e-006

TRAINGDX, Epoch 10/500, SSE 0.790217/0.8, Gradient 0.888174/1e-006

TRAINGDX, Performance goal met.

pas=5

TRAINGDX, Epoch 0/500, SSE 1.47512/0.8, Gradient 7.4172/1e-006

TRAINGDX, Epoch 15/500, SSE 0.783199/0.8, Gradient 1.38714/1e-006

TRAINGDX, Performance goal met.

pas=6

TRAINGDX, Epoch 0/500, SSE 1.16497/0.8, Gradient 4.43303/1e-006

TRAINGDX, Epoch 5/500, SSE 0.791847/0.8, Gradient 1.02625/1e-006

TRAINGDX, Performance goal met.

pas=7

TRAINGDX, Epoch 0/500, SSE 1.57567/0.8, Gradient 2.66046/1e-006

TRAINGDX, Epoch 26/500, SSE 0.791558/0.8, Gradient 0.872456/1e-006

TRAINGDX, Performance goal met.

pas=8

TRAINGDX, Epoch 0/500, SSE 1.52145/0.8, Gradient 3.03757/1e-006

TRAINGDX, Epoch 28/500, SSE 0.793402/0.8, Gradient 0.876786/1e-006

TRAINGDX, Performance goal met.

pas=9

TRAINGDX, Epoch 0/500, SSE 2.115/0.8, Gradient 4.87005/1e-006

TRAINGDX, Epoch 8/500, SSE 0.791197/0.8, Gradient 0.938449/1e-006

TRAINGDX, Performance goal met.

pas=10

TRAINGDX, Epoch 0/500, SSE 0.894572/0.8, Gradient 1.3497/1e-006

TRAINGDX, Epoch 6/500, SSE 0.796984/0.8, Gradient 1.09763/1e-006

TRAINGDX, Performance goal met.