Для розробки нейронної мережі, яка буде прогнозувати фінансово-господарчі показники, вирішені такі завдання: вибір вхідних і вихідних даних, топології мережі, методу навчання нейронної
мережі, активаційної функції. Тимчасового ряду динаміки цін буде досить, щоб зробити точний прогноз. Він розбитий на три безлічі: навчальну, тестову й контрольну вибірки, які подаються
на входи мережі.
Предобробка даних є важливим кроком при застосуванні нейросетей , які навчаются із учителем, і визначає швидкість навчання, величини помилок навчання й узагальнення й інші властивості
мережі. Для предобробки кількісних величин найчастіше застосовують лінійне зрушення інтервалу значення ознаки, наприклад, в інтервал [-1,1]. Формула перерахування значення ознаки x для i- го
прикладу вибірки в інтервал [a,b] така:
де xmin , xmax- мінімальне й максимальне вибіркові значення ознаки. При відсутності твердих обмежень на діапазон значень ознаки, які були предоброблені, може бути
виконане масштабування, що дає нульове середнє й одиничну дисперсію предобробленої величині, по формулі:
де M(x),σ(x) - вихідне вибіркове середнє й середнє квадратичне відхилення. Одержання нульових середніх для вхідних сигналів мережі прискорює градієнтне навчання, оскільки знижує
відношення максимального й мінімального ненульового власних чисел матриці других похідних цільової функції по параметрах мережі.[1]
У якості топології даної нейронної мережі запропонований багатошаровий персептрон, тому що він у середньому показує найкращі результати в завданнях прогнозування часових рядів.
У цій топології нейрони регулярним образом організовані в шари. Вхідний шар, що полягає із чутливих (сенсорних) S- Елементів, на який надходять вхідні сигнали Хi, ніякої обробки
інформації не робить і виконує лише розподільні функції. Кожний S- Елемент пов'язаний із сукупністю асоціативних елементів ( А-Елементів) першого проміжного шару, а А- Елементи
останнього шару з'єднані з реагуючими елементами ( R-Елементами).
Малюнок 1. Структура багатошарового персептрона (Анімація: 5 кадрів, затримка 0,4 сек, розмір 28,6 Кб)
Зважені комбінації виходів R- Елементів становлять реакцію системи, яка вказує на приналежність розпізнаваного об'єкта певному образу. Якщо розпізнаються тільки два образи, то в
персептроні встановлюється один R- Елемент, який має дві реакції – позитивну й негативну. Якщо образів більше двох, то для кожного образу встановлюють свій R- Елемент, а вихід кожного
такого елемента представляє лінійну комбінацію виходів A- Елементів. [2]
У якості методу навчання нейтронної мережі був обраний метод зворотного поширення помилки. Основна ідея зворотного поширення полягає в тому, щоб одержати оцінку помилки для нейронів
схованих шарів. Помітимо, що відомі помилки, що робляться нейронами вихідного шару, виникають внаслідок невідомих поки помилок нейронів схованих шарів. Чим більше значення синаптичного
зв'язку між нейроном схованого шару й вихідним нейроном, тем сильніше помилка першого впливає на помилку другого. Отже, оцінку помилки елементів схованих шарів можна одержати, як зважену
суму помилок наступних шарів. При навчанні інформація поширюється від нижчих шарів ієрархії до вищих, а оцінки помилок, що робляться мережею – у зворотному напрямку [3].
На етапі навчання відбувається обчислення синаптичних коефіцієнтів w. При цьому на відміну від класичних методів в основі лежать не аналітичні обчислення, а методи навчання по зразках
за допомогою прикладів згрупованих у навчальній виборці. Для кожного образу з навчальної вибірки вважається відомим необхідне значення виходу нейронної мережі. Цей процес можна розглядати
як розв'язок завдання оптимізації. Її метою є мінімізації функції помилки або не в'язання Е на навчальній виборці шляхом вибору значень синоптичних коефіцієнтів w.
де di - необхідне (бажане) значення виходу на j- му зразку вибірки;
yi - реальне значення;
p - число зразків навчальної вибірки.
Мінімізація помилки Е звичайно здійснюється за допомогою градієнтних методів. Зміна ваг відбувається в напрямку зворотному напрямку найбільшої крутості функції помилки.
де 0 < &eta &le 1 - обумовлений користувачем параметр.
Існує два підходи до навчання. У першому з них ваги w перераховуються після подачі усій навчальної вибірки, і помилка має вигляд
У другому підході помилка перераховується після кожного зразка:
Нехай
, тобто
Тоді
, де yj(Sj) - активаційна функція. Для
Третій співмножник:
Можна показати, що
при цьому підсумовування k іде серед нейронів n- го шару. Введемо нове позначення:
Для внутрішнього нейрона:
Для зовнішнього нейрона:
Таким чином, повний алгоритм навчання зворотного поширення будується так:
1. Подати на входи мережі один з можливих зразків у режимі звичайного функціонування НС, коли сигнали поширюються від входу до виходів розрахувати значення виходів усіх нейронів
(звичайно початкове значення ваги становлять малі значення).
2. Розрахувати значення &delta jn для нейронів вихідного шару по формулі (13)
3. Розрахувати значення &delta jn для всіх внутрішніх нейронів по формулі (12)
4. За допомогою формули (14) для всіх зв'язків знайти збільшення вагових коефіцієнтів &Delta W jn.
5. Скорегувати синаптичні ваги:
6. Повторити кроки 1-5 для кожного образа навчальної вибірки поки помилка Е не стане досить маленької.
У якості активаційної функції вхідного й вихідного шару обрана лінійна функція.
Нейрони схованих шарів будуть активуватися за допомогою раціональної сигмоїдальної функції.
Ефективність даного варіанта визначається тим, що дана функція є строго монотонно зростаючої, безперервної та дифференцируємою і на обчислення раціональної сигмоїди в порівнянні
з іншими затрачається менше процесорного часу.
Малюнок 2. Графік прогнозування тимчасового ряду
Після вибору загальної структури потрібно експериментально підібрати параметри мережі. Для мережі необхідно підібрати число шарів і кількість нейронів у кожному з них. При виборі
кількості шарів і нейронів у них слід виходити з того, що здатності мережі тем вище, чим більше сумарне число зв'язків між нейронами. З іншого боку, число зв'язків обмежене зверху
кількістю записів у навчальних даних.
Опираючись на результати, отримані експериментальним шляхом, у результаті реалізації запропонованої нейтронної мережі в пакеті Matlab, ми бачимо, що дана топологія нейронної
мережі й метод її навчання є вкрай ефективним у завданнях прогнозування.