Материал: Лабораторна робота №11

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

net=neweIm(PR, [SI S2...SNI], {TFI TF2...TFN1}, BTF, BLF, PF) – функція

створення мережі

Елмана. Аргументи такі ж, як і у попередньої функції.

 

 

* newff – створення однонаправленої мережі

 

 

net=newff(PR, [SI S2...SNI], {TFI TF2...TFNI}, BTF, BLF, PF) – функція

створення «класичної»

багатошарової нейронної мережі з навчанням по методу зворотного розповсюдження помилки.

* newfftd – створення однонаправленої мережі з вхідними затримками

 

 

net=newfftd(PR, ID, [SI S2...SNI], {TFI TF2...TFNI}, BTF, BLF,PF) – те

ж ,

що і попередня

функція, але з наявністю затримок по входах. Додатковий аргумент ID – вектор вхідних затримок.

2 Методичні вказівки

Завдання. У середовищі Matlab необхідно побудувати і навчити нейронну мережу д апроксимації табличний заданої функції

yi=f(xi)=[2.09 2.05 2.19 2.18 2.17 2.27 2.58 2.73 2.82 3.04 3.03 3.45 3.62 3.85 4.19 4.45 489 5.06 5.63 5.91], i=1,20.

У математичному середовищі Matlab створюємо новий M-File, в якому записуємо код програми створення і навчання нейронної мережі з використанням вбудованих функцій пакету мережNeural Netwworks Toolbox.

Для вирішення скористаємося функцією newff(.) – створення «класичною» багатошаровою НС з

навчанням по методу зворотного розповсюдження помилки.

 

 

 

 

 

P = zeros(1,20);

 

 

 

 

 

 

 

 

 

 

for i = 1:20 %створення масиву

 

 

 

 

 

 

 

P(i)= i*0.1; %вхідні дані (аргумент)

 

 

 

 

 

 

end

 

 

 

 

 

 

 

 

 

 

 

 

T=[2.09

2.05

2.19

2.18

2.17

2.27

2.58

2.73

2.82

3.04

3.03

3.45

3.62

3.85 4.19 4.45 489 5.06 5.63 5.91]; %вхідні дані (значення функції)

 

net = newff([-1 2.09],[5 1],{'tansig'

'purelin'});

%створення

нейронній мережі

 

 

 

 

 

 

 

 

 

 

net.trainParam.epochs = 100; %задання числа епох навчання net=train(net,P,T); %навчання мережі

у = sim(net,P); %опитування навченої мережі figure (1);

hold on; xlabel ('P'); ylabel ('T');

plot(P,T,P,y,'o'),grid; %побудова графіка початкових даних і функції,

сформованою нейронною мережею

Результат роботи нейронної мережі:

Варіанти

Варіант

 

 

 

Таблично задана функція

 

 

 

1

1.1

1.2

1.3

1.4

1.5

1.6

1.7

1.8

1.9

2.0

2

4.51

5.04

5.59

6.16

6.75

7.36

7.99

8.64

9.31

10.00

3

4.62

4.82

5.02

5.22

2.42

5.62

5.82

6.02

6.22

6.42

4

8.08

9.23

10.48

11.83

13.28

14.83

16.48

18.23

20.08

22.03

5

1.56

1.73

1.91

2.10

2.82

3.02

3.22

3.42

3.62

3.82

6

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

7

0.31

0.64

0.69

1.36

1.75

2.16

2.59

3.04

3.51

4.00

8

2.62

2.82

3.02

3.22

3.42

3.62

3.82

4.02

4.22

4.42

9

2.08

2.23

2.48

2.83

3.28

3.83

4.48

5.23

6.08

7.03

10

1.00

0.22

0.34

0.47

0.61

0.75

0.90

1.06

0.22

1.39

11

4.51

5.04

5.59

6.16

6.75

7.36

7.99

8.64

9.31

10.00

12

0.6

0.8

1.0

1.2

1.4

1.8

2.0

2.2

2.4

2.6

13

8.08

9.23

10.48

11.83

13.28

14.83

16.48

18.23

20.08

22.03

14

2.08

2.23

2.48

2.83

3.28

3.83

4.48

5.23

6.08

7.03

15

2.1

2.2

2.3

2.4

2.5

2.6

2.7

2.8

2.9

3.0

16

1.56

1.73

1.91

2.10

2.82

3.02

3.22

3.42

3.62

3.82

3 Контрольні питання

1.Дайте визначення «нейрона».

2.Що Ви розумієте під навчанням нейронної мережі?

3.Що таке «повчальна множина»?

4.Поясните сенс алгоритму навчання з вчителем.

5.Що таке апроксимація функції?

6.Які функції в середовищі Маtlab використовуються для створення нейронної мережі?