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 використовуються для створення нейронної мережі?