Порядок виконання роботи. 1. Ознайомитись з теоретичним матеріалом з відповідного розділу конспекта лек-цій та методичними вказівками до виконання лабораторної роботи

1. Ознайомитись з теоретичним матеріалом з відповідного розділу конспекта лек-цій та методичними вказівками до виконання лабораторної роботи.

2. Підготувати задачі відповідно до варіанта до рівня, доступного для розв¢язання в обраному середовищі (визначити всі потрібні функції).

3. Виконати тестові приклади та визначити особливості власної задачі, зокрема, вплив початкового наближеного розв¢язку на отриманий результат, вплив кількості нейронів та шарів.

4. Виконати складену в п.20 задачу, дати інтерпретацію отриманим результатам.

Склад звіту

1. Постановка задачі.

2. Програмна документація, підготовлена відповідно до вимог держстандартів України або ЄСПД.

Тестові приклади і методичні вказівки до виконання лабораторної роботи

 

І. Області практичних додатків багатошарових нейронних мереж надзвичайно різноманітні: медична діагностика і призначення для хворих індивідуальної лікарської терапії, виявлення об'єкта чи визначеного якісного факту у загамованих даних, прогнозування значень визначених кількісних характеристик об'єкта по доступних вимірах інших характеристик, побудова математичних моделей для слабко формалізованих явищ по вибіркових прикладах, прогноз фінансових часових рядів і інші.

З формальної точки зору прикладні задачі в переважній більшості випадків відносяться до одному з трьох типів:

· апроксимація функції багатьох змінних,

· прогноз значень часового ряду,

· класифікація векторних даних.

Кожен студент одержує індивідуальне завдання по застосуванню багатошарової нейронної мережі для рішення задачі обробки даних кожного з трьох перерахованих вище типів. Метою роботи є побудова багатошарової нейронної мережі і дослідження її точностних характеристик. Робота виконується н в середовищі MatLab/Neural Net.

Апроксимація функцій багатьох змінних на багатошарової нейронної мережі

Як випливає з математичної моделі технічного нейрона, у нейронної мережі присутні нелінійні перетворювачі однієї змінної (активаційні характеристики нейронів). Тому можливість реалізації за допомогою нейронної мережі довільних нелінійних залежностей від багатьох змінних не є очевидною. Для підтвердження цієї можливості розглянемо одну зі схем апроксимації функцій багатьох змінних за допомогою дзвоно-подібних базисних функцій. Спочатку допустимо, що апроксимується функція f (x) однієї змінної. Апроксимація будується на підставі таблиці прикладів:

 

х1 y 1 = f (х1)

х2 y 2 = f (х2)

x 3 y 3 = f (x 3)

...................

...................

x у = f (x)

 

Представимо функцію f (x) наступним розкладанням:

f (x) = , (4.1)

де — дзвоноподібна функція, що характеризується зсувом уздовж осі x і “розмиттям” біля свого центра. Зокрема, подібна дзвоноподібна функція може бути задана гаусовою:

. (4.2)

Вона може бути реалізована на одному нейроні, потенціал якого визначається виразомм , де , , а передатна функція задана у вигляди гаусіани

.

Іншим способом реалізації дзвоноподної функції є використання різниці двох логістичних функцій, що зміщені одна відносно другої уздовж осі x:

.

З розкладання (4.1) випливає, що воно може бути реалізоване на двошаровій нейронній мережі: перший шар, що складається з N нейронів, має гаусіану як активаційну характеристику, а другий шар складається з єдиного нейрона з лінійною характеристикою, на якому реалізується підсумовування виходів нейронів першого шару. Апроксимація нелінійної функції досягається і при використанні в першому шарі логістичної активаційної характеристики, але при цьому, можливо, буде потрібно збільшити кількість нейронів. У процесі навчання мережі по вибірковим даним здійснюється такий підбір параметрів базисних функцій і вагових коефіцієнтів у розкладанні (4.1), при якому досягається необхідна точність апроксимації експериментальних даних.

У випадку, коли розглядається функція багатьох змінних, вона також представляється розкладанням типу (4.1):

f (х1, х2,..., x) = (4.3)

де — дзвоноподібна функція багатьох змінних. Подібна функція може бути реалізована на двошаровій нейронній мережі: на нейронах першого шару реалізуються протяжні “гребені” уздовж прямих чи гіперплощин у просторі ознак, а на другому шарі в областях перетинання “гребенів” реалізуються (при відповідному підборі зсувів нейронів у процесі навчання) локально зосереджені дзвоноподібні функції . Третій шар служить для реалізації підсумовування відповідно до формули (4.3).

Таким чином, модель багатомірного функціонального перетворювача для вектора розмірності M може бути побудована на нейронній мережі з трьома робочими шарами. У першому шарі бажано використовувати активаційну характеристику типу гаусіани, у другому — сигмоїду, а в третім — лінійну.

Прогноз часових рядів на багатошаровій нейронній мережі

Постановка задачі. Випадковий часовий ряд — це упорядкована послідовність випадкових величин. Роль параметра порядку звичайно грає час. Якщо випадкові величини незалежні, то часовий ряд називається “абсолютно випадковим” чи “білим шумом”. Проблема прогнозу часових рядів (дискретних послідовностей) виникає в численних екологічних задачах і найрізноманітніших технічних додатках.

Для прогнозу часових рядів можуть застосовуватися статистичні методи. У цьому випадку повинна бути побудована динамічна модель даних (наприклад, регресійна модель) для досліджуваного явища. Для найпростіших задач така модель може бути побудована відомими методами. Однак для практичних задач побудова подібної динамічної моделі являє собою складну аналітичну задачу. Ці додатки зв'язані звичайно не зі скалярними, а з векторними часовими рядами. Наприклад, у фінансовій сфері прогноз котирувань товару залежить від вектора динамічних даних, що включають ціни відкриття і закриття торгової сесії, середню і максимальну ціни торгової сесії, сумарний рівень заявок, валютні курси й ін.

У тому випадку, коли адекватної математичної моделі досліджуваних часових рядів не існує, зручним інструментом для рішення задачі прогнозу є нейромережевий екстра-полятор динамічних даних. Задача прогнозу векторного часового ряду ставиться в такий спосіб:

- задано реалізацію часового ряду , j = 1, 2,..., T, на інтервалі часу [D, T D] з постійним інтервалом дискретності D;

- потрібно побудувати оцінку значення часового ряду (звичайно однієї його коорди-на-ти) у момент часу (T + tpr) D, де tpr D — заданий час прогнозу.

З логічних міркувань чи шляхом статистичного аналізу наявної реалізації можна установити потрібну кількість попередніх значень щодо довільного поточного моменту часу j D, зв'язані з прогнозованим значенням. Це означає, що якщо представити прогно-зоване значення m – ої координати вектора x як функцію його попередніх вимірів:

,

те вибір значення q встановлює “пам'ять” екстраполятора. Значення q визначає також вхід-ний вектор для нейронної мережі, що будується для рішення задачі прогнозу. Розмірність цього вектора дорівнює M * q.

Таким чином, задача прогнозу даних на нейронної мережі зведена до задачі відтворення функції багатьох змінних за даними навчальної вибірки. Рекомендації з рішення цієї задачі викладені в попередньому розділі.

Підготовка даних.. У лабораторній роботі досліджується скалярний часовий ряд , j = 1, …, T (M = 1)... Після визначення значень параметрів q і tpr по заданій реалізації часового ряду будується наступна таблиця даних:

 

      ... q q + 1 ... q + tpr
    ...
. . . . . . . . . ... . . . . . . ... . . .
P ... ...

 

Кожен рядок таблиці являє собою один приклад навчальної вибірки. У першому стовпці — номер приклада, у наступних q стовпцях — значення часового ряду, подавані на вхід нейронної мережі, стовпці від номера (q + 1) до T використовуються при завданні часу прогнозу від D до tpr D. Загальне число P навчальних прикладів розділяється на 2 частині: перша використовується для навчання нейронної мережі, а частина, що залишилася - для її тестування. Рекомендується для навчання використовувати 80 — 85% навчальної вибірки.

Класифікація даних на багатошаровій нейронній мережі. Метою задачі класифікації є визначення класу належності об'єкта, що характери-зується вектором ознак . Апріорно відоме число класів K і задані P прик-ладів правильної класифікації, що оформлені у вигляді відповідної таблиці. У кожнім рядку таблиці розміщені наступні дані:

,

 

де p — номер приклада (рядка таблиці), — номер класу.

Багатошарові нейронні мережі здатні навчатися рішенню задачі класифікації за даними вибірки шляхом настроювання синаптичних коефіцієнтів і зсувів. Виберемо нейронну мережа, що має у вихідному шарі K нейронів по числу класів із сигмоїдальною активаційною характеристикою в діапазоні значень [–1, +1]. Зажадаємо, щоб після завер-шення процесу навчання на кожній із прикладів навчальної вибірки мережа реагувала порушенням (тобто значенням, близьким до +1) того виходу, номер якого відповідає номе-ру класу належності вхідного вектора. У той же час на інших виходах мережі значення повинні бути близькі до (–1). Ця вимога приводить до необхідності перетворення кожного рядка таблиці навчальних прикладів до наступного виду:

 

,

 

де , — бажані виходи нейронної мережі р-м прикладі.

Наприклад, якщо вектор ознак відноситься до 2 –го з 3 – х класів, те бажаний вихід мережі задається вектором . Зазначимо, що бажані виходи +1 і –1 можуть бути замінені на 1 і 0 з відповідною заміною сигмоїдальної характеристики вихідних нейронів.

Кількість шарів нейронної мережі і кількість нейронів у схованих шарах виби-раються експериментально, тому що архітектура мережі, здатної вирішити поставлену задачу, залежить від взаємного розташування областей класів у просторі ознак у кожній конкретній прикладній задачі.

Реальні вихідні значення нейронної мережі після її навчання не будуть досягати точ-но значень +1 і –1, а будуть знаходитися в деякій околиці цих значень. У зв'язку з цим після нейронної мережі повинний бути застосований визначений логічний блок, що дає однозначне рішення про приналежність об'єкта (вектора ознак) класу. При виконанні лабораторної роботи цей логічний аналіз проводить студент: він визначає такі значення і , a < b, при яких для усіх виходів і у всіх навчальних прикладах виконуються умови:

якщо , то ;

якщо , то ,

де , — i –ий фактичний вихід багатошарової нейронної мережі в p – му прикладі навчальної вибірки. У тому випадку, якщо не вдається підібрати значення a і b, тобто завжди хоча б в одному прикладі і на одному виході знайдеться таке значення , що належить інтервалу [ a, b ], те обрана архітектура мережі повинна бути ускладнена (додані нейрони в сховані ари чи збільшене число шарів), щоб забезпечити рішення задачі класифікації. Відзначимо, що описаний вище логічний блок необхідний у зв'язку з безперервністю сигмоїдальної характеристики нейронів вихідного шару.

Експериментальні дослідження виконуються в наступній послідовності.

1. Вибирається архітектура мережі для рішення поставленої задачі (кількість шарів мережі, кількість нейронів у шарах, активаційні характеристики в шарах).

2. Вибираються параметри процедури навчання мережі. Необхідна точність (параметр Tolerance) навчання встановлюється рівної 0,05.

3. Виконується навчання мережі. У процесі навчання в разі потреби (без скидання вже досягнутих результатів) допускається зміна параметрів алгоритму навчання (наприклад, при різкому росту значення чи критерію при надзвичайно повільній збіжності) і параметрів мережі (наприклад, при усвідомленні факту, що обрана архітектура недостатня для рішення задачі). Вироблені зміни фіксувати для представлення в звіті. Характер збіжності крите-ріальної функції помилки фіксується (замальовується) у процесі навчання мережі. При до-сягненні заданої точності отримана карта синаптичних коефіцієнтів повинна бути збережена у файлі. Навчання мережі варто продовжувати доти, поки близько 90% навчальних прикладів не будуть оброблятися з установленою необхідною точністю (Tolerance) 0,05.

4. Проводиться тестування навченої мережі. Фіксується точність обробки даних, виділених для тестування.

5. Скоротити кількість нейронів у шарах приблизно на 50% і повторити для отри-маної мережі пп. 2 — 4. Перевірити можливість досягнення тієї ж заданої точності.

Усі файли, отримані при виконанні досліджень, зберігаються до кінця роботи.

Звіт повинний містити:

1) опис розв'язуваної задачі;

2) опис навчальної і тестової вибірок;

3) характеристики обраної архітектури нейронної мережі;

4) установлені режими і параметри нейромережі й алгоритму навчання (якщо в процесі навчання вироблялися зміни настроювань, ці зміни повинні бути записані з указівкою причин);

5) якісний графік залежності помилки навчання від часу навчання (повинне бути позначене початкове значення помилки, час навчання, графік повинний відбивати характер поводження помилки на кожнім етапі навчання);

6) результати роботи мережі на тестових прикладах (для задачі прогнозування часового ряду побудувати в одних осях координат 2 графіки: щирі значення ряду для тестової вибірки від часу і спрогнозовані значення для тестової вибірки від часу; для задачі класифікації побудувати зображення класів і відзначити на малюнку крапки тестової вибірки, позначивши правильність класифікації);

7) пояснення результатів навчання і тестування;

оформлені аналогічно пп. 3 — 7 результати досліджень мережі зі спрощеною архітектурою.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: