- •Нейронні мережі та нейрокомп’ютери
- •Контрольні запитання
- •Історія нейронних мереж
- •Контрольні запитання
- •Штучні нейронні мережі
- •3.1 Біологічний нейрон
- •3.2 Штучний нейрон
- •3.3 Штучні нейронні мережі
- •Контрольні запитання
- •Обгрунтування застосування нейромереж
- •3.4 Навчання штучної нейронної мережі
- •4.8 Керування
- •Контрольні запитання
- •Розширена модель штучного нейрона та компоненти штучного нейрона
- •5.1 Розширена модель штучного нейрона
- •5.2 Компоненти штучного нейрона
- •5.2.1 Вагові коефіцієнти
- •5.2.2 Функція суматора
- •5.2.3 Передавальна функція
- •5.2.4 Масштабування
- •5.25 Вихідна функція
- •5.2.6 Функція похибки та поширюване назад значення
- •5.2.7 Функція навчання
- •Контрольні запитання
- •Архітектура з’єднань штучних нейронів
- •Контрольні запитання
- •Навчання штучної нейронної мережі
- •7.1 Контрольоване навчання
- •7.2 Неконтрольоване навчання
- •7.3 Оцінки навчання
- •7.4 Правила навчання
- •7.4.1 Правило Хеба
- •7.4.2 Правило Хопфілда
- •7.4.3 Правило “дельта”
- •7.4.4 Правило градієнтного спуску
- •7.4.5 Навчання методом змагання
- •Контрольні запитання
- •Перцептрон розенбалата та нейромережа зворотнього поширення похибки
- •8.1 Перцептрон Розенбалата
- •8.2 Нейромережа зворотнього поширення похибки (Back Propagation)
- •Контрольні запитання
- •Мережі delta bar delta,
- •9.3 Скерований випадковий пошук
- •Контрольні запитання
- •Нейронна мережа вищого порядку. Мережа кохонена. Квантування навчального вектора
- •10.1 Нейронна мережа вищого порядку або функціонально-пов’язана нейронна мережа
- •10.2 Мережа Кохонена
- •10.3 Квантування навчального вектора (Learning Vector Quantization)
- •Контрольні запитання
- •Мережа зустрічного поширення. Ймовірнісна нейронна мережа. Мережа хопфілда. Машина больцмана
- •11.1 Мережа зустрічного поширення (CounterРropagation)
- •Навчання мережі
- •Функціонування мережі
- •11.2 Ймовірнісна нейронна мережа
- •11.3 Мережа Хопфілда
- •Алгоритм функціонування мережі:
- •11.4 Машина Больцмана
- •Алгоритм функціонування мережі:
- •Контрольні запитання
- •Мережа хемінга. Двоскерована асоціативна пам’ять. Мережа адаптивної резонансної теорії
- •12.1 Мережа Хемінга
- •Алгоритм функціонування мережі Хемінга:
- •12.2 Двоскерована асоціативна пам’ять
- •12.3 Мережа адаптивної резонансної теорії
- •Алгоритм функціонування мережі: - ініціалізація мережі:
- •Контрольні запитання
- •Нейронна мережа на основі моделі “функціонал на множині табличних функцій”
- •13.1 Базові концепції моделі “функціонал на множині табличних функцій”
- •13.2 Навчання та функціонування нейромережі фтф
- •13.3 Алгоритм для режиму навчання нейромереж
- •13.4 Алгоритм для режиму функціонування нейромережі
- •13.5 Особливості формування передавальних функцій
- •Контрольні запитання
- •Нейромережі в задачах відображення
- •14.1 Типи задач відображення і підходи до їх вирішення
- •14.1.1 Факторний аналіз
- •14.1.2 Кореляційний аналіз
- •14.1.3 Ранжування входів
- •14.2 Вибір даних для обробки
- •14.3 Згладжування даних
- •14.4 Задачі прогнозування
- •За характером основних ознак об’єкту:
- •За числом ознак об’єкту досліджень:
- •За часом випередження розрізняють види прогнозів:
- •14.5 Адаптація нейромереж в режимах прогнозування
- •Однопараметрична задача прогнозування
- •Багатопараметрична задача прогнозування
- •Однокрокове прогнозування (передбачення)
- •Багатокрокове прогнозування
- •Багатокрокове прогнозування з перенавчанням нейромережі на кожному кроці прогнозу
- •14.6 Критерії оцінки якості функціонування мережі
- •14.7 Оцінювання точності прогнозів
- •Контрольні запитання
- •Сучасні напрямки розвитку нейрокомп’ютерних технологій
- •Загальні задачі - це задачі досить просто зводяться до обробки нейронною мережею багатовимірних векторів дійсних змінних, наприклад:
- •Нейромережеві експертні системи
- •Нейрочіпи і нейрокомп’ютери
- •Контрольні запитання
- •Перелік рекомендованих джерел
14.1.1 Факторний аналіз
Внесок кожної вхідної ознаки можна оцінити також за її впливом на середнє значення вихідної величини. Нехай зовнішній вихід моделі НМ залежить від декількох факторів:
y=f(a1x1, a2x2, ..., aixi...) . (14.1)
Оберемо деякий фактор аіхі. Для всіх реалізацій навчальної множини визначимо значення вихідної величини при наявності та відсутності цього фактору. Обчислимо дисперсію, викликану відсутністю фактора аіхі:
,
(14.2)
де Yxі*, Yxі - відповідно значення середньої величини при відсутності та наявності фактора аіхі.
Визначаємо інтервал ΔaI=± 2Sai, в який не повинна попадати оцінка коефіцієнтів аі. При малих коефіцієнтах даний фактор вилучається.
14.1.2 Кореляційний аналіз
Деякі з параметрів, що приймаються до уваги, справляють незначний вплив на формування виходів і можуть бути відкинуті. В якості показника взаємозалежності між системою вхідних величин X=(X1, X2, ..., Xn) і вихідних величин Y , можна вибрати коефіцієнт парної кореляції (наприклад вхідної змінної X1, та вихідного значення Y) :
,
(14.3)
де
;
;
N - число реалізацій.
Значення k<0,6 вважають за порогове. Наприклад, при знаходженні коефіцієнтів кореляції між виходом та входами можна визначити ступінь впливу кожного вхідного параметру на вихід, і використати даний показник для ранжування входів.
14.1.3 Ранжування входів
При проведенні прогнозування, суттєвим для якості прогнозу є врахування реального впливу кожного параметра входу x(х1, ..., хn) на вихідний вектор y. За допомогою кореляційного аналізу обчислюються заздалегідь коефіцієнти парної кореляції між виходом y та кожним з параметрів входу х1, ..., хj, ..., хn, що дозволяє сформувати вхідну матрицю згідно ступеня впливу кожного параметра і дозволяє застосувати принцип ранжування входів, який узгоджується з будовою біологічного нейрона. В нейромережу вводиться єдиний параметр для всіх входів мережі - коефіцієнт зважування Kf, який може приймати значення в діапазоні від 0 до 1.
Рисунок 14.1 – Вплив коефіцієнта зважування входів
Для 1 входу всі значення параметра х1 не змінюються, для 2 входу зменшуються в Kf1 разів, а для останнього n-го входу вага параметра xn зменшується в Kfn-1 разів (рис. 1). При Kf=1 всі входи рівнозначні, при Kf=0 враховується лише перший вхід, решта входів ігнорується, при 0<Kf<1 зменшується вплив несуттєвих параметрів на вихідну величину y.
Такий підхід вимагає проведення попереднього аналізу інформації, але значне покращення точності прогнозу підтверджує його ефективність.
14.2 Вибір даних для обробки
Всяка нейронна мережа приймає на вході числові значення і видає на виході також числові значення. Передавальна функція для кожного елемента мережі звичайно вибирається таким чином, щоб її вхідний аргумент міг приймати довільні значення, а вихідні значення лежали б у строго обмеженому діапазоні. При цьому, хоча вхідні значення можуть бути будь-якими, виникає ефект насичення, коли елемент виявляється чуттєвим лише до вхідних значень, що лежать у деякій обмеженій області (наприклад, сигмоїдні або S - функції). У цьому випадку вихідне значення завжди буде лежати в інтервалі (0,1), а область чутливості для входів ледь ширше інтервалу (-1,+1). Дана функція є гладкою, а її похідна легко обчислюється - ця обставина дуже істотна для роботи алгоритму навчання мережі (у цьому також криється причина того, що порогова функція для цієї мети практично не використовується).
При використанні нейронних мереж можуть виникати деякі проблеми, зокрема:
дані мають нестандартний масштаб,
дані є нечисловими,
в даних є пропущені або недостовірні значення.
Числові дані масштабуються в придатний для мережі діапазон. Звичайно дані масштабуються по лінійній шкалі. У пакетах програмних нейромереж реалізовані алгоритми, що автоматично знаходять масштабуючі параметри для перетворення числових значень у потрібний діапазон.
Більш важкою задачею є робота з даними нечислового характеру. Нехай, потрібно навчити нейромережу оцінювати вартість об’єктів нерухомості. Ціна будинку залежить від того, у якому районі міста він розташований. Місто може бути поділено на кілька десятків районів, що мають власні назви, і здається природним увести для позначення району змінну з номінальними значеннями. На жаль, у цьому випадку навчити нейронну мережу буде дуже важко, і замість цього краще привласнити кожному району визначений ранг (ґрунтуючись на експертних оцінках).
Найчастіше нечислові дані бувають представлені у виді номінальних змінних. Номінальні змінні можуть бути двозначними (наприклад, Стать ={Чоловік, Жінка}) або багатозначними (тобто приймати більше двох значень станів). Двозначну номінальну змінну легко перетворити в числову (наприклад, Чоловік = 0, Жінка = 1). З багатозначними номінальними змінними справа обстоїть складніше. Їх теж можна представити одним числовим значенням (наприклад, Собака = 0, Миша = 1, Кішка = 2), однак при цьому виникне (можливо) помилкове впорядкування значень номінальної змінної: у розглянутому прикладі Миша виявиться чимось середнім між Собакою і Кішкою. Існує більш точний спосіб, відомий як кодування 1-з-N, в якому одна номінальна змінна представляється декількома числовими змінними. Кількість числових змінних дорівнює числу можливих значень номінальної змінної. При цьому кожний раз рівно одна з N змінних приймає ненульове значення (наприклад, Собака = {1,0,0}, Миша = {0,1,0}, Кішка = {0,0,1}). На жаль, номінальна змінна з великим числом можливих станів потребує при кодуванні методом 1-з-N дуже великої кількості числових змінних, а це приводить до росту розмірів мережі і створює труднощі при її навчанні. В таких ситуаціях краще спробувати знайти інший спосіб представлення даних.
Нечислові дані інших типів можна або перетворити в числову форму, або оголосити незначними. Значення дат і часу, якщо вони потрібні, можна перетворити в числові, віднімаючи з них початкову дату (час). Позначення грошових сум перетворити зовсім нескладно. З довільними текстовими полями (наприклад, прізвищами людей) працювати не можна і їх потрібно зробити незначними.
У багатьох реальних задачах приходиться мати справу з не зовсім достовірними даними. Значення деяких змінних можуть бути спотворені шумом чи частково бути відсутніми. Існують спеціальні засоби роботи з пропущеними значеннями (вони можуть бути замінені на середнє значення цієї змінної чи на інші її статистики). Так що якщо даних не багато, можна включити в розгляд випадки з пропущеними значеннями. Нейронні мережі у цілому стійкі до шумів. Однак у цієї стійкості є межа. Наприклад, викиди, тобто значення, що лежать дуже далеко від області нормальних значень деякої змінної, можуть спотворити результат навчання. У таких випадках найкраще постаратися знайти і виявити ці викиди (вилучити відповідні приклади або перетворити викиди в пропущені значення). Якщо викиди виявити важко, то можна скористатися можливостями зробити процес навчання стійким до викидів, однак таке стійке до викидів навчання, як правило, менш ефективне, ніж стандартне.
