Після відкриття даних ST Neural Networks запропонує функцію автоматичної побудови (вікно Intelligent Problem Solver). На даному етапі необхідно відмовитися від даної функції (Cancel).
При відкритті нового файлу в ST Neural Networks всі змінні вважаються вхідними. Необхідно вказати вихідні змінні. Клацніть правою кнопкою миші в поле з назвою вихідних змінних у вікні Data Set Editor. в контекстному меню виберіть Output, колір заголовка стовпця зміниться на блакитний.
Всі спостереження необхідно поділити на два безлічі: навчальне (служить для навчання НС) і контрольне (необхідно для оцінки ходу навчання).
У другому полі Cases вікна Data Set Editor вкажіть розмір контрольного безлічі (зазвичай на нього відводиться половина всього набору даних), натисніть Enter. Рядки, що містять контрольні спостереження, відмічені червоним кольором (знаходяться в кінці списку спостережень). Потім, командою перемішати (Shuffle) (Edit → Cases → Shuffle → Train and Verify), все спостереження випадковим чином розподіляються по різним типам.
Мережа з заданими параметрами і структурою створюється після натискання кнопки Create.
Параметри Steps і Lookahead використовуються тільки в задачах часових рядів і в даній роботі не використовуються.
Для мереж кожного типу використовуються спеціальні алгоритми навчання, які знаходяться в пункті меню Train. При виборі алгоритму пропонується визначити параметри навчання. Наприклад, при навчанні багатошарового персептрона методом зворотного поширення (Train → Multilayer Perceptrons → Back Propagation) задаються у відповідному вікні (малюнок 12).
Epochs - Епохи. Задає число циклів навчання, які проходяться при одному натисканні кнопки Train. Значення за замовчуванням 100.
Learning rate - Швидкість навчання, задає величину кроку при зміні ваг: при недостатній швидкості алгоритм повільно сходиться, при збільшенні швидкості навчання алгоритм працює швидше, але в деяких завданнях це може привести до нестійкості (особливо якщо дані зашумлені). Для швидкого і грубого навчання підійдуть значення від 0,1 до 0,6; для досягнення точної збіжності потрібні менші значення (наприклад, 0,01 або навіть 0,001, якщо епох багато тисяч). Іноді корисно зменшувати швидкість в процесі навчання.
Momentum - Інерція. Цей параметр покращує (прискорює) навчання в ситуаціях, коли помилка мало змінюється, а також надає алгоритму додаткову стійкість, допомагає алгоритму не застрявали в низинах і локальних мінімумах. Значення цього параметра завжди має лежати в інтервалі [0; 1]. Часто рекомендується використовувати високу швидкість навчання в поєднанні з невеликим коефіцієнтом інерції і навпаки.
Shuffle Cases - Перемішувати спостереження. При використанні цієї функції порядок, в якому спостереження подаються на вхід мережі, змінюється в кожній новій ітерації. Це додає в навчання деякий шум, так що помилка може відчувати невеликі коливання. Однак при цьому менше ймовірність того, що алгоритм «застрягне», і загальні показники його роботи зазвичай поліпшуються.
Cross-verification (крос-перевірка) - Стандартний спосіб навчання нейронних мереж полягає в тому, що мережа навчається на одному з множин, а на іншому перевіряється результат; таким чином, контрольне безліч для навчання не використовується. Це дає незалежний спосіб перевірки того, навчилася чи мережу чогось корисного.
Reinitialize - скидання параметрів, що настроюються мережі, отриманих на попередньому циклі навчання, або для попередньої мережі.
Запуск алгоритму навчання проводиться натисненням кнопки Train. Кожен раз при натисканні кнопки Train алгоритм робить N циклів навчання, де N - кількість циклів навчання, яке визначається в Epochs.
На графіку (Statistics → Training Error Graph) можна спостерігати зміну помилки мережі в ході навчання. Training Error Graph- це відображення середньоквадратичної помилки виходу на всьому навчальній множині.
На графіку можна спостерігати небажаний ефект перенавчання (коли мережа добре вчиться видавати ті ж вихідні значення, що і в навчальній множині, але виявляється нездатною узагальнити закономірність на нові дані). Спочатку і помилка навчання, і контрольна помилка зменшуються. З початком перенавчання помилка навчання продовжує спадати, а помилка контролю (зазвичай червоного кольору) починає зростати. Зростання перевірочної помилки сигналізує про початок перенавчання і свідчить про те, що алгоритм навчання починає бути деструктивним (і одночасно про те, що більш підходящою може виявитися мережу меншого розміру).
При зміні параметрів мережі перед навчанням необхідно скинути вагові коефіцієнти (налаштовані параметри) попередньої мережі. Для MLP-мережі кнопкою Reinitialize.
У пакеті STATISTICA Neural Networks передбачено автоматичне запам'ятовування кращої мережі під час експерименту. Для відновлення значень найкращою мережі викличте меню Train → Auxiliary → Best Network.
Для розрахунку даних за допомогою мережі використовується пункт меню Run: Data Set - розрахунок для всіх даних вихідного файлу;
Single Case - розрахунок одного спостережень;
One-off - розрахунок для довільного вхідного вектора.
Розрахунок проводиться при натисканні кнопки Run відповідного вікна.
Запускається, як і в попередньому випадку, але в таблицях виводиться тільки фактичне вихідне значення.
Відкрийте меню Run → One-off. введіть вхідні значення, для яких необхідно спрогнозувати вихідний, натисніть Run.
У пакеті STATISTICA Neural Networks передбачена можливість автоматичного визначення структури кращої мережі для набору навчальних даних (функція доступна через File → New → Intelleigent Problem Solver).
Алгоритм роботи мережі в пакеті STATISTICA Neural Networks.
1 Нормалізація вхідних даних:
де - коефіцієнт нормалізації; . максимальне і мінімальне значення j- й змінної навчальної вибірки; i - номер рядка навчальної вибірки.
2 Розподіл вхідного вектора на наступний шар з відповідним ваговим коефіцієнтом (див. Edit → Network ...).
3 Віднімання порогового значення на кожному нейроні (див. Edit → Network ... поле Theshold).
4 Обчислення функції активації нейрона (результат см. Run → Activations ...).
5 Повтор кроків для всіх верств мережі.
6 Обчислення виходу мережі з урахуванням коефіцієнта нормалізації:
. де - мінімальне значення вихідної змінної навчальної вибірки, t - номер вихідної змінної, - коефіцієнт нормалізації вихідний зміною t. - нормалізоване значення виходу мережі, розраховане для останнього шару.
1 Що таке нейронна мережа та які її основні властивості?
2 Яка структура нейрона?
3 Які функції активації можуть бути використані в нейронних мережах?
4 Які вимоги пред'являються до функцій активації?
5 Які функції виконує вхідний шар в багатошаровій мережі?
6 Чи можна навчити нейронну мережу без прихованого шару?
7 У чому полягає навчання нейронних мереж?
8 Чому один з алгоритмів навчання отримав назву «алгоритм зворотного поширення»?
9 Чим відрізняється навчання з учителем від навчання без учителя?
10 Чому вхідні і вихідні сигнали нейронної мережі повинні бути унормовані, тобто приведені до діапазону [0,1]?
4 Розенблатт Ф. Принципи нейродинаміки. Персептрони і теорія механізмів мозку. -М. Світ, 1965.
7 Свєшніков С.В. Шквар А.М. Нейротехніческіе системи обробки інформації. -Київ: Наукова думка, 1983. -222 с.