Міністерство освіти і науки, молоді та спорту України
Національний університет «Львівська політехніка»
/
Звіт
до лабораторної роботи №5-6
«Застосування нейронних мереж для розв’язання задач класифікації»
Теоретичні відомості
Протягом останніх десятиліть у світі бурхливо розвивається нова прикладна область математики, що спеціалізується на штучних нейронних мережах (НМ). Актуальність досліджень у цьому напрямку підтверджується різноманітністю застосувань НМ.
Завдання, які вирішують нейромережі
Нейронні мережі найбільш пристосовані до розв’язання широкого кола завдань, так чи інакше пов'язаних з обробкою образів. От список типових постановок завдань для нейромереж.
Апроксимація функцій за набором точок (регресія)
Класифікація даних по заданому набору класів
Кластеризація даних з виявленням заздалегідь невідомих класів-прототипів
Стиснення інформації
Відновлення втрачених даних
Асоціативна пам'ять
Оптимізація, оптимальне керування
Де застосовуються нейромережі
Майже у кожній предметній області при найближчому розгляді можна знайти постановки нейромережевих завдань. Наведемо декілька з них.
Економіка та бізнес прогнозування ринків, оцінка ризику неповернення кредитів, прогнозування банкрутств, оцінка вартості нерухомості, виявлення пере- і недооцінених компаній, автоматичне рейтингування, оптимізація портфелів, оптимізація товарних і грошових потоків, автоматичне зчитування чеків і форм, безпека транзакцій по пластикових картках.
Медицина: обробка медичних зображень, моніторинг стану пацієнтів, діагностика, факторний аналіз ефективності лікування, очищення показань приладів від шумів.
Зв’язок: стиск відеоінформації, швидке кодування-декодування, оптимізація стільникових мереж і схем маршрутизації пакетів.
Інтернет асоціативний пошук інформації, електронні секретарі й агенти користувача в мережі, колаборативна фільтрація, рубрикація новин, адресна реклама, адресний маркетинг для електронної торгівлі.
Автоматизація виробництва оптимізація режимів виробничого процесу, комплексна діагностика якості продукції (ультразвук, оптика, гамма-випромінювання, ...), моніторинг і візуалізація бататомірної диспетчерської інформації, попередження аварійних ситуацій, робототехніка.
Політичні технології аналіз і узагальнення соціологічних опитувань, прогнозування динаміки рейтингів, виявлення значимих факторів, об'єктивна кластеризація електорату, візуалізація соціальної динаміки населення.
Безпека й охоронні системи: системи ідентифікації особистості, розпізнавання голосу, осіб у юрбі, розпізнавання автомобільних номерів, аналіз аерокосмічних знімків, моніторинг інформаційних потоків, виявлення підробок.
Введення й обробка інформації. Обробка рукописних чеків, розпізнавання підписів, відбитків пальців і голосу. Уведення в комп'ютер фінансових і податкових документів.
Геологорозвідка: аналіз сейсмічних даних, асоціативні методики пошуку корисних копалин, оцінка ресурсів родовищ.
Моделі НС можуть бути програмного й апаратного виконання. Надалі мова йтиме в основному про перший тип. Незважаючи на істотні відмінності, окремі типи НМ володіють декількома загальними рисами.
По-перше, основу кожної НМ становлять відносно прості, у більшості випадків - однотипні, елементи (комірки), які імітують роботу нейронів мозку. Далі під нейроном буде матися на увазі штучний нейрон, тобто комірка НМ. Кожний нейрон характеризується своїм поточним станом за аналогією з нервовими клітинами головного мозку, які можуть бути порушені або загальмовані. Він має групу синапсів - односпрямованих вхідних зв'язків, з'єднаних з виходами інших нейронів, а також мас аксон - вихідний зв'язок даного нейрона, з якого сигнал (збудження або гальмування) надходить на синапси наступних нейронів. Загальний вигляд нейрона наведений на рис1. Кожний синапс характеризуємся величиною синапатичного зв'язку або її вагою, що по фізичному змісту еквівалентний електричної провідності.
/
Рис. 1
Математична модель штучного нейрону була запропонована У. Маккалоком та У. Піттсом разом з моделлю мережі, що складається з цих нейронів. Автори показали, що мережа на таких елементах може виконувати числові і логічні операції. Практично мережа була реалізована Френком Розенблаттом в 1958 році як комп'ютерна програма, а згодом як електронний пристрій-перцептрон. Спочатку нейрон міг оперувати тільки з сигналами логічного нуля і логічної одиниці, оскільки був побудований на основі біологічного прототипу, який може перебувати тільки в двох станах - збудженому або не збудженому. Розвиток нейронних мереж показав, що для розширення області їхнього застосування необхідно, щоб нейрон міг працювати не тільки з бінарними, але і з безперервними (аналоговими) сигналами. Таке узагальнення моделі нейрона було зроблено Уїдроу і Хоффом, які запропонували використовувати логістичну криву як функцію спрацьовування нейрона.
Зв'язки, по яких вихідні сигнали одних нейронів надходять на входи інших, часто називають синапсами за аналогією зі зв'язками між біологічними нейронами. Кожен зв'язок характеризується своєю вагою. Зв'язки з позитивною вагою називаються збудливими, а з негативною - гальмівними. Нейрон має один вихід, який часто називають аксоном за аналогією з біологічним прототипом. З єдиного виходу нейрона сигнал може надходити на довільне число входів інших нейронів.
Математично нейрон являє собою ваговий суматор, єдиний вихід якого визначається через його входи і матрицю ваг таким чином:
/, де /
Тут / і / - відповідно сигнали на входах нейрона і ваги входів, функція u називається індукованим локальним полем, а f(u) - передавальною функцією. Можливі значення сигналів на входах нейрона вважають заданими в інтервалі /. Вони можуть бути або дискретними (0 або 1), або аналоговими. Додатковий вхід / і відповідна йому вага використовується для ініціалізації нейрона. Під ініціалізацією мається на увазі зсув активаційної функції нейрона по горизонтальній осі, тобто формування порогу чутливості нейрона. Крім того, іноді до виходу нейрона спеціально додають якусь випадкову величину, яка називається зсувом. Зсув можна розглядати як сигнал на додатковому, завжди навантаженому, синапсі.
Передавальна функція f (u) визначає залежність сигналу на виході нейрона від зваженої суми сигналів на його входах. У більшості випадків вона є монотонно зростаючою і має область значень / або /, проте існують винятки. Також для деяких алгоритмів навчання мережі необхідно, щоб вона була безперервно диференційовною на всій числової осі. Штучний нейрон повністю характеризується своєю передавальної функцією. Використання різних передавальних функцій дозволяє вносити нелінійність в роботу нейрона і в цілому нейронної мережі.
В основному, нейрони класифікують на основі їх положення в топології мережі. Розділяють:
Вхідні нейрони - отримують вектор, що кодує вхідний сигнал. Як правило, ці нейрони не виконують обчислювальних операцій, а просто передають отриманий вхідний сигнал на вихід, можливо, посиливши або послабивши його;
Вихідні нейрони - являють собою виходи мережі. У вихідних нейронах можуть проводитися будь-які обчислювальні операції;
Проміжні нейрони - виконують основні обчислювальні операції.
Архітектура зв’язків
На способі обробки інформації вирішальним чином позначається наявність або відсутність у мережі петель зворотних зв'язків. Якщо зворотні зв'язки між нейронами відсутні (тобто мережа має структуру послідовних шарів, де кожний нейрон одержує інформацію тільки з попередніх шарів), обробка інформації в мережі однонапрямлена. Вхідний сигнал обробляється послідовністю шарів і відповідь гарантовано отримується через число тактів, що дорівнює кількості шарів.
Наявність зворотних зв'язків може зробити динаміку нейромережі (що називається в цьому випадку рекурентною) непередбаченою. У принципі, мережа може "зациклитися'’ і не видати відповіді ніколи. Причому, згідно Тюрингу, не існує алгоритму, шо дозволяє для довільної мережі визначити, чи прийдуть коли-небудь, її елементи в стан рівноваги (т.зв. проблема зупинки).
Загалом кажучи, те, шо нейрони в рекурентних мережах декілька раз беруть участь в обробці інформації дозволяє таким мережам робити більш різноманітну й глибоку обробку інформації. Але в цьому випадку варто вживати спеціальних заходів до того, щоб мережа не зациклювалась (наприклад, використати симетричні зв'язки, як у мережі Хопфілда, або примусово обмежувань число ітерацій).
Порівняння архітектур зв’язків нейромереж
Порівняння нейромереж:
Без зворотних зв'язків (багатошарові)
Із зворотними зв'язками
Переваги
Простота реалізації
Мінімізація розмірів мережі
Гарантоване одержання відповіді після проходження даних по шарах
Менший обсяг мережі полегшує процес навчання
Недоліки
Необхідна більша кількість нейронів для алгоритмів одного і того самого рівня складності. Наслідок - більша складність навчання.
Необхідні спеціальні умови, що гарантують збіжність обчислень
Двошарові перцептрони
Можливості одношарового перцептрона є суттєво обмеженими - він здатен розв’язувати лише задачі, в який класи є лінійно-розділимі (тобто такі, що можуть бути розділені гіперплощиною). Для розв'язання таких більш складних класифікаційних завдань необхідно ускладнити мережу, вводячи додаткові (їх називають прихованими) шари нейронів, шо роблять проміжну передобробку вхідних даних таким чином, щоб вихідний нейрон-класифікатор одержував на свої входи вже лінійно-розділимі множини. Причому легко показати, що, в принципі, завжди можна обійтися всього лише одним прихованим шаром, що містить досить велику кількість нейронів.
Виконання роботи
Ознайомився з теоретичними відомостями
Завантажив Deductor та ознайомився з можливостями роботи з нейронними мережами. Уважно вивчив методику побудови нейронної мережі, її навчання та тестування.
Використовуючи один із готових файлів даних, виконую навчання нейронної мережі відповідно до прикладу з методичних вказівок.
Задача класифікації
Приклад:
/
Граф нейромережі
/
Правила типу «Якщо-то»
/
Якість класифікації
Особисті дані:
Проходжу всі кроки, які необхідні для створення графа нейромережі
/
/
/
/
/
/
/
По завершенні усіх кроків формую граф нейромережі та правила «Якщо-то»
/
Граф нейромережі
/
Правила «Якщо-то»
/
Якість класифікації
Задача прогнузовання
Особисті дані: Навчання в режимі «офлайн»
/
/
/
/
/
/
/
/
Результати:
/
Граф нейромережі
/
Правила «Якщо-то»
/
Діаграма розсіяння
/
Оцінка якості моделі
Навчання в режимі «онлайн»
Проходжу ті самі кроки що і в попередньому пункті, тільки на 5 кроці змінюю алгоритм проходження на «онлайн»
/
Результати:
/
Граф нейромережі
/
Правила «Якщо-то»
/
Діаграма розсіяння
/
Оцінка якості моделі
Висновок: в ході виконання даної лабораторної роботи я виконав навчання нейронної мережі для задач класифікації та прогнозування