Мультикласифікація із застосуванням розподілених вихідних кодів та нейронної мережі Персептрон

Методи розв’язання задачі мультикласифікації. Побудова кодів, що виправляють помилки. Розв’язання задачі мультикласифікації шляхом зведення до сукупності задач бінарної класифікації. Її реалізація за допомогою вихідних кодів і багатошарових персептронів.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык украинский
Дата добавления 27.06.2013
Размер файла 572,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

Размещено на http://www.allbest.ru

Київський національний університет імені Тараса Шевченка

Факультет кібернетики

Кафедра математичної інформатики

ВИПУСКНА КВАЛІФІКАЦІЙНА РОБОТА

БАКАЛАВРА

На тему:

Мультикласифікація із застосуванням розподілених вихідних кодів та нейронної мережі Персептрон

студента 4 курсу

Водяницького Геннадія Олександровича

Науковий керівник: асистент,

кандидат фізико-математичних наук

Порхун Олена Володимирівна

Київ - 2013

Анотація

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

Розглянуто метод мультикласифікації за допомогою кодів, що виправляють помилки. Ця технологія допускає певну кількість помилок, отриманих при роботі бінарних класифікаторів, для правильної мультикласифікації.

Розроблено програмну систему, що розв'язує задачу мультикласифікації за наявною навчальною вибіркою об'єктів, які задаються кількісними характеристиками. Дана система протестована на вибірці, елементи якої описують десять латинських літер, що взята архіву UCI. Отримано результати мультикласифікації за допомогою трьох методів, що використовують розподілені вихідні коди. В роботі наведено порівняльний аналіз розглянутих методів.

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

мультикласифікація код бінарна персептрон

ВСТУП

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

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

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

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

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

Розпізнавання рукописних цифр. Потрібно віднести дану цифру до одного з 10 класів.

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

Класифікація текстів за темами.

Розпізнавання фонем. Звичайно мовленнєвий сегмент відносять до одного з 50-60 фонем.

Біометрична ідентифікація і т.д.

В даній роботі в якості бінарних класифікаторів використовуються нейронні мережі, а саме багатошарові персептрони. Багатошарові персептрони утворюють один з найвідоміших класів нейронних мереж прямого розповсюдження. Вони успішно використовуються для вирішення різноманітних складних задач, в тому числі і для класифікації. При цьому навчання з вчителем виконується за допомогою алгоритму зворотного розповсюдження помилки, який добре справляється з задачею бінарної класифікації [6].

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

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

Об'єктом дослідження даної роботи є мультикласифікація об'єктів, заданих кількісними ознаками.

Предметом дослідження є сукупність теоретико-методологічних і практичних питань, пов'язаних з мультикласифікацією за допомогою розподілених вихідних кодів та багатошарових персептронів.

Метою дослідження є побудова програмного комплексу для мультикласифікації об'єктів, заданих кількісними ознаками; тестування отриманої системи на вибірці, елементи якої описують десять літер латинської абетки.

РОЗДІЛ 1

ПОСТАНОВКА ЗАДАЧІ КЛАСИФІКАЦІЇ ТА ОГЛЯД МЕТОДІВ ЇЇ РОЗВ'ЯЗАННЯ

1.1 Постановка задачі класифікації

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

Вважаємо, що маємо певну множину відомих вхідних даних та відповідних вихідних даних , де , - кількість відомих пар вхідних та вихідних даних.

- множина описів об'єктів (вхідних даних).

- множина номерів або найменувань класів (вихідні дані).

Ознака - це відображення , де - множина значень ознак. Якщо задані ознаки , що відповідають -ому об'єкту, тоді вектор - вектор ознак об'єкта . Вектор ознак звичайно ототожнюють самим об'єктом. При цьому множину називають простором ознак.

В залежності від множини ознаки поділяються на наступні типи:

бінарні ознаки: ;

номінальні ознаки: - скінченна множина;

порядкові ознаки: - впорядкована скінченна множина;

кількісні ознаки: - множина дійсних чисел.

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

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

1.2 Методи розв'язання задачі мультикласифікації

Методи розв'язку поставленої задачі засновані на побудові розподілених вихідних кодів. Кожному класу відповідає унікальний бінарний рядок певної довжини n; такі рядки будемо в подальшому називати кодовими словами. Потім n бінарних функцій (класифікаторів) навчаються, кожна з яких генерує один біт розподіленого вихідного коду (або просто вихідного коду).

Віднесення об'єкту x до деякого класу відбувається шляхом обчислення n бінарних функцій на x для генерації вихідного коду - n-бітного рядка s. Цей рядок порівнюється з кожним з k кодових слів, і x вважається об'єктом того класу, кодове слово якого найближче до s за певною метрикою.

Для порівняння вихідного коду та кодового слова найчастіше використовують відстань Геммінга. Вона визначає число позицій, в яких відповідні символи двох слів однакової довжини різні. В більш загальному випадку відстань Геммінга застосовується для рядків однакової довжини довільних q-них алфавітів і служить метрикою різності об'єктів однакової розмірності. Зазвичай відстань Геммінга розраховується між двома двійковими послідовностями (векторами) та довжини n і використовується для визначення міри різності між кодовими комбінаціями в векторному просторі кодових послідовностей.

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

(1.2.1)

Найпростіших підходом до розв'язку задачі мультикласифікації шляхом зведення її до ряду бінарних задач є порівняння кожного класу з усіма іншими. Цей метод в подальшому будемо називати «один проти всіх» (“one against all”) [14]. Якщо наявні k класів, то задача зводиться до розв'язку k бінарних задач. Множина кодових слів представляється у вигляді матриці M розмірності , в якій діагональні елементи дорівнюють одиниці, всі інші рівні нулю.

(1.2.2)

Але такий підхід в разі видачі невірних результатів хоч одним з k класифікаторів не здатен однозначно і коректно класифікувати поданий на вхід об'єкт. Правильна відповідь можлива лише тоді, коли вихідний код складається з нулів та одиниці, і Геммінгова відстань цього коду та кодового слова, яке відповідає класу, до якого відноситься цей об'єкт, дорівнює нулю. Якщо ж вихідний код містить нулі та декілька одиниць, тоді існує декілька кодових слів, з якими у даного коду відстань мінімальна, тобто даний об'єкт можна з однаковою ймовірністю віднести до декількох класів.

Розглянемо метод, який зводить задачу мультикласифікації до множини задач бінарної класифікації шляхом порівняння всіх можливих пар класів без повторень. Називатимемо цей підхід «всі пари» (“all pairs”) [14]. Оскільки кожен класифікатор розпізнає тільки об'єкти з пари класів, то для всіх інших об'єктів результат класифікації буде невірним. Через це в кодові слова потрібно додати проміжні значення, що відповідають ситуації, коли значення не визначено. Отже, при наявності k класів матриця кодових слів M матиме наступну розмірність:

. (1.2.3)

Кожний елемент матриці M може приймати значення з множини .

(1.2.4)

Основний недолік даного методу полягає у неоднозначності, яка з'являється внаслідок використання значення, яке відповідає за невизначеність [14]. Наприклад, якщо два кодових слова рівні за виключенням двох бітів: кодове слово A містить наступний код , B містить , де X - деяке спільне для A і B значення. Припустимо, що на тестовому об'єкті згенеровано код . Тоді за метрикою Мінковського T однаково близький як до A, так і до B. Інший недолік полягає в досить великій довжині кодових слів, що асимптотично прямує до квадратичної, відносно кількості класів. З цього випливає необхідність навчання великої кількості класифікаторів, що може займати багато часу.

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

1.3 Коди, що виправляють помилки

Підхід, в основі якого лежить побудова кодів, що виправляють помилки пропонує розглядати машинне навчання як вид комунікаційної проблеми, в якій інформація про коректний вихідний клас для нового об'єкта передається по певному каналу. Канал складається з вхідних параметрів, навчальної вибірки та алгоритму навчання. Через помилки, спричинені скінченністю навчальної вибірки, підібраними параметрами та недоліками навчального процесу, інформація про клас стає недостовірною. Шляхом представлення класу в коді, що виправляє помилки, і «передачі» кожного біту окремо (наприклад, розподілена робота навчального алгоритму) система буде здатна давати коректну відповідь про клас при наявності певної кількості помилок.

Міра якості коду, що виправляє помилки, визначається як мінімальна відстань Геммінга між довільними парами кодових слів. Якщо мінімальна Геммінгова відстань рівна d, тоді код здатен виправити помилок, і найближче кодове слово буде відповідати коректному класу [6].

Код, що виправляє помилки (error-correcting output code) - це матриця з бінарними значеннями. Довжина коду - це кількість стовпців матриці. Кількість рядків матриці рівна кількості класів. Кодове слово - рядок в матриці.

Якісний код, що виправляє помилки, для задачі мультикласифікації при наявності k класів має задовольняти двом властивостям:

Роздільність рядків. Кожне кодове слово має бути добре розділене за Геммінговою відстанню з усіма іншими кодовими словами.

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

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

Помилки в стовпцях та будуть також сильно корельованими, якщо біти в цих стовпцях є доповненнями один одного. Це є наслідком того, що такі алгоритми як алгоритм зворотного розповсюдження помилки розглядають клас і його доповнення симетрично [6]. Максимальна Геммінгова відстань між стовпцями досягається у випадку, коли стовпці є доповненнями один одного. Отже, умова роздільності стовпців вимагає як відсутності однакових стовпців, так і взаємодоповнюючих.

Якщо число класів не перевищує хоча б п'ять, то важко задовольнити обидві умови. Наприклад, якщо число класів дорівнює трьом, тоді можливо побудувати лише різних стовпців матриці кодових слів.

(1.3.1)

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

В результаті залишається 3 стовпці, що, по суті, є задачею «один проти всіх».

1.4 Побудова кодів, що виправляють помилки

Розглянемо три методи побудови якісних кодів, що виправляють помилки:

Метод побудови вичерпних кодів (exhaustive codes).

Метод, що вибирає стовпці з вичерпного коду.

Метод, який базується на алгоритмі рандомізованого «подолання підйомів» (randomized hill-climbing algorithm [6]).

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

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

(1.4.1)

Матрицею M задано код, що виправляє помилки, для задачі з п'ятьма класами. Відстань між рядками в цьому коді дорівнює восьми. Також немає однакових чи взаємодоповнюючих стовпців.

Якщо , будується вичерпний код і обирається якісна підмножина його стовпців. Для отримання розв'язку задача розглядається як задача здійсненності булевих формул і розв'язується за допомогою алгоритму GSAT [17]. Розв'язок має включати в себе рівно L стовпців (бажана довжина кодового слова), при цьому Геммінгова відстань між кожними двома стовпцями має бути між та для деякого вибраного значення . Кожному стовпцю відповідає булева змінна. Попарне взаємне обмеження вилучення встановлюється між всіма парами стовпців, які порушують умову роздільності.

При генерується випадкових кодових слів бажаної довжини L. Між довільною парою таких кодових слів Геммінгова відстань в середньому буде рівною [6]. Отже, випадково згенеровані коди якісні лише в середньому. Щоб їх покращити, алгоритм послідовно знаходить пари рядків, найближчих за Геммінговою відстанню та пару стовпців, що мають екстремальну відстань Геммінга, тобто дуже близькі або дуже далекі один від одного.

Рисунок 1.4.1 - Алгоритм «подолання підйомів для покращення роздільності рядків та стовпців. Два найближчі рядки та стовпці позначаються лініями.

Далі чотири біти з кодових слів, що належать перетинам рядків і стовпців, змінюються для покращення роздільності рядків і стовпців (див. рисунок 1.4.1). Коли ця процедура досягне локального максимуму, алгоритм випадковим чином обирає пари рядків та стовпців і намагається покращити їх роздільність.

РОЗДІЛ 2

ЗАСТОСУВАННЯ НЕЙРОННИХ МЕРЕЖ ДО ЗАДАЧ КЛАСИФІКАЦІЇ

2.1 Загальні відомості про нейронні мережі

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

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

Для накопичення знань використовуються зв'язки між нейронами, що називаються синаптичними вагами.

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

Рисунок 2.1.1 Штучний нейрон

Штучний нейрон представляє собою одиницю обробки інформації в нейронній мережі. В моделі нейрона (див. рисунок 2.1.1) можна виділити 3 основних елементи [3]:

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

Суматор складає вхідні сигнали, зважені відносно відповідних синапсів нейрона. Цю операцію можна описати як лінійну комбінацію.

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

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

В математичному представленні функціонування нейрона k можна описати наступною парою рівнянь:

(2.1.1) , (2.1.2)

де , ,…, - вхідні сигнали; , ,…, - синаптичні ваги нейрона k; - індуковане локальне поле нейрона k; - функція активації; - вихідний сигнал нейрона k. Також вважається, що вхідний сигнал , а його вага .

Функції активації визначають вихідний сигнал нейрона в залежності від індукованого локального поля . Можна виділити три основні типи функцій активації.

1. Функція одиничного стрибка (порогова):

(2.1.3)

Модель нейрона з такою функцією активації називається моделлю Мак-Каллока-Пітца.

2. Кусково-лінійна функція:

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

(2.1.5)

де а - параметр нахилу сигмоїдальної функції.

Сигмоїдальна функція на відміну від порогової може приймати довільне дійсне значення в діапазоні від 0 до 1. Варто зазначити, що сигмоїдальна функція диференційована.

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

. (2.1.6)

2.2 Багатошаровий персептрон

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

Рисунок 2.2.1 Схема багатошарового персептрону

Вхідний сигнал розповсюджується по мережі в прямому напрямку, від шару до шару. Багатошарові персептрони мають три характерні ознаки [3]:

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

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

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

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

В задачах класифікації доцільно використовувати багатошаровий повнозв'язний персептрон, проводячи навчання методом зворотного розповсюдження помилки, оскільки багатошаровий персептрон на відміну від одношарового здатен класифікувати об'єкти з областей, що не є лінійно-роздільними. До того ж наявність прихованих шарів та повнозв'язність дозволяють збільшити точність класифікації [3].

2.3 Задача XOR

В елементарному одношаровому персептроні немає прихованих нейронів. Отже, він не може класифікувати вхідні образи, які не можуть бути розділені однією гіперплощиною. Однак, нелінійно-роздільні області зустрічаються нерідко. Наприклад, саме така проблем виникає в задачі «виключного АБО» (XOR - exclusive OR problem), котру можна розглядати як частинний випадок більш загальної задачі класифікації точок одиничного гіперкубу. Кожна точка цього кубу належить одному з двох класів - 0 або 1. В якості частинного випадку задачі XOR розглянемо чотири кути одиничного квадрата, які відповідають вхідним парам (0, 0), (0, 1), (1, 0) та (1, 1). Перша і остання пари належать класу 0, тобто

та ,

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

та .

Задачу можна представити у вигляді наступної таблиці істинності:

XOR

0

1

0

0

1

1

1

0

Табл. 2.3.1

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

Для розв'язку цієї задачі введемо прихований шар з двома нейронами (рисунок 2.3.1)

Рисунок 2.3.1 - Граф нейронної мережі для розв'язку задачі XOR

При цьому вважаємо, що кожний нейрон представлений моделлю Мак-Каллока-Пітца, в якій порогова функція активації, а біти 0 та 1 представлені відповідно рівнями сигналу 0 та +1.

Верхній нейрон в прихованому шарі з міткою «1» характеризується наступним чином:

,

Границя розв'язків для цього нейрона показана на рисунку 2.3.2.

Рисунок 2.3.2

Нижній нейрон в прихованому шарі з міткою «2» має наступні властивості:

, .

Розміщення границі розв'язків для другого прихованого нейрона показано на рисунку 2.3.3.

Рисунок 2.4.2

Рисунок 2.3.3

Для вихідного нейрона, що позначений міткою «3» справедливо:

, .

Функцією вихідного нейрона є побудова лінійної комбінації границь розв'язків, сформованих двома прихованими нейронами. Результат обчислень показаний на рисунку 2.3.4.

Рисунок 2.3.4

Нижній прихований нейрон з'єднаний збуджуючим (додатнім) зв'язком з вихідним нейроном, в той час як верхній прихований нейрон - гальмуючим (від'ємним). Якщо обидва нейрони загальмовані, що відповідає вхідному образу (0, 0), то вихідний нейрон також залишається неактивним. Якщо обидва прихованих нейрони збуджені, що відповідає вхідному образу (1, 1), то вихідний нейрон залишається неактивним, оскільки гальмуючий вплив великої від'ємної ваги (верхній прихований нейрон) переважає над збуджуючою дією з меншою вагою (нижній прихований нейрон). Коли верхній прихований нейрон знаходиться в загальмованому стані, а нижній - у збудженому, що відповідає вхідним образам (0, 1) та (1, 0), тоді вихідний нейрон переходить у збуджений стан, так як збуджуючий сигнал з додатною вагою приходить від нижнього прихованого нейрона. Отже, розглянута мережа розв'язує задачу XOR.

2.4 Позначення в алгоритмі зворотного розповсюдження помилки

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

Індекси i, j та k відносяться до різних нейронів мережі. Коли сигнал проходить по мережі зліва направо, вважається, що нейрон j знаходиться на один шар правіше нейрона i, а нейрон k - ще на один шар правіше нейрона j, якщо останній належить прихованому шару.

Ітерація n відповідає n-му начальному образу (прикладу), що подається на вхід мережі.

Символ E(n) означає поточну суму квадратів помилок (або енергію помилки) на ітерації n. Середнє значення E(n) по всім значенням n (тобто по всій навчальній вибірці) називається середньою енергією помилки .

Символ описує сигнал помилки на виході нейрона j на ітерації n.

Символ означає бажаний відгук нейрона j і використовується для обчислення .

Символ описує функціональний сигнал, що генерується на виході нейрона j на ітерації n.

Символ використовується для позначення синаптичної ваги, яка пов'язує вихід нейрона i з входом нейрона j на ітерації n. Корекція, що застосовується до цієї ваги на кроці n, позначається .

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

Функція активації, що відповідає нейрону j і описує нелінійний взаємозв'язок вхідного та вихідного сигналів цього нейрона, позначається символом .

Поріг, що застосовується до нейрона j, позначається символом . Його вплив представлений синапсом з вагою , з'єднаним з фіксованим вхідним сигналом, рівним +1.

i-й елемент вхідного вектора позначається .

k-й елемент вихідного вектора (образа) позначається .

Параметр швидкості (інтенсивності) навчання позначається символом .

Символ позначає розмірність (кількість вузлів) шару l багатошарового персептрона; , де L - «глибина» мережі. Таким чином, символ означає розмірність вхідного шару; - розмірність першого прихованого шару; - розмірність вихідного шару.

2.5 Обґрунтування методу зворотного розповсюдження помилки

Навчання методом зворотного розповсюдження помилки передбачає два проходи по всіх шарах мережі: прямий та зворотний. При прямому проході вхідний вектор подається на сенсорні вузли мережі, після чого розповсюджується по мережі від шару до шару. В результаті генерується набір вихідних сигналів, який фактично є реакцією мережі на даний вхідний образ. Під час прямого проходу всі синаптичні ваги фіксовані. Під час зворотного проходу всі синаптичні ваги налаштовуються відповідно до правила корекції помилок, а саме: формується сигнал помилки, цей сигнал розповсюджується по мережі в напрямку, оберненому до напрямку синаптичних зв'язків. Синаптичні ваги налаштовуються з метою максимального наближення вихідного сигналу мережі до бажаного в статистичному сенсі.

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

(2.5.1)

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

, (2.5.2)

де множина включає всі нейрони вихідного шару мережі. Нехай N - загальна кількість прикладів в навчальній множині, тобто потужність цієї множини. Енергія середньоквадратичної помилки в такому випадку обчислюється як нормалізована по N сума всіх значень енергії помилки E(n):

.

Поточна енергія помилки E(n), а отже і середня енергія помилки , є функціями всіх вільних параметрів, тобто синаптичних ваг і значень порогу мережі. Для даної навчальної множини енергія представляє собою функцію вартості (cost function) - міру ефективності навчання. Метою процесу навчання є налаштування вільних параметрів мережі з метою мінімізації величини . В процесі мінімізації будемо використовувати метод навчання, в якому ваги корегуються для кожного навчального прикладу в межах однієї епохи, тобто всієї навчальної множини. Налаштування ваг виконується у відповідності з помилками, обчисленими для кожного образу, представленого в мережі.

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

, (2.5.3)

де - параметр швидкості навчання алгоритму зворотного розповсюдження.

Індуковане локальне поле , отримане на вході функції активації, пов'язаної з нейроном , визначається наступним чином:

(2.5.4)

Функціональний сигнал на виході нейрона на ітерації рівний:

(2.5.5)

Відповідно до правила ланцюжка градієнт можна представити у вигляді:

(2.5.6)

Диференціюючи обидві частини рівняння (2.5.2) по отримаємо:

. (2.5.7)

Продиференціюємо обидві частини рівняння (2.5.1) по , отримаємо:

. (2.5.8)

Потім, диференціюючи співвідношення (2.5.5) по отримаємо:

(2.5.9)

Продиференціюємо (2.5.4) і отримаємо:

(2.5.10)

Підставимо результати (2.5.7)-(2.5.10) у вираз (2.5.6):

(2.5.11)

Підставляючи (2.5.11) в (2.5.3), отримаємо:

(2.5.12)

Локальний градієнт вихідного нейрона вказує на необхідну зміну синаптичної ваги і визначається наступним чином:

(2.5.13)

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

(2.5.14)

Для обчислення похідної виконаємо деякі перетворення.

, (2.5.15)

де - вихідний шар.

(2.5.16)

Для вихідного нейрона справедливо:

(2.5.17)

(2.5.18)

Індуковане локальне поле нейрона складає

(2.5.19)

(2.5.20)

Підставляючи (2.5.18) та (2.5.20) в (2.5.16), отримаємо співвідношення:

(2.5.21)

Підставимо (2.5.21) в (2.5.14), отримаємо формулу зворотного розповсюдження для локального градієнта прихованого нейрона :

(2.5.22)

2.6 Функція активації

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

1. Логістична функція. Ця форма сигмоїдальної неперервності в загальному вигляді визначається таким чином:

, a > 0, , (2.6.1)

де - індуковане локальне поле нейрона j. Амплітуда вихідного сигналу нейрона з такою функцією активації лежить в діапазоні . Диференціюючи (2.6.1) по , отримаємо:

. (2.6.2)

Так як , то можна позбавитися від експоненти у виразі (2.6.2) і представити похідну функції активації в наступній формі:

. (2.6.3)

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

, (2.6.4)

де - функціональний сигнал на виході нейрона j;

- його бажаний сигнал.

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

(2.6.5)

Згідно з виразом (2.6.3) похідна досягає свого максимального значення при , а мінімального - при та . Оскільки величина корекції синаптичних ваг в мережі пропорційна похідній , то для максимальної зміни синаптичних ваг нейрона його функціональні сигнали, обчислені у відповідності з сигмоїдальною функцією, мають знаходитись в середині діапазону. Згідно з [15], саме ця властивість алгоритму зворотного розповсюдження найбільше впливає на його стійкість як алгоритму навчання.

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

, ,(2.6.6)

де a і b - константи. Насправді функція гіперболічного тангенса є не що інше як логістична функція, тільки масштабована та зміщена [3]. Її похідна по аргументу визначається наступним чином:

(2.6.7)

Для нейрона j, розташованого у вихідному шарі, локальний градієнт матиме вигляд:

(2.6.8)

Для нейрона j, розташованого у прихованому шарі, локальний градієнт виглядатиме так:

(2.6.9)

Використовуючи формули (2.6.4) і (2.6.5) для логістичної функції та формули (2.6.8) і (2.6.9) для гіперболічного тангенса, можна обчислити локальний градієнт навіть без явного знання активаційної функції.

2.7 Алгоритм зворотного розповсюдження помилки

Алгоритм циклічно обробляє приклади з навчальної вибірки наступним чином.

1. Генеруються синаптичні ваги та порогові значення за допомогою датчика рівномірно розподілених чисел з середнім значенням 0.

2. У мережу подаються приклади з навчальної вибірки. Для кожного образу послідовно виконуються прямий та зворотній проходи.

3. Прямий прохід: обчислюємо індуковані локальні поля та функціональні сигнали мережі, проходячи від шару до шару у прямому напрямку. Індуковане локальне поле нейрона j шару l обчислюється за формулою:

(2.7.1)

Якщо використовується сигмоїдальна функція, то вихідний сигнал нейрону j шару l обчислюється за формулою:

(2.7.2)

Якщо нейрон j знаходиться у першому прихованому шарі (l=1), то:

, (2.7.3)

де - j-й елемент вхідного вектора x(n). Якщо нейрон j знаходиться у вихідному шарі (l=L, де L - глибина мережі), то:

(2.7.4)

Обчислюємо сигнал помилки:

(2.7.5)

4. Зворотній прохід: обчислюємо локальні градієнти вузлів мережі за формулою:

Зміна синаптичних ваг шару l виконується за узагальненим дельта-правилом:

(2.7.7)

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

2.8 Критерій зупинки

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

Нехай w* - вектор ваг, що забезпечує досягнення алгоритмом зворотного розповсюдження локального або глобального мінімуму поверхні помилок. Необхідною умовою мінімуму є те, що вектор градієнта g(w) для поверхні помилок в цій точці дорівнює нулю. Отже, можна сформулювати наступний критерій збіжності алгоритму навчання зворотного розповсюдження:

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

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

Іншою властивістю мінімуму є те, що функція вартості в точці w = w* стабілізується. Отже можна сформулювати інший критерій зупинки навчання:

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

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

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

2.9 Режими навчання

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

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

1. Послідовний режим навчання також іноді називають стохастичним або інтерактивним. В цьому режимі корекція ваг проводиться після надходження кожного прикладу. Для прикладу розглянемо епоху, яка складається з N навчальних прикладів, впорядкованих наступним чином: (x(1), d(1)), … , (x(N), d(N)). Мережі подається перший приклад (x(1), d(1)) цієї епохи, після чого виконуються прямий та зворотній проходи обчислень. В результаті проводиться корекція синаптичних ваг та порогів у мережі. Після цього мережі подається друга пара (x(2), d(2)) епохи та повторюються прямий та зворотній проходи, що приводять до наступної корекції синаптичних ваг та порогів. Цей процес повторюється, поки мережа не завершить обробку останнього прикладу даної епохи - (x(N), d(N)).

2. Пакетний режим відрізняється від послідовного тим, що корекція ваг проводиться після подачі у мережу всіх прикладів навчання (епохи). Для конкретної епохи функція вартості визначається як середньоквадратична помилка виду:

,(2.9.1)

де сигнал помилки: відповідає нейрону j для прикладу навчання n. Внутрішня сума по j виконується по всім нейронам вихідного шару мережі, а зовнішня сума по n виконується по всім образам даної епохи. При заданому параметрі швидкості навчання з корекція, що застосовується до синоптичної ваги , яка пов'язує нейрони i та j, визначається за наступним правилом:

. (2.9.2)

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

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

З іншого боку стохастична природа послідовного режиму ускладнює знаходження умов збіжності алгоритму. Використання пакетного режиму забезпечує точну оцінку вектора градієнта. Таким чином гарантується збіжність алгоритму до локального мінімуму при достатньо простих умовах.

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

Отже, незважаючи на деякі недоліки послідовного режиму алгоритму зворотного розповсюдження, він найчастіше використовується, особливо в задачах розпізнавання образів з двох практичних причин [3]:

Цей алгоритм простий в реалізації.

Забезпечує ефективний розв'язок складних і великих задач.

РОЗДІЛ 3

ПРАКТИЧНА РЕАЛІЗАЦІЯ СИСТЕМИ

3.1 Побудова програмного комплексу

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

В якості бінарних класифікаторів використовуються повнозв'язні персептрони з одним прихованим шаром та одним вихідним нейроном. Вхідні образи мережі представляють собою вектори з дійсними компонентами.

На вхід мережі подаються нормовані до відрізку [0, 1] вектори, як цього вимагає алгоритм зворотного розповсюдження помилки. В якості функції активації використано сигмоїдальну функцію. А саме було обрано логістичну функцію, область значень якої - одиничний відрізок [0, 1].

(3.1.1)

де - параметр нахилу сигмоїдальної функції (оберемо ).

Рисунок 3.1.1 - Графік логістичної функції

Нормування даних відбувалось за допомогою наступного лінійного перетворення [3], що переводить дані в одиничний відрізок [0, 1]:

(3.1.2)

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

(3.1.3)

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

Параметр швидкості навчання обрано рівним 0,1.

Було реалізовано три методи мультикласифікації, що використовують розподілені вихідні коди:

«Один проти всіх». Використана матриця кодових слів розмірності , вона представлена в додатку А.

«Всі пари». Матриця кодових слів має розмірність , що слідує з формули (1.2.3). Матриця міститься в додатку Б.

Метод, що використовує коди, які виправляють помилки. Код, який виправляє помилки, має розмірність , він наявний в додатку В. Мінімальна Геммінгова відстань між кодовими словами рівна семи, тому код може виправити три помилки.

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

3.2 Аналіз отриманих результатів

Для демонстрації роботи системи використано навчальну вибірку з архіву UCI, який містить дані для тестування алгоритмів машинного навчання. Навчальна вибірка містить об'єкти, які описують десять літер латинської абетки: A, C, D, E, F, G, H, L, P, R. Отже, задача полягає у віднесенні заданого об'єкта до одного з десяти класів.

Рисунок 3.2.1 - Приклади літер з навчальної вибірки

Навчання з вчителем передбачає використання двох множин даних: навчальну та тестову вибірки. Після застосування алгоритму зворотного розповсюдження на даних з навчальної вибірки доцільно перевірити якість налаштованої системи класифікації. Для цього використовується тестова вибірка, для елементів якої відомі класи, до яких вони належать, тому є можливість визначити кількість правильно та неправильно класифікованих об'єктів з тестової вибірки.

Навчальна вибірка сформована чотирьохсот п'ятдесяти прикладів, тестова вибірка містить п'ятдесят елементів.

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

Кількість коректно класифікованих об'єктів для розглянутих методів становить:

«Один проти всіх»: 52%.

«Всі пари»: 74%.

Метод, що використовує коди, які виправляють помилки: 86%.

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

ВИСНОВКИ

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

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

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

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

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

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

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

Використовуючи вибірку, елементи якої характеризують десять латинських літер, отримано наступні результати точності класифікації : метод «один проти всіх» - 52%; «всі пари» - 74%; метод, що використовує коди, які виправляють помилки - 86%.

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

Покращенням швидкості навчання даної системи може бути присвоєння нейронам з більшим числом входів меншого значення параметру швидкості навчання, а нейронам з меншим числом входів ------ більшого. В [10] пропонується надавати параметр швидкості навчання для кожного нейрона обернено пропорційно квадратному кореню суми його синаптичних ваг. Більшої швидкості можна також досягти при використанні антисиметричної сигмоїдальної функції активації, відомим прикладом якої є функція гіперболічного тангенса.

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

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

СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ

Айвазян С. А., Бухштабер В. М., Енюков И. С., Мешалкин Л. Д. Прикладная статистика: классификация и снижение размерности / Айвазян С. А. - Москва: Финансы и статистика, 1989. - 607 с.

Ежов А. А., Шумский С. А. Нейрокомпьютинг и его применения в экономике и бизнесе / Ежов А. А. - Москва: МИФИ, 1998. - 224 с.

Хайкин С. Нейронные сети. Полный курс. Второе издание - Москва: Издательский дом «Вильямс», 2006. - 1104 c.

Allwein E.L, Shapire R.E, Singer Y., “Reducing Multiclass to Binary: A Unifying Approach for Margin Classifiers,” J. Machine Learning Research, vol. 1, 2000, p. 113-141.

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.