МЕТОДИ ТА СИСТЕМИ ШТУЧНОГО...
TRANSCRIPT
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД
«УКРАЇНСЬКИЙ ДЕРЖАВНИЙ ХІМІКО-ТЕХНОЛОГІЧНИЙ
УНІВЕРСИТЕТ»
ІНДИВІДУАЛЬНІ ЗАВДАННЯ ДО ВИКОНАННЯ ЛАБОРАТОРНИХ РОБІТ
З ДИСЦИПЛІНИ
«МЕТОДИ ТА СИСТЕМИ ШТУЧНОГО ІНТЕЛЕКТУ»
Лабораторна робота №2
для студентів освітньо-кваліфікаційного рівня
магістр напрям підготовки 6.050101 «Комп’ютерні науки»
спеціальність
«Інформаційні управляючі системи та технології»
денної форми навчання
Дніпропетровськ УДХТУ 2016
2
Лабораторна робота №2
Персептрони та ондошарові персептронні нейронні мережі
Мета – вивчення структурних схем моделі нейрона та архітектури персептронної
одношарової нейронної мережі; побудова та дослідження моделей персептронних нейронних
мереж у середовищі Matlab.
I. Теоретичні відомості
Елементарною коміркою нейронної мережі (НМ) є нейрон. Струкутра нейрона з
одним скалярним входом представлена на рис. 1,а. Скалярний вхідний сигнал р множиться
на на скалярний ваговий коефіцієнт w, та результат вагового входу w*p є аргументом функції
активації нейрона (ФА)f, яка породжує скалярний вихід а. Нейрон (рис. 1,б) доповнений
скалярним зміщенням b. Зміщення сумується з ваговим w*p та призводить до зсуву
аргументу функції ативації f на величину b.
Рис. 1,а Рис. 1,б
Рівняння нейрону зі зміщенням має вид:
a=f(w*p+b*1) (1)
Таким чином аргументом ФА є:
1**1
bpwp
bwn
(2)
Нейрон з одним вектором входу має вид:
Рис. 2
3
Головний принцип роботи НС: настроїти параметри нейрону таким чином, щоб
поведінка мережі відповідала деякій бажаній поведінці. Якщо регулювати вагові коефіцієнти
та параметри зміщення, то можна навчити мережу виконувати конкретну роботу та досягти
бажаного результату.
Структура нейрону на рис. 2 є розвернутою. В мережах з більшою кількістю нейронів
взагалі використовується схема нейрону:
Рис. 3
Структурна схема (ри.3) називається шаром мережі. Шар характеризується матрицею
вагових синаптичних коеціцієнтів W, зміщенням b, операціями множення W*p, сумування та
функцією активації f.
Функції активації
ФА (передаточні функції) нейрону можуть мати різний вид (табл. 1).
Таблиця 1- Деякі функції активації у системі Matlab
П/н
№
Навза функції
Навза функції у
середовищі Matlab
Графік
1) Одинична ФА з
жорсткими
обмеженнями
hardlim(n),
hardlims(n)
2) Лінійна ФА
purelin(n)
3) Лінійна ФА
satlin(n)
4
4) Симетрична насичена
лінійна ФА
satlins(n)
5) Додатна лінійна ФА
poslin(n)
6) Логістична ФА
(сигмоїд,
симоїдальна)
logsig(n)
7) Радіальна базисна ФА
radbas(n)
8) ФА с трикутною
основою
tribas(n)
9) Сигмоїдальна
гіперболічна ФА
(гіперболічний
тангенс)
tansig(n)
Персептроном називається найпростіша нейронна мережа, синаптичні ваги та
зміщення якого можуть бути налаштовані таким чином, щоб розв’язати задачу класифікації
вхідних векторів. Задачі класифікації дозволяють роз’язувати складні проблеми аналізу
комутативних з’єднань, розпізнавання образів та інших задач класифікації з високою
швидкодією та гарантією правильного результату.
Архітектура персептрона
Нейрон, який використовується умоделі нейрона, має ступеневу функцію активації
hardlimз жорсткими обмеженнями:
5
Рис. 4
ФА з жорсткими обмеженнями дає можливість персептрону здібність класифікувати
вектори входу, розділяючи при цьому простір входів на дві області (рис. 5).
Рис. 5
Прямою Lпростір входів ділиться на дві півплощини. Ця пряма задається рівнянням:
0 bpWT
(3)
Якщо змінювати вагові коефіцієнти та зміщення, то пряма L буде змінювати своє
розташування у просторі.
Модель персептрона
Для формування моделі одношарового персептрона у системі Matlab застосовують
функцію newp:
net=newp(PR,S)%створення пересептрона (4)
де PR – масив мінімальних та максимальних значень дляR елементів входу розміромRx2;
S– число нейронів у шарі.
За замовчуванням ваги та зміщення у системі Matlab дорівнюють 0. Для змінення їх
необхідно застосувати оператори, наприклад:
net.IW{1, 1} = [-1 1]%ваги w11=-1; w12=1
net.b{1}= [1]%b=1 (5)
Після проведення нескладних матричних операцій лінія, що розділяє елементи має
вигляд та відповідає прямій на рис. 5.
-p1+p2 +1=0
6
Визначимо реакцію мережі на вхідні вектори p1та p2, що розташовані по різні боки
розділової прямої:
P1=[1;1];
a1=sim(net, p1);%моделювання мережі net(4)
з заданими значеннями (5) для вектору p1
a1 =
1
P2=[1;-1];
a1=sim(net, p2); );%моделювання мережі net (4)
з заданими значеннями (5) для вектору p2
a1 =
0
II. Індивідуальні завдання
Варіант №1
1) Побудувати у середовищі Matlab за допомогою функції plot одиничну функцію
активації на проміжку 3...3 .
2) Для заданого варіанту (табл. 2) розробити структуру персептронної нейронної мережі.
Розробити алгоритм побудови та моделювання пересептроної нейронної мережі.
Реалізувати у системі Matlab. Вказати правильно параметри НМ (вагові коефіцієнти
та зміщення згідно з умови задачі). Перевірити правильність роботи мережі для
векторів (не менше 5). Побудувати графік у системі Matlab (аналогічний рис. 5для
одного нейрона).
Варіант№2
1) Побудувати у середовищі Matlab за допомогою функції plot лінійну purelin(n)
функцію активації на проміжку 1...1 .
2) Для заданого варіанту (табл. 2) розробити структуру персептронної нейронної мережі.
Розробити алгоритм побудови та моделювання пересептроної нейронної мережі.
Реалізувати у системі Matlab. Вказати правильно параметри НМ (вагові коефіцієнти
та зміщення згідно з умови задачі). Перевірити правильність роботи мережі для
векторів (не менше 5). Побудувати графік у системі Matlab (аналогічний рис. 5для
одного нейрона).
Варіант№3
1) Побудувати у середовищі Matlab за допомогою функції plot лінійну satlin(n)
функцію активації на проміжку 1...1 .
2) Для заданого варіанту (табл. 2) розробити структуру персептронної нейронної мережі.
Розробити алгоритм побудови та моделювання пересептроної нейронної мережі.
Реалізувати у системі Matlab. Вказати правильно параметри НМ (вагові коефіцієнти
та зміщення згідно з умови задачі). Перевірити правильність роботи мережі для
векторів (не менше 5). Побудувати графік у системі Matlab (аналогічний рис. 5для
одного нейрона).
Варіант№4 1) Побудувати у середовищі Matlab за допомогою функції plot симетричну насичену
лінійну функцію активації на проміжку 3...2 .
7
2) Для заданого варіанту (табл. 2) розробити структуру персептронної нейронної мережі.
Розробити алгоритм побудови та моделювання пересептроної нейронної мережі.
Реалізувати у системі Matlab. Вказати правильно параметри НМ (вагові коефіцієнти
та зміщення згідно з умови задачі). Перевірити правильність роботи мережі для
векторів (не менше 5). Побудувати графік у системі Matlab (аналогічний рис. 5для
одного нейрона).
Варіант№5 1) Побудувати у середовищі Matlab за допомогою функції plot додатну лінійну функцію
активації на проміжку 9...9 .
2) Для заданого варіанту (табл. 2) розробити структуру персептронної нейронної мережі.
Розробити алгоритм побудови та моделювання пересептроної нейронної мережі.
Реалізувати у системі Matlab. Вказати правильно параметри НМ (вагові коефіцієнти
та зміщення згідно з умови задачі). Перевірити правильність роботи мережі для
векторів (не менше 5). Побудувати графік у системі Matlab (аналогічний рис. 5для
одного нейрона).
Варіант№6 1) Побудувати у середовищі Matlab за допомогою функції plot логістичну функцію
активації на проміжку 7...7 .
2) Для заданого варіанту (табл. 2) розробити структуру персептронної нейронної мережі.
Розробити алгоритм побудови та моделювання пересептроної нейронної мережі.
Реалізувати у системі Matlab. Вказати правильно параметри НМ (вагові коефіцієнти
та зміщення згідно з умови задачі). Перевірити правильність роботи мережі для
векторів (не менше 5). Побудувати графік у системі Matlab (аналогічний рис. 5для
одного нейрона).
Варіант№7 1) Побудувати у середовищі Matlab за допомогою функції plot радіальну функцію
активації на проміжку 5...5 .
2) Для заданого варіанту (табл. 2) розробити структуру персептронної нейронної мережі.
Розробити алгоритм побудови та моделювання пересептроної нейронної мережі.
Реалізувати у системі Matlab. Вказати правильно параметри НМ (вагові коефіцієнти
та зміщення згідно з умови задачі). Перевірити правильність роботи мережі для
векторів (не менше 5). Побудувати графік у системі Matlab (аналогічний рис. 5для
одного нейрона).
Варіант№8 1) Побудувати у середовищі Matlab за допомогою функції plot функцію активації з
трикутною основою на проміжку 8...8 .
2) Для заданого варіанту (табл. 2) розробити структуру персептронної нейронної мережі.
Розробити алгоритм побудови та моделювання пересептроної нейронної мережі.
Реалізувати у системі Matlab. Вказати правильно параметри НМ (вагові коефіцієнти
та зміщення згідно з умови задачі). Перевірити правильність роботи мережі для
векторів (не менше 5). Побудувати графік у системі Matlab (аналогічний рис. 5для
одного нейрона).
Варіант№9 1) Побудувати у середовищі Matlab за допомогою функції plotсигмоїдальну гіперболічну
функцію активації на проміжку 6...6 .
2) Для заданого варіанту (табл. 2) розробити структуру персептронної нейронної мережі.
Розробити алгоритм побудови та моделювання пересептроної нейронної мережі.
8
Реалізувати у системі Matlab. Вказати правильно параметри НМ (вагові коефіцієнти
та зміщення згідно з умови задачі). Перевірити правильність роботи мережі для
векторів (не менше 5). Побудувати графік у системі Matlab (аналогічний рис. 5для
одного нейрона).
Варіант№10 1) Побудувати у середовищі Matlab за допомогою функції plot сигмоїдальну
гіперболічну функцію активації на проміжку 10...10 .
2) Для заданого варіанту (табл. 2) розробити структуру персептронної нейронної мережі.
Розробити алгоритм побудови та моделювання пересептроної нейронної мережі.
Реалізувати у системі Matlab. Вказати правильно параметри НМ (вагові коефіцієнти
та зміщення згідно з умови задачі). Перевірити правильність роботи мережі для
векторів (не менше 5). Побудувати графік у системі Matlab (аналогічний рис. 5 для
одного нейрона).
Таблиця 2 – Варіанти індивідуальних завдань
Варіант№ Кількість
входів
Діапазони значень входів Кількість
нейронів у
шарі
Розділова пряма
для кожного
нейрона
1) 2 7...7 2 012 21 pp
2) 2 8...8 3 012 21 pp
3) 2 3...3 4 0221 pp
4) 2 1...1 2 0121 pp
5) 2 3...2 3 012 21 pp
6) 2 7...7 2 0221 pp
7) 2 5...5 2 0321 pp
8) 2 8...8 3 0321 pp
9) 2 6...6 4 0122 21 pp
10) 2 10...10 3 0123 21 pp
III. Хід виконання лабораторної роботи
1. Вивчити основні стратегіїрозв’язання задач штучного інтелекту згідно з конспектом
лекційта прикладо з лабораторноъ роботи.
2. Ознайомитись з поняттями моделей представлення знань.
3. Класифікації моделей представлення знань.
4. М’які моделі представлення знань: нейронні мережі.
5. Оформити звіт з проведеної роботи.
IV. Звіт повинен містити
1. Титульний аркуш.
2. Постановку задачі.
3. Розв’язання задачі (граф станів, опис моделі предметної області тощо).
4. Лістинг коду програми розв’язку.
5. Аналіз отриманих результатів.
6. Висновки.
9
V. Контрольні запитання
1. Поняття: дані, інформація, інтелект.
2. Моделі представлення знань.
3. Різноманітна класифікація моделей представлення знань.
4. Класичні моделі представлення знань.
5. М’які моделі представлення знань: нейронні мережі.
6. Визначення штучної нейронної мережі.
7. Види нейронних мереж.
8. Біологічний нейрон.
9. Формальний нейрон Маккалока та Пітса.
10. Поняття: дендрит, аксон, синапс.
11. Персептрон.
12. Архітектура персептрона.
13. Питання за лекційним курсом.
10
Лабораторна робота №2*
«Апроксимація функції однієї змінної з використанням нейронних мереж»
Мета роботи використати найпростіший тип нейронної мережі для
визначення коефіцієнтів лінійної моделі системи, якщо відомі
експериментальні дані. Порівняти отримані результати за допомогою нейронної
мережі з результатами, що дає метод найменших квадратів.
І. Теоретичні відомості
Нехай аналітичне рівняння прямої задається:
bxay (
1)
Експериментальні дані до завдання задаються у таблиці 1.
Тоді, як відомо, при використанні методу найменших квадратів
параметри рівняння (1) знаходяться:
2
11
2
1 01
n
i
i
n
i
i
n
i
n
i
ii
n
i
ii
xxn
yxyxn
a (
2)
n
xay
b
n
i
i
n
i
i
11 (
3)
Для отримання коефіцієнтів парної лінійної регресійної моделі за
допомогою нейронної мережі використати нейронну мережу. Для цього
написати програмний код, який при навчанні нейронної мережі використовує
дельта-правило, норма навчання та кількість епох навчання задаються. Модель
НМ представлено:
Рисунок 1 – Лінійний елемент, який можна навчити знайти пряму для
експериментальних даних
11
ІІ. Індивідуальні завдання
Таблиця 1 – Експериментальні дані Номер
варіанта
Експериментальні дані Коефіцієнт
навчання НМ
Кількість
епох х у
1. 2,3456
3,4521
2,2224
4,6743
3,6724
2,9876
3,1110
2,9834
3,1212
80,23
86,50
82,45
89,50
85,10
90,30
85,60
88,02
0,1 50
2. 23,456
34,521
22,224
46,743
36,724
29,876
31,110
29,834
31,212
2510
1700
2700
1457
1360
1890
2560
2100
0,15 100
3. 2,3456
3,4521
2,2224
4,6743
3,6724
2,9876
3,1110
2,9834
3,1212
8,023
8,650
8,245
8,950
8,510
9,030
8,560
8,802
0,2 75
4. 23,456
34,521
22,224
46,743
36,724
29,876
31,110
29,834
31,212
251,0
170,0
270,0
145,7
136,0
189,0
256,0
210,0
0,25 100
5. 23,456
34,521
22,224
46,743
36,724
29,876
31,110
29,834
31,212
22,456
79,4
61,1
78,8
60,5
88,4
76,0
88,0
79,4
79,9
64,6
0,3 150
12
24,521
32,224
36,743
26,724
39,876
21,110
79,6
62,5
90,0
78,8
89,1
82,0
6. 2,34
3,45
2,22
4,67
3,67
2,98
3,11
2,98
3,12
88,54
74,26
91,96
66,82
87,64
84,46
81,66
76,72
0,25 50
7. 7,00
16,50
9,50
9,00
7,75
10,75
11,50
13,25
6,99
15,65
10,50
10,80
8,85
11,65
10,90
12,95
0,2 100
8. 1,47
4,65
5,76
9,50
1,19
6,37
7,68
13,74
5,79
6,33
6,45
7,23
7,89
6,67
5,98
10,1
57,22
68,31
88,82
75,73
60,29
67,32
84,48
74,56
73,53
61,21
93,29
59,80
67,89
87,34
66,89
75,67
0,15 100
9. 4,2
4,7
4,3
3,6
4,5
4,0
4,9
5,0
3,4
5,1
5,2
3,7
4,2
3,6
4,0
5,6
4,7
3,9
4,4
4,5
5,1
5,1
4,3
5,3
5,7
3,7
4,6
4,0
0,1 30
13
4,7
4,9
4,9
4,9
10. 1,47
4,65
5,76
9,50
1,19
6,37
7,68
13,74
95,23
96,50
92,45
99,50
95,10
90,30
95,60
98,02
0,15 100
11. 5,79
6,33
6,45
7,23
7,89
6,67
5,98
10,1
15,10
17,00
17,00
14,57
13,60
18,90
15,60
11,00
0,1 100
12. 1,47
4,65
5,76
9,50
1,19
6,37
7,68
13,74
15,10
17,00
17,00
14,57
13,60
18,90
15,60
11,00
0,15 50
13. 1,47
4,65
5,76
9,50
1,19
6,37
7,68
13,74
5,79
6,33
6,45
7,23
7,89
6,67
5,98
10,1
572,2
683,1
888,2
757,3
602,9
673,2
844,8
745,6
735,3
612,1
932,9
598,0
678,9
873,4
668,9
756,7
0,2 75
14. 4,0
5,6
4,7
3,9
4,4
4,5
5,1
5,1
4,3
5,3
5,7
57,22
68,31
88,82
75,73
60,29
67,32
84,48
74,56
73,53
61,21
93,29
0,25 100
14
3,7
4,6
4,0
4,9
4,9
59,80
67,89
87,34
66,89
75,67
15. 4,2
4,7
4,3
3,6
4,5
4,0
4,9
5,0
3,4
5,1
5,2
3,7
4,2
3,6
4,7
4,9
79,4
61,1
78,8
60,5
78,4
76,0
78,0
79,4
79,9
74,6
79,6
72,5
70,0
78,8
79,1
72,0
0,25 75
16. 77,64
64,46
81,66
76,72
85,24
78,98
76,93
80,91
78,54
74,26
81,96
66,82
77,77
88,88
78,78
87,87
0,15 50
17. 8,00
10,50
9,50
9,00
7,75
11,75
11,50
13,25
7,99
10,65
10,50
10,80
8,85
13,65
10,90
12,95
0,1 50
18. 57,22
68,31
88,82
75,73
60,29
67,32
84,48
74,56
73,53
61,21
93,29
59,80
67,89
87,34
66,89
75,67
1,47
4,65
5,76
9,50
1,19
6,37
7,68
13,74
5,79
6,33
6,45
7,23
7,89
6,67
5,98
10,1
0,15 75
15
19. 5,2
4,7
4,3
3,6
4,5
4,0
4,9
5,0
6,4
5,1
5,2
3,7
4,2
3,6
4,7
4,9
0,25 50
20. 4,0
5,6
4,7
3,9
4,4
4,5
5,1
5,1
5,3
5,3
5,7
3,7
4,6
4,0
4,9
4,9
0,2 50
ІІІ. Контрольні запитання
1. Поняття біологічного нейрону.
2. Дендріти, сома, аксон, синапс.
3. Формальний нейрон.
4. Поняття функції активації. Їх види.
5. Дельта правило.
6. Норма (коефіцієнт) навчання.
7. Питання за лекційним курсом.
%d0%93%d0%a3%d0%97%20%d0%93%d0%b0%d0%b7 %d0%97%d0%b0%d0%b2%d0%be%d0%b4%d1%81%d0%ba%d0%b0%d1%8f%20%d0
%d0%a1%d0%b1%d0%be%d1%80%d0%bd%d0%b8%d0%ba %d0%a1%d1%8a%d0%b5%d0%b7%d0%b4%d0%a2%d0%b5%d1%80%d0%b0%d0
%d0%a1%d0%b1%d0%be%d1%80%d0%bd%d0%b8%d0%ba%20%d0%9c%d0%b5%d0%b4 %20%d0%b7%d0%b0%d0%b2 %20%d0%b4%d0%b
%d0%9c%d0%b0%d0%b3 %d0%95%d0%ba%d0%b1 %d0%a2%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d1%96%d1%97%2
%d0%a3%d1%87%d0%b5%d0%b1%d0%bd%d0%b8%d0%ba%d0%b8%20%d0%98%d0%b7%d0%b4 %d0%b2%d0%b0%20%d0%9c%d0%98%d0
%d0%a3%d1%87%d0%b5%d0%b1%d0%bd%d1%8b%d0%b9%d0%9f%d0%bb%d0%b0%d0%bd %d0%a4%d1%83%d0%bd%d0%b4%d0%9c%d0
%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%b0 %d0%bd%d0%b0%d0%bf%d0%be%d0%bb%d1%8c%d0%bd%d0%be%d0%b3%d0
%d0%9d%d0%b0%d0%b2%d1%87%d0%b0%d0%bb%d1%8c%d0%bd%d0%be %d0%bc%d0%b5%d1%82%d0%be%d0%b4%d0%b8%d1%87%d0
%d0%a8%d0%b0%d0%b1%d0%bb%d0%be%d0%bd %d0%a0%d0%9f %d0%b0%d1%81%d0%bf%d0%b8%d1%80%d0%b0%d0%bd%d1%82%d
%d0%b5 %d0%b5%d0%ba%d1%80%d0%b0%d0%bd %d0%b4%d0%be%d1%80%d0%b0%d0%bd%d0%b8%d0%ba%d0%b8 %d0%bb%d1%8e%
%d0%9a%d0%a3%d0%a8%d0%9d%d0%86%d0%a0%d0%95%d0%9d%d0%9a%d0%9e%20%d0%9e %d0%90 %d0%9e%d0%91%d0%9b%d0%8
1060204 %d0%bb%d0%b8%d1%81%d1%82%d0%be%d0%b2%d0%ba%d0%b0 %d0%bf%d0%be %d1%82%d0%b5%d0%bf%d0%bb%d0%be
%d0%9c%d0%b0%d0%b3 %d0%95%d0%ba%d0%b1 %d0%91%d1%96%d0%be%d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d
%d0%9f%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%b0 %d0%a1%d1%8a%d0%b5%d0%b7%d0%b4%d0%a2%d0%b5%d1
%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5 %d0%b2%d0%bd%d1
%d0%9a%d0%b0%d1%82%d0%b0%d0%bb%d0%be%d0%b3 %d0%9c%d0%be%d0%bb %d0%a1%d0%bf%d0%b5%d1%86 %d1%83%d0%ba%
%d0%a4%d0%93%d0%9e%d0%a1%203 %20%d0%9b%d0%b5%d1%87%d0%b5%d0%b1%d0%bd%d0%be%d0%b5%20%d0%b4%d0%b5%d0%b