Лабораторна робота № 3
Нейронні мережі на основі радіальних базисних функцій
Мета: отримати навички розв’язання практичних задач за допомогою мереж на основі радіальних базисних функцій.
2.1. Теоретичні відомості
Основні відомості
Мережа на основі радіальних базисних функцій (РБФ-мережа) — це тришарова нейронна мережа з одним прихованим шаром. Прихований шар виконує фіксоване нелінійне перетворення без налаштування параметрів. Найновіші модифікації методу передбачають налаштування параметрів першої матриці зв’язків.
.

Рис. 2.1. Структура РБФ-мережі
При переході від вхідного шару до прихованого здійснюється нелінійне перетворення простору, тобто відображення (рис. 2.1)

де  — радіальні функції виду (рис. 2.2).

Рис. 2.2. Приклад радіальної функції
В якості радіальної функції зазвичай вибирають функцію Гауса:
.
Нейрони вихідного шару здійснюють лінійне перетворення простору (є лінійною комбінацією виходів попереднього шару):

або у векторній формі
.
Навчання мережі на основі радіальних базисних функцій
Навчання мережі на основі радіальних базисних функцій включає:
1. Вибір параметрів (середнього та дисперсії) радіальних функцій.
2. Навчання вихідного шару за наступною формулою:
.
Приклад: проблема виключаючого АБО
Проблема виключаючого АБО (XOR-проблема) полягає в апроксимації таблиці істинності логічної функції x XOR y.

1
0

1
0
1

0
1
0

Ця функція набуває значення 1 тільки у тих випадках, коли значення аргументів відрізняються. РБФ-мережа забезпечує перетворення простору, при якому класи значень 1 та 0 стають лінійно роздільними (рис. 2.3).

Рис. 2.3. Перетворення простору для XOR-проблеми
,
.
2.2. Порядок виконання роботи
1. Реалізувати нейронну мережу на основі радіальних базисних функцій, використовуючи такі мови програмування як C++, Java, Fortran.
2. За допомогою побудованої нейроної мережі розв’язати задачу згідно з номером варіанту. (Номер варіанту визначається за номером у списку групи.) Для цього на основі відповідного файлу (ім’я dataномер_варіанту.csv) необхідно випадковим чином сформувати навчальну та тестову вибірки (у співвідношенні 4:1). Навчити нейронну мережу на навчальній вибірці.
3. Перевірити роботу нейронної мережі на тестових даних.
4. Результати роботи оформити звітом, який має містити: постановку задачі, навчальну вибірку даних та їх представлення у графічному виді на R2, результати роботи на тестовій множині даних, всі параметри нейронної мережі, що навчилася, вихідний код програми.