Основные возможности пакета Neural Networks из состава MATLAB. Аппроксимирующие свойства искусственных нейронных сетей. — КиберПедия 

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Основные возможности пакета Neural Networks из состава MATLAB. Аппроксимирующие свойства искусственных нейронных сетей.

2017-06-25 208
Основные возможности пакета Neural Networks из состава MATLAB. Аппроксимирующие свойства искусственных нейронных сетей. 0.00 из 5.00 0 оценок
Заказать работу

Кафедра №106 МАИ

Группа 01-214 Студент: Шубин В.С.

 

Информатика 2

Лабораторная работа №4

Основные возможности пакета Neural Networks из состава MATLAB. Аппроксимирующие свойства искусственных нейронных сетей.

Вариант №18

1. Построить график функции при x[-2,2]:

 

Должны присутствовать сетка, обозначения по осям, заголовок, «легенда».

M - файл

function y=fun(x)

if x<=0

y=(1+x)/((1+x^2)^(3/2));

elseif x>=1

y=abs(2-x)^(1/3);

else

y=-x+2*exp(-2*x);

end

 

k=1;

for x=-2:0.1:2;

y=fun(x);

y1(k)=y;

x1(k)=x;

k=k+1;

end

plot(x1,y1),grid;

ylabel('y');

xlabel('x');

legend('fun');

title('Plot of')

print -dtiff fig3.tif

 

 

2. Построить нейросеть прямого распространения с одним скрытым слоем, обучаемую представлению функции y=f(x) из п.1 спомощью метода обратного распространения ошибки. Число нейронов в скрытом слое – 10, для обучения сети использовать метод Левенберга-Маркварда, число эпох в процессе обучения – 500, задачник(обучающий набор) строится для всей области определения функции y=f(x) с шагом Δх=0,2

k=1;

for x=-2:0.2:2

y=fun(x)

x2(k)=x;

y2(k)=y;

k=k+1;

end

P=x2;

T=y2;

net=newff([-2 2],[10 1],{'tansig' 'purelin'});

net.trainFcn='trainlm'

net.trainParam.epochs=500;

net=train(net,P,T);

Y=sim(net,P);

plot(P,T,P,Y,'o');

grid on;

xlabel('x');

ylabel('y');

legend('fun4_1','net');

title('function for job 4, var 18 task 2');

print -dtiff fig4_12net.tif

 

3. Проверить обучающие свойства нейросети, полученной в п.2, путем расчета с помощью обученной сети последовательности значений функций y=f(x) для аргументов, не содержащихся в задачнике (x0+0.1, x1+0.1,…)

P = x1;

T = y1;

net = newff([-2 2],[10 1],{'tansig' 'purelin'});

net.trainFcn = 'trainlm';

net.trainParam.epochs = 500;

net = train(net,P,T);

Y = sim(net,P);

plot(P,T,P,Y,'o');

grid on;

hold on;

PT=-2:0.2:2;

YT = sim(net,PT);

plot(PT,YT,'*');

grid on;

hold on;

legend('fun','net','test');

title('Plot of function for Job 4, Variant 18, Task 3');

print -dtiff fig4-3.jpeg

 

 

4. Исследовать влияние составных элементов процесса обучения искусственной нейронной сети на скорость обучения и точность получаемого представления функции число эпох(100,500,1000); размер задачника(Δх=0.5,0.2,0.1); метод обучения(tringd-градиентный спуск, trincdf-алгоритм Флетчера-Ривса, trainlm-алгоритм Левенберга-Марквардта). Влияние числа эпох смотреть при Δх=0.2, алгоритм обучения trainlm; влияние размера задачника – для числа эпох 50, алгоритм обучения; влияние метода обучения – для числа эпох 50, при Δх=0.2.

1). Влияние числа эпох:

Число эпох равно 100

net=newff([-2,2],[10 1],{'tansig' 'purelin'}); net.trainFcn='trainlm';

net.trainParam.epochs=100;

net=train(net,P,T);

Y=sim(net,P);

plot(P,T,P,Y,'o'), grid

xlabel('x');

ylabel('y');

legend('net 100')

print -dtiff fig4_12net100.tif

 

 

Число эпох равно 500

net=newff([-2 2],[10 1],{'tansig' 'purelin'});

net.trainFcn='trainlm'

net.trainParam.epochs=500;

net=train(net,P,T);

Y=sim(net,P);

plot(P,T,P,Y,'o');

grid on;

xlabel('x');

ylabel('y');

legend('net 500');

print -dtiff fig4_12net500.tif

 

Число эпох равно 1000

 

net=newff([-2,2],[10 1],{'tansig' 'purelin'});

net.trainFcn='trainlm';

net.trainParam.epochs=1000;

net=train(net,P,T);

Y=sim(net,P);

plot(P,T,P,Y,'*'), grid

xlabel('x');

ylabel('y');

legend('net 1000')

print -dtiff fig4_12net1000.tif

 

 

Влияние размера задачника

net 0.1 - DX=0.1

net 0.2 - DX=0.2

net 0.5 - DX=0.5

 

k=1;

for x=-2:0.5:2;

y=fun(x);

x3(k)=x;

y3(k)=y;

k=k+1;

end

P1=x1;

P2=x2;

P3=x3;

T1=y1;

T2=y2;

T3=y3;

net.trainFcn='trainlm';

net.trainParam.epochs=500;

net=train(net,P1,T1);

Y1=sim(net,P1);

net=train(net,P2,T2);

Y2=sim(net,P2);

net=train(net,P3,T3);

Y3=sim(net,P3);

plot(x1,y1,P1,Y1,'o',P2,Y2,'x',P3,Y3,'*'),grid

xlabel('x');

ylabel('y');

legend('func4_12','net 0.1','net 0.2','net 0.5')

title('function for job 4 var 18 task 4(2)');

print -dtiff fig4_12task4_2.tif

 

 

 

Влияние метода обучения

Net one – один скрытый слой

Net two – два скрытых слоя

net=newff([-2,2],[5 3 1],{'tansig' 'tansig' 'purelin'});

net.trainFcn='trainlm';

net.trainParam.epochs=500;

net=train(net,P2,T2);

Y=sim(net,P2);

plot(x1,y1,P2,Y2,'o',P2,Y,'x'),grid

xlabel('x');

ylabel('y');

title('function for job 4 var 18 task 5(3)');

legend('func4_12','net one','net two')

print -dtiff fig4_12task5_3.tif

 

3). Влияние числа нейронов в скрытом слое:

Net 1 – один нейрон

Net 2 – два нейрона

Net 5 – пять нейронов

Net 20 – двадцать нейронов

 

net=newff([-2,2],[1 1],{'tansig' 'purelin'});

net.trainFcn='trainlm';

net.trainParam.epochs=500;

net=train(net,P2,T2);

Y51=sim(net,P2);

net=newff([-2,2],[2 1],{'tansig' 'purelin'});

net.trainFcn='trainlm';

net.trainParam.epochs=500;

net=train(net,P2,T2);

Y52=sim(net,P2);

net=newff([-2,2],[5 1],{'tansig' 'purelin'});

net.trainFcn='trainlm';

net.trainParam.epochs=500;

net=train(net,P2,T2);

Y55=sim(net,P2);

net=newff([-2,2],[20 1],{'tansig' 'purelin'});

net.trainFcn='trainlm';

net.trainParam.epochs=500;

net=train(net,P2,T2);

Y520=sim(net,P2);

plot(x1,y1,P2,Y51,'o',P2,Y52,'x',P2,Y55,'*',P2,Y520,'^'),grid

xlabel('x');

ylabel('y');

title('function for job 4 var 18 task 5(2)');

legend('fun4_12','net 1','net 2','net 5','net 20');

print -dtiff fig4_12task5_2.tif

 

 

Кафедра №106 МАИ

Группа 01-214 Студент: Шубин В.С.

 

Информатика 2

Лабораторная работа №4

Основные возможности пакета Neural Networks из состава MATLAB. Аппроксимирующие свойства искусственных нейронных сетей.

Вариант №18

1. Построить график функции при x[-2,2]:

 

Должны присутствовать сетка, обозначения по осям, заголовок, «легенда».

M - файл

function y=fun(x)

if x<=0

y=(1+x)/((1+x^2)^(3/2));

elseif x>=1

y=abs(2-x)^(1/3);

else

y=-x+2*exp(-2*x);

end

 

k=1;

for x=-2:0.1:2;

y=fun(x);

y1(k)=y;

x1(k)=x;

k=k+1;

end

plot(x1,y1),grid;

ylabel('y');

xlabel('x');

legend('fun');

title('Plot of')

print -dtiff fig3.tif

 

 

2. Построить нейросеть прямого распространения с одним скрытым слоем, обучаемую представлению функции y=f(x) из п.1 спомощью метода обратного распространения ошибки. Число нейронов в скрытом слое – 10, для обучения сети использовать метод Левенберга-Маркварда, число эпох в процессе обучения – 500, задачник(обучающий набор) строится для всей области определения функции y=f(x) с шагом Δх=0,2

k=1;

for x=-2:0.2:2

y=fun(x)

x2(k)=x;

y2(k)=y;

k=k+1;

end

P=x2;

T=y2;

net=newff([-2 2],[10 1],{'tansig' 'purelin'});

net.trainFcn='trainlm'

net.trainParam.epochs=500;

net=train(net,P,T);

Y=sim(net,P);

plot(P,T,P,Y,'o');

grid on;

xlabel('x');

ylabel('y');

legend('fun4_1','net');

title('function for job 4, var 18 task 2');

print -dtiff fig4_12net.tif

 

3. Проверить обучающие свойства нейросети, полученной в п.2, путем расчета с помощью обученной сети последовательности значений функций y=f(x) для аргументов, не содержащихся в задачнике (x0+0.1, x1+0.1,…)

P = x1;

T = y1;

net = newff([-2 2],[10 1],{'tansig' 'purelin'});

net.trainFcn = 'trainlm';

net.trainParam.epochs = 500;

net = train(net,P,T);

Y = sim(net,P);

plot(P,T,P,Y,'o');

grid on;

hold on;

PT=-2:0.2:2;

YT = sim(net,PT);

plot(PT,YT,'*');

grid on;

hold on;

legend('fun','net','test');

title('Plot of function for Job 4, Variant 18, Task 3');

print -dtiff fig4-3.jpeg

 

 

4. Исследовать влияние составных элементов процесса обучения искусственной нейронной сети на скорость обучения и точность получаемого представления функции число эпох(100,500,1000); размер задачника(Δх=0.5,0.2,0.1); метод обучения(tringd-градиентный спуск, trincdf-алгоритм Флетчера-Ривса, trainlm-алгоритм Левенберга-Марквардта). Влияние числа эпох смотреть при Δх=0.2, алгоритм обучения trainlm; влияние размера задачника – для числа эпох 50, алгоритм обучения; влияние метода обучения – для числа эпох 50, при Δх=0.2.

1). Влияние числа эпох:

Число эпох равно 100

net=newff([-2,2],[10 1],{'tansig' 'purelin'}); net.trainFcn='trainlm';

net.trainParam.epochs=100;

net=train(net,P,T);

Y=sim(net,P);

plot(P,T,P,Y,'o'), grid

xlabel('x');

ylabel('y');

legend('net 100')

print -dtiff fig4_12net100.tif

 

 

Число эпох равно 500

net=newff([-2 2],[10 1],{'tansig' 'purelin'});

net.trainFcn='trainlm'

net.trainParam.epochs=500;

net=train(net,P,T);

Y=sim(net,P);

plot(P,T,P,Y,'o');

grid on;

xlabel('x');

ylabel('y');

legend('net 500');

print -dtiff fig4_12net500.tif

 

Число эпох равно 1000

 

net=newff([-2,2],[10 1],{'tansig' 'purelin'});

net.trainFcn='trainlm';

net.trainParam.epochs=1000;

net=train(net,P,T);

Y=sim(net,P);

plot(P,T,P,Y,'*'), grid

xlabel('x');

ylabel('y');

legend('net 1000')

print -dtiff fig4_12net1000.tif

 

 

Влияние размера задачника

net 0.1 - DX=0.1

net 0.2 - DX=0.2

net 0.5 - DX=0.5

 

k=1;

for x=-2:0.5:2;

y=fun(x);

x3(k)=x;

y3(k)=y;

k=k+1;

end

P1=x1;

P2=x2;

P3=x3;

T1=y1;

T2=y2;

T3=y3;

net.trainFcn='trainlm';

net.trainParam.epochs=500;

net=train(net,P1,T1);

Y1=sim(net,P1);

net=train(net,P2,T2);

Y2=sim(net,P2);

net=train(net,P3,T3);

Y3=sim(net,P3);

plot(x1,y1,P1,Y1,'o',P2,Y2,'x',P3,Y3,'*'),grid

xlabel('x');

ylabel('y');

legend('func4_12','net 0.1','net 0.2','net 0.5')

title('function for job 4 var 18 task 4(2)');

print -dtiff fig4_12task4_2.tif

 

 

 

Влияние метода обучения


Поделиться с друзьями:

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.089 с.