вихідний параметр.
Оскільки у функції, що апроксимується два вхідних параметра і один вихідний, то вибирається НС з двома нейронами у вхідному шарі і одним у вихідному. Кількість нейронів прихованого шару приймемо рівним двом. Тобто формується мережа виду 2-2-1 (див. Малюнок 4).
Малюнок 4 - Приклад нейронної мережі (2-2-1)
В якості функції активації вибирається сігмоідной функція з коефіцієнтом a=1. Початкові значення ваг синаптичних зв'язків приймаються рівними 0,5:
21 січня=w 22 січня=w 21 лютого=w 22 лютого=w 31 січня=w 31 лютого=0,5.
Оскільки вихідні значення х 1, х 2 і у не лежать в межах [0, 1], їх необхідно пронормувати, поділивши, наприклад, х 1 на 4, х 2 на 2, а у на 16. У результаті отримана нормована вибірка:
Таблиця 3
Нормована вибірка
X1X2Y0,2500,1250,50,50,375111
Швидкість навчання приймається рівною n=0,2.
Після підготовки можна приступати до навчання.
Крок 1. На входи НС подається перший вектор вхідних параметрів: х 1=0,25 і х 2=0. При цьому У жел=0,125.
Виходи нейронів вхідного шару: Y 11=0,25, Y 12=0.
Для прихованого шару:
21=w 21 1 * Y 11 + w 21 2 * Y 12=0,5 * 0,25 + 0,5 * 0=0,125; 22=w 22 1 * Y 11 + w 22 2 * Y 12=0,5 * 0,25 + 0,5 * 0=0,125; 21=1/(1 + exp (- a * U 21))=1/(1 + exp (- 0,125))=0,5312; 22=1/(1 + exp (- a * U 22))=1/(1 + exp (- 0,125))=0,5312.
Для вихідного шару:
31=w 31 1 * Y 21 + w 31 2 * Y 22=0,5 * 0б5312 + 0,5 * 0б5312=0,5312; 31=1/(1 + exp (- a * U 31))=1/(1 + exp (- 0,5312))=0,6298.
Крок 2. Величина градієнта для вихідного нейрона:
31=(Y 31 -У жел) * Y 31 * (1 - Y 31)=(0,6298 - 0,125) * 0,6298 * (1 - 0,6298)=
, 1177.
Крок 3. Величини градієнтів для прихованого шару:
21=Y 21 * (1 - Y 21) * [EI 31 * w 31 1]=0,5312 * (1 - 0,5312) * 0,1177 * 0,5=
, 01466, 22=Y 22 * ??(1 - Y 22) * [EI 31 * w 31 2]=0,5312 * (1 - 0,5312) * 0,1177 * 0, 5=
, 01466.
Крок 4. Корекція ваг синапсів:
21 +1=w 21 1 - n * Y 11 * EI 21=0,5 - 0,2 * 0,25 * 0,01466=0,4993, 22 +1=w 22 січня -n * Y 11 * EI 22=0,5 - 0,2 * 0,25 * 0,01466=0,4993, 21 +2=w 21 +2 - n * Y 12 * EI 21=0,5 - 0,2 * 0 * 0,01466=0,5, 22 +2=w 22 +2 - n * Y 12 * EI 22=0,5 - 0,2 * 0 * 0,01466=0,5, 31 січня=w 31 січня- n * Y 21 * EI 31=0,5 - 0,2 * 0,5312 * 0,1177=0,4875, 31 +2=w 31 +2 - n * Y 22 * ??EI 31=0,5 - 0, 2 * 0,5312 * 0,1177=0,4875.
Якщо при отриманих вагах на вхід НС подати той же вектор вхідних параметрів, то на виході буде у=0,6267, що вже ближче до бажаного У жел=0,125. Тобто даний цикл навчання наблизив відповідь НС до бажаного на величину D у=0,6298 - 0,6267=0,0031.
Оскільки навчальна вибірка не закінчилася, то кроки 1-4 повторюються аналогічно для наступного вектора вхідних параметрів. [3]
Функція створює вчителів для нейронів, навчає мережу, потім видаляє вчителів.
.3 Розрахунок кількості нейронів у внутрішніх шарах
Оцінимо кількість ваг:
=1, n=4, N=20
Розрахуємо кількість нейронів в прихованих шарах
Приймаються N=40
2.4 Результат роботи нейромережі
Створюємо мережу
Малюнок 5 - Створення мережі
Для навчання мережі використовувався набір параметрів, наведений у таблиці 1. Використовуємо навчання даними з бази даних (Малюнок 6).
Малюнок 6 - Навчання мережі
Значимість входів представлена ??на малюнку 7
Малюнок 7 - Значимість входів
Результат роботи програми для тришарової мережі представлений на малюнку 8.
Рисунок 8 - Результат роботи програми
Результат роботи програми для чотиришаровій мережі представлений на малюнку 9.
Рисунок 9 - Результат роботи програми
Висновки
У рамках даної курсової роботи була програмно реалізована нейронна мережа типу «багатошаровий персептрон», була розроблена топологія нейронної мережі для прогнозування вибору токарних верстатів. В якості вхід...