ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

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

     

    Інформатика, програмування

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

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

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

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

    (1) де n - число входів нейрона xi - значення i-го входу нейрона wi - вага i-го синапсу

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

    Y = f (S) (2)

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

    (3)

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

    (4)

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

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

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

    Нейронна мережу зворотного поширення складається з декількох шарівнейронів, причому кожен нейрон шару i пов'язаний з кожним нейроном шару 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 мережі по черзі у випадковому порядку пред'являються вектора знавчальної послідовності.

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

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

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

    (13.1)

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

    Представлення вхідних даних

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

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

    А також можливим прикладом може бути наприклад вік хворого
    | До 25 років | 25-39 років | 40-49 років | 50-59 років | 60 і старше |

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

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

    У другому випадку ми також можемо кодувати всі значення двійковимивагами, але це буде недоцільно, тому що набір можливих значень будедуже нерівномірним. У цьому випадку більш правильним буде встановлення ввідповідність кожному значенню своєї ваги, що відрізняється на 1 від вагисусіднього значення. Так число 3 буде відповідати віку 50-59лет.
    Таким чином вік буде закодований числами в діапазоні [0 .. 4].

    У принципі аналогічно можна чинити і для невпорядкованих даних,поставивши у відповідність кожному значенню будь-яке число. Однак цевводить небажану впорядкованість, яка може спотворити дані, ісильно ускладнити процес навчання. Як один із способів вирішенняцієї проблеми можна запропонувати поставити у відповідність кожному значеннюодного з входів НС. У цьому випадку за наявності цього значеннявідповідний йому вхід встановлюється в 1 або в 0 при іншому випадку.
    На жаль цей спосіб не є панацеєю, бо при великій кількостіваріантів вхідного значення числом входів НС розростається до величезноїкількості. Це різко збільшить витрати часу на навчання. В якостіваріанти вирішення цієї проблеми можна використовувати декілька інше рішення.
    У відповідність кожному значенню вхідного параметра ставиться бінарнийвектор, кожен розряд якого відповідає окремого входу НС. Наприкладякщо число можливих значень параметра 128, то можна використовувати 7розрядний вектор. Тоді 1 значенням буде відповідати вектор 0000000 а
    128 - вектор 1111111, а, наприклад, 26 значенню - 0011011. Тоді числонеобхідних для кодування параметрів входів можна визначити як

    N = log2n (15)

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

    N-кількість входів < p> Перетворення числових вхідних даних

    Для НС необхідно щоб вхідні дані лежали в діапазоні [0 .. 1], в тойчас як дані проблемної області можуть лежати в будь-якому діапазоні.
    Припустимо що дані по одному з параметрів лежать в діапазоні
    [Min .. Max]. Тоді паіболее простим способом нормування буде

    (16) де x-початкове значення параметра

    -значення, що подається на вхід НС

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

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

    (17)
    -----------------------< br>Рис.1 Схема нейрона

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status