Файл: Лабораторна робота 15.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.04.2024

Просмотров: 20

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Тепер заготовимо набір повчальних даних (1, 2, 3 ., 100), задавши їх наступним виразом:

1:100.

Виберемо персептрон (Feed-Forward| Back| Propa-gation|) з тринадцятьма сигмоидными| (TANSIG|) нейронами прихованого шару і одним лінійним (PURELIN|) нейроном вихідного шаруючи. Навчання проводитимемо, використовуючи алгоритм Льовенберга-маркардта (Levenberg-Mar-quardt|), який реалізує функція TRAINLM|. Функція помилки - MSE|. Отримана мережа має вигляд, зображений на мал. 13.

Рисунок 13. Архитектура сети для решения задачи аппроксимации

Тепер можна приступити до навчання. Для цього необхідно вказати, які набори даних повинні бути використані як повчальні і цільові, а потім провести навчання (мал. 14).

Рисунок 14. Кривая обучения в задаче аппроксимации

Мал. 15 ілюструє різницю між цільовими даними і отриманою апроксимуючою кривою.

Рисунок 15. Красная кривая - целевые данные, синяя кривая - аппроксимирующая функция

З мал. 14 і 15 видно, наскільки зменшилася помилка апроксимації за 100 епох навчання. Форма кривої навчання на останніх епохах говорить також про те, що точність наближення може бути підвищена.

Розпізнавання образів

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

Приклад 4.

Необхідно побудувати і навчити нейронну мережу для вирішення завдання розпізнавання цифр.

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

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

Мал 16. Монохромне зображення початкових даних

Набори початкових даних (не плутати з цільовими даними) можна як завантажувати з файлів зображень, так і створювати безпосередньо в MATLAB|. Мал. 17 ілюструє вміст масиву початкових даних.


Мал. 17. Графічне представлення масива вихідних даних

Отримаємо повчальні дані, наклавши шум на набір початкових даних (мал. 18).

Мал. 18. Навчаючі дані

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

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

Для вирішення цього завдання вибрана мережа Feed-forward| backprop| з п'ятьма сигмоїдними| нейронами першого шару і п'ятьма лінійними нейронами другого шару. Алгоритм навчання - Льовенберга-маркардта. З такою конфігурацією мережа після восьми епох навчання дала помилку порядка| 10-30.

Щоб упевнитися в правдивості результату, ми прогнали мережу на заготовленій контрольній множині. Мережа бездоганно розділила і нову вибірку зашумлених| символів.

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

Імпорт-експорт даних

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

Ці завдання вирішують засоби імпорту-експорту і завантаження-збереження даних. Доступ до них здійснюється через головне вікно NNTool| (мал. 1) за допомогою кнопок Import| і Export|.

Імпорт

Джерелом служить змінна в робочому просторі MATLAB|, а пунктом призначення - змінна в робочому просторі NNTool|. Натиснувши кнопку Import|, потрапляємо у вікно "Імпорта-завантаження| даних" (Import| or| Load| to| Network/Data Manager|). За умовчанням тут встановлена опція завантаження з робочого простору MATLAB|, тому в центрі вікна з'являється список тих, що належать йому змінних. Вибравши мишачу потрібну змінну в полі "Вибір змінної" (Select| а Variable|), - їй можна задати довільне ім'я в полі "Ім'я" (Name|), під яким вона буде скопійована в NNTool|. Коли змінна виділена, NNTool| аналізує її тип і робить доступними для вибору ті "Категорії даних" (Import| As|), які підтримуються. Вказавши одну з них, слід натиснути кнопку "Імпортувати" (Import|), щоб завершити копіювання. Після того, як всі дії успішно проведені, ім'я змінної, що імпортується, з'явиться в одному із списків головного вікна NNTool|.



Завантаження з файлу

Тут джерело - файл. При цьому важливо, щоб його формат підтримувався NNTool|. У відповідному форматі зберігаються так звані MAT-файли|. Вони містять бінарні дані і дозволяють MATLAB| зберігати змінні будь-яких підтримуваних типів і розмірностей|. Такі файли можуть створюватися, наприклад, в процесі роботи з NNTool|. Щоб завантажити змінні з MAT-файла| в NNTool|, необхідно відкрити вікно імпорту, натиснувши кнопку "Import|" головного вікна NNTool|. Потім слід зазначити опцію "Завантажити з файлу" (Load| from| disk| file|) і, натиснувши "Огляд" (Browse|), відкрити файл даними, що зберігаються у форматі MAT-файлів|. Найчастіше, це файли з розширенням MAT|. В результаті, список у вікні імпорту заповниться іменами змінних, збережених у вказаному MAT-файлі|. Подальша послідовність дій повністю співпадає з описаною в пункті Імпорт (мал. 19).

Мал 19. Вікно імпорта та завантаження даних із mat-файла

Експорт

Ця функція копіює задані змінні з NNTool| в робочий простір MATLAB|. Вона доступна по натисненню кнопки Export| головного вікна NNTool|. У вікні експорту єдиним списком перераховані змінні всіх категорій, представлених в NNTool|. Тут необхідно виділити ті з них, які підлягають експорту, і натиснути Export|. Тепер виділені змінні скопійовані в робочий простір MATLAB|.

Збереження у файлі

В цілому, процедура схожа з експортом, за одним виключенням: відзначивши змінні, слід натиснути кнопку "Зберегти" (Save|). Тоді з'явиться вікно, в якому можна задати ім'я файлу. Його можна вказати без розширення - за умовчанням NNTool| прикріпить розширення MAT|. Це пов'язано з тим, що NNTool| зберігає дані тільки у форматі MAT-файлів| (мал. 20).

Мал. 20. Вікно експорта та збереження даних в mat-файлі

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