Івано-Франківський національний технічний університет нафти і газу
КУРСОВА РОБОТА
Створення ймовірнісної нейронної мережі PNN (Probabilistic Neural Networks)
для класифікації двовимірних векторів на 4 класи
ЗМІСТ
ВСТУП
Усі штучні нейронні мережі можуть вирішувати різного роду проблеми, а саме кластеризації, апроксимації функцій, задачі передбачення, оптимізації, керування, класифікації образів.
Завдання класифікації образів полягає у вказуванні приналежності вхідного образу, представленого вектором ознак, одному чи декільком попередньо визначеним класам. До відомих застосувань відносяться розпізнавання букв, розпізнавання мови, класифікація сигналу електрокардіограми, класифікація кліток крові.
Зокрема мережею, що вирішує питання класифікації є ймовірнісна нейронна мережа PNN (Probabilistic Neural Networks). Архітектура мережі PNN базується на архітектурі радіальної базисної сітки, але в якості другого шару використовується так званий конкуруючий шар, який підраховує вірогідність приналежності вхідного вектора до того чи іншого класу і в кінцевому рахунку співставляє вектор з тим класом, ймовірність приналежності до якого більша.
Мережі PNN межуть дуже ефективно використовуватись для рішення задач класифікації. Якщо задано достатньо велику навчальну множину, то рішення, що генерується мережею, зводяться до рішень, що відповідають правилу Байеса. Недолік мереж PNN заключається у відносно повільній роботі, оскільки виконують дуже великі об’єми обчислень в порівнянні з іншими типами нейронних мереж.
1 ТЕХНІЧНЕ ЗАВДАННЯ
Завданням у даній курсовій роботі є створити ймовірносну нейронну мережу PNN (Probabilistic Neural Networks) для класифікації двовимірних векторів на 4 класи. Масиви для 20 (по 5 у кожному класі) пар вхідних і цільових векторів x із випадковими координатами {x1, x2}, що розподілені за рівномірним законом, сформувати так, щоби ці координати задовольняли умовам, які зведені в таблицю 1.
Таблиця 1 – Варіанти завдань
Варіант | Класи класифікації | Координати векторів
x1 | x2
Всі
варіанти
з 21 до 30 | клас 1 | 0 < x1 < 1 | 0 < x2 < 1
клас 2 | 1 < x1 < 2 | 0 < x2 < 1
клас 3 | 1 < x1 < 2 | 1 < x2 < 2
клас 4 | 0 < x1 < 1 | 1 < x2 < 2
Для створення даної нейнонної мережі необхідно:–
сформувати вхідний і цільовий масиви даних для навчання мережі „з вчителем”, а також контрольні (вхідний і цільовий) масиви даних, призначені для тестування створеної мережі;–
провести навчання мережі за допомогою одного з відомих алгоритмів;–
провести моделювання процесу обробки контрольного масиву даних за допомогою створеної мережі;–
надати приклад застосування створеної мережі;–
звести всі отримані результати в пояснювальну записку, оформлену відповідно до діючого стандарту [1].
2 ТЕОРЕТИЧНА ЧАСТИНА
2.1 Структура і властивості штучного нейрона
Нейрон є складовою частиною нейронної мережі. На рисунку 2.1 зображена його структура. Він складається з елементів трьох типів: помножувачів (синапсів), суматора і нелінійного перетворювача. Синапси здійснюють зв’язок між нейронами, множать вхідний сигнал на число, що характеризує силу зв’язку, (вагу синапса). Суматор виконує додавання сигналів, що надходять по синаптичним зв’язках від інших нейронів, і зовнішніх вхідних сигналів. Нелінійний перетворювач реалізує нелінійну функцію одного аргументу – виходу суматора. Ця функція називається функцією активації чи передатною функцією нейрона.
Рисунок 2.1 – Структура штучного нейрона
У загальному випадку вхідний сигнал, вагові коефіцієнти і зсув можуть приймати дійсні значення, а в багатьох практичних задачах - лише деякі фіксовані значення. Вихід (у) визначається видом функції активації і може бути як дійсним, так і цілим.
Описаний обчислювальний елемент можна вважати спрощеною математичною моделлю біологічних нейронів. Щоб підкреслити відмінність нейронів біологічних і штучних, другі іноді називають нейроноподібними елементами чи формальними нейронами.
2.2 Класифікація нейронних мереж та їх властивості
Нейронна мережа являє собою сукупність нейроподібних елементів, певним чином з’єднаних один з одним і з зовнішнім середовищем за допомогою зв’язків, обумовлених ваговими коефіцієнтами. В залежності від функцій, які виконують нейрони в мережі, можна виділити три їх типи:–
вхідні нейрони, на які подається вектор, який кодує вхідний вплив чи образ зовнішнього середовища; у них зазвичай не здійснюються обчислювальні процедури, а інформація передається з входу на вихід шляхом зміни їх активації;–
вихідні нейрони, вихідні значення яких представляють виходи нейронної мережі; –
проміжні нейрони, що складають основу нейронних мереж, перетворення в яких виконуються також по виразах.
У більшості нейронних моделей тип нейрона зв’язаний з його розташуванням у мережі. Якщо нейрон має тільки вихідні зв’язки, то це вхідний нейрон, якщо навпаки – вихідний нейрон.
З погляду топології можна виділити три основних типи нейронних мереж:–
повнозв’язні;–
багатошарові чи шарові ;–
слабозв’язні (з локальними зв’язками).
У повнозв’язних нейронних мережах кожен нейрон передає свій вихідний сигнал іншим нейронам, у тому числі і самому собі. Усі вхідні сигнали подаються всім нейронам.
У багатошарових нейронних мережах нейрони об’єднуються в шари. Шар містить сукупність нейронів з єдиними вхідними сигналами. Число нейронів у шарі може бути будь-яким і не залежить від кількості нейронів в інших шарах.
У слабозв’язних нейронних мережах нейрони розташовуються у вузлах прямокутної чи гексагональної решітки. Кожен нейрон зв’язаний з чотирма (окіл фон Неймана), шістьма (окіл Голея) чи вісьма (окіл Мура) своїми найближчими сусідами
Ще одна класифікація поділяє нейронні мережі на синхронні й асинхронні. У першому випадку в кожен момент часу лише один нейрон змінює свій стан, у другому - стан міняється відразу в цілої групи нейронів, як правило, в усього шару.
2.3 Мережа PNN
Нейронні мережа PNN (Probabilistic Neural Networks) призначені для вирішення задач ймовірності, і зокрема задач класифікації.
Структура мережі PNN зображена на рисунку 2.2.
Рисунок 2.2 – Структура мережі PNN
Передбачається, що