РОЗРАХУНОК ВІДПОВІДІ ДЛЯ БАГАТОШАРОВОГО ПЕРСЕПТРОНА НА ОСНОВІ АЛГОРИТМУ ПРЯМОГО ПОШИРЕННЯ
Розглянемо приклад мережі, представленої на рис. 5.7.

Мал. 5.7. Приклад нейронної мережі
Зробимо розрахунок мережі з використанням методу прямого поширення {feed forward).
Крок 1. Нехай g (x) - функція активації для відповідного шару нейронів, тоді значення елементів в прихованому шарі буде обчислено наступним чином:
Крок 2. Обчислення елементів наступного шару (в даному прикладі - вихідного значення):
Кроки 1 і 2 можуть бути приведені до матричної формі:
де i = [1, 2]; Л 0 = X = [х 0 , х ,, х 2 - вектор вхідних значень; Д - значення на виходах нейронів, зокрема А 2 = Y.
Матриці ваг виглядають наступним чином:
Аналогічним чином можна розрахувати багатошарові персеп- трони будь-якої розмірності.
НАВЧАННЯ БАГАТОШАРОВОГО ПЕРСЕПТРОНА НА ОСНОВІ АЛГОРИТМУ ЗВОРОТНОГО ПОШИРЕННЯ
Алгоритм зворотного поширення помилки є базовим алгоритмом для навчання багатошарових персептронов [1] . В основі нього лежать розрахунок градієнта кожного з ваг зв'язків в мережі і ідея того, що помилка будь-якого нейрона г-го шару є результатом помилки всіх нейронів на шарі i - 1. Наведемо приклад алгоритму зворотного поширення помилки для нейронної мережі з сігмоідной функцією активації (5.13 ). Для побудови алгоритму необхідно обчислити похідну функції активації. Для сигмоид вона буде дорівнює:
Вхід:
• Багатошаровий псрссптрон з матрицями ваг w і функцією активації g (x).
вихід:
• Оновлені матриці ваг.
алгоритм:
- 1. Для кожної пари «об'єкт - відповідь», поки не будуть досягнуті умови завершення, повторювати:
- 1.1. Порахувати значення Y за алгоритмом з підпункту 5.5.5.
- 1.2. Для всіх нейронів у до вихідного шару, для яких розрахована зважена сума sum сигналів з попереднього шару (значення, що подається в функцію активації):
- 1.2.1. розрахувати помилку
де a ns - правильна відповідь.
1.2.2. Розрахувати коригування ваг зв'язків
де р - швидкість навчання; а, - значення сигналу з г-го нейрона.
- 1.3. Для кожного нейрона «, з прихованого шару:
- 1.3.1. Розрахувати сумарну помилку з наступного шару
для передостаннього шару е, = е до , де j = k.
1.3.2. Розрахувати sum для нейрона і величину помилки на нейроні
1.3.3. Розрахувати зміну ваг зв'язків
для першого шару а ) = ху
- 1.4. Змінити все ваги зв'язків в матрицях на розраховані Д Wy.
- 2. Повернути матрицю ваг.
лінійної розділяє гиперплоскости. Далі був розглянутий алгоритм Парзена - Розенблатта, який підходить до вирішення завдання класифікації з точки зору теорії ймовірностей і намагається при навчанні відновити форму розподілу об'єктів навчальної вибірки по кожному класу. Алгоритми, засновані на деревах прийняття рішень, намагаються моделювати міркування людини, а штучні нейронні мережі - роботу його мозку.
Жоден з представлених алгоритмів не може розглядатися як універсальне рішення задачі класифікації, і в кожному конкретному випадку має сенс, знаючи, як працює алгоритм і з даними якої природи доводиться працювати, спробувати і порівняти між собою кілька алгоритмів і вибрати найкращий.
- [1] Див .: Fausett LV Fundamentals of Neural Networks: Architectures, AlgorithmsAnd Applications. New Jersey: Pearson, 1993.