Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Математичні основи нейронних мереж

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Найпростіший метод градиентного спуску, розглянутий вище, дуже неефективний у разі, коли похідні різноманітні вагам дуже відрізняються. Це відповідає ситуації, коли значення функції P. S декому нейронів близька по модулю до 1 чи коли модуль деяких терезів значно більше 1. І тут для плавного зменшення помилки треба обирати дуже маленьку швидкість навчання, та заодно навчання триватиме занадто… Читати ще >

Математичні основи нейронних мереж (реферат, курсова, диплом, контрольна)

В наші дні виростає потреба в системах, які можуть як виконувати якось запрограмовану послідовність дій над заздалегідь певними даними, але й мають самі аналізувати знову що надходить інформацію, знаходити у своєму ній закономірності, виробляти прогнозування тощо. У цій сфері додатків найкращим чином зарекомендували себе звані нейронные мережі - самообучающиеся системи, що імітують діяльність людського мозку. Розглянемо докладніше структуру штучних нейронних мереж (СР) та їх застосування у конкретних задачах.

Штучний нейрон.

Попри велика різноманітність варіантів нейронних мереж усі мають спільні риси. Так усі вони, як і мозок людини, складаються із великої числа однотипних елементів — нейронів, які імітують нейрони мозку, пов’язаних між собою. На мал.1 показано схема нейрона.

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

(1).

де.

n — число входів нейрона.

xi — значення i-го входу нейрона.

wi — вагу i-го синапса.

Потім визначається значення аксона нейрона по формуле.

Y = f (S) (2).

Де f — деяка функция, которая називається активационной. Найчастіше як активационной функції використовується так званий сигмоид, який має наступний вид:

(3).

Основне гідність цієї функції у цьому, що вона дифференцируема на осі абсцис і має дуже просту производную:

(4).

За зменшення параметра?? сигмоид стає більш пологим, вироджуючись в горизонтальну лінію лише на рівні 0,5 при ?=0. При збільшенні? сигмоид дедалі більше наближається до функції одиничного скачка.

Нейронные мережі зворотного распространения.

Нейронные мережі зворотного поширення — це найпотужніший інструмент пошуку закономірностей, прогнозування, якісного аналізу. Така назва — мережі зворотного поширення (back propagation) вони мали через використовуваного алгоритму навчання, у якому помилка поширюється від вихідного шару до вхідному, тобто. у бік, протилежному напрямку поширення сигналу нормального функціонуванні сети.

Нейронна мережу зворотного поширення складається з кількох верств нейронів, причому кожен нейрон шару і пов’язані з кожним нейроном шару i+1, тобто. йдеться про полносвязной НС.

У випадку завдання навчання СР зводиться до пошуку певної функціональної залежності Y=F (X) де X-вектор вхідний, а Yвихідний вектори. У випадку таке завдання, при обмеженому наборі вхідних даних має безліч рішень. Для обмеження простору пошуку під час навчання поставлено завдання мінімізації цільової функції помилки СР, що є методом найменших квадратов:

(5).

где.

yj — значення j-го виходу нейросети.

djцільове значення j-го выхода.

p — число нейронів в вихідному слое.

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

(6).

де ?- параметр визначальний швидкість обучения.

(7).

де.

yjзначення виходу j-го нейрона.

Sj — зважена сума вхідних сигналів, обумовлена за такою формулою (1). У цьому множитель.

(8).

де xi — значення i-го входу нейрона.

Далі розглянемо визначення першого множника формули (7).

(9).

де k — число нейронів в шарі n+1.

Введемо допоміжну переменную.

(10).

Тоді зможемо визначить рекурсивную формулу визначення n-ного шару якщо відомо наступного n+1-го слоя.

(11).

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

(12).

І, насамкінець запишемо формулу (6) в розкритому виде.

(13).

Розглянемо тепер повний алгоритм навчання нейросети.

1. подати на вхід СР одне із необхідних образів і побачити значення виходів нейронів нейросети.

2. розрахувати для вихідного шару СР за такою формулою (12) і розрахувати зміни терезів вихідного шару N за такою формулою (13).

3. Розрахувати по формулам (11) і (13) відповідно і інших верств СР, n=N-1.1.

4. Скоригувати все ваги СР (14).

5. Якщо помилка істотна, то перейти на крок 1.

На етапі 2 мережі по черзі у випадковому порядку пред’являються вектора з навчальною последовательности.

Підвищення ефективності навчання СР зворотного распространения.

Найпростіший метод градиентного спуску, розглянутий вище, дуже неефективний у разі, коли похідні різноманітні вагам дуже відрізняються. Це відповідає ситуації, коли значення функції P. S декому нейронів близька по модулю до 1 чи коли модуль деяких терезів значно більше 1. І тут для плавного зменшення помилки треба обирати дуже маленьку швидкість навчання, та заодно навчання триватиме занадто багато времени.

Найпростішим методом вдосконалення градиентного спуску лежить введення моменту ?, коли вплив градієнта зміну терезів змінюється згодом. Тоді формула (13) прийме вид.

(13.1).

Додатковим перевагою від уведення моменту є здатність алгоритму долати дрібні локальні минимумы.

Уявлення вхідних данных.

Основне відмінність СР у тому, що мені все вхідні і вихідні параметри представлені у вигляді чисел з плаваючою точкою зазвичай, у діапазоні [0.1]. У водночас дані предметної області мають інше кодування. То це скільки може бути вересня довільному діапазоні, дати, символьні рядки. Отже даних про проблемі може бути як кількісними і якісними. Розглянемо спочатку перетворення якісних даних в числові, та був розглянемо спосіб перетворення вхідних даних в необхідний диапазон.

Якісні дані ми можемо розділити на дві групи: впорядковані (ординальные) і невпорядковані. Для розгляду способів кодування цих даних ми розглянемо завдання прогнозуванням успішності лікування будь-якого захворювання. Прикладом упорядкованих даних можуть наприклад бути дані, наприклад, про додаткові чинники ризику при даному захворюванні.

Ні Ожиріння Алкоголь Куріння Гіпертонія.

До того ж можливим прикладом то, можливо наприклад вік больного.

До 25 років 25−39 років 40−49 років 50−59 років 60 і старше.

Небезпека кожного чинника зростає у таблицях під час руху зліва направо.

У першому випадку бачимо, що з хворого може бути кілька чинників ризику одночасно. У разі слід використовувати таке кодування, у якому відсутня ситуація, коли різним комбінаціям чинників відповідає один і той ж значення. Найбільш поширений спосіб кодування, коли кожному чиннику ставлять у відповідність розряд двоичного числа. 1 у тому розряді свідчить про наявність чинника, а 0 про її відсутність. Параметру немає можна експортувати відповідність число 0. Отже до подання всіх згаданих чинників досить 4-х разрядного двоичного числа. Отже число 10 102 = 1010 означає наявність в хворого гіпертонії та споживання алкоголю, а числу 2 відповідає відсутність хворий чинників ризику. Отже чинники ризику буде представлено числами буде в діапазоні [0.15].

У другий випадок ми також можемо кодувати все значення двоичными вагами, але це буде недоцільно, т.к. набір можливих значень буде надто нерівномірним. І тут правильніше буде установка у відповідність кожному значенням свого ваги, може похвалитися на 1 ваги сусіднього значення. Так число 3 відповідатиме віку 50−59лет. Отже вік буде закодований числами буде в діапазоні [0.4].

У принципі так аналогічно можна чинити й у неупорядкованих даних, поставивши у відповідність кожному значенням якесь число. Але це вводить небажану упорядкованість, яка може спотворити дані, і дуже утруднити процес навчання. Як один із шляхів розв’язання цієї проблеми можна запропонувати експортувати відповідність кожному значенням однієї з входів СР. І тут за наявності цього значення відповідний йому вхід встановлюється один чи 0 при іншому разі. На жаль цей спосіб перестав бути панацеєю, бо при велику кількість варіантів вхідного значення число входів СР розростається до величезної кількості. Це принципово збільшить витрати часу на навчання. Як варіант обходу цієї проблеми можна використовувати дещо інша рішення. У відповідність кожному значенням вхідного параметра ставиться бінарний вектор, кожен розряд якого відповідає окремому входу СР. Наприклад якщо число можливих значень параметра 128, можна використовувати 7 розрядний вектор. Тоді 1 значенням відповідатиме вектор 0 а 128 — вектор 1 111 111, а, например, 26 значенням — 11 011. Тоді число необхідних кодування параметрів входів можна з’ясувати, як.

N=log2n (15).

Де.

nкількість значень параметра.

Nкількість входов.

Перетворення числових вхідних данных.

Для СР необхідно щоб вхідні дані лежали буде в діапазоні [0.1], тоді як дані проблемної області спроможні лежати у кожному діапазоні. Припустимо що ці однієї зі параметрів лежать у діапазоні [Min.Max]. Тоді паиболее у спосіб нормування будет.

(16).

де xвихідне значення параметра.

— значення, подаване на вхід НС.

На жаль цей спосіб кодування не позбавлений недоліків. Так було в разі, якщо такий розподіл даних на вході може взяти вид.

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

(17).

Показати весь текст
Заповнити форму поточною роботою