Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Інформаційні технології проектування
Кафедра:
Не вказано

Інформація про роботу

Рік:
2008
Тип роботи:
Методичні вказівки
Предмет:
Системи автоматизованого проектування ЗВТ

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” ІНСТИТУТ КОМП’ЮТЕРНИХ НАУК ТА ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ Кафедра “Системи автоматизованого проектування”  ОПТИМІЗАЦІЯ МОДЕЛІ НЕЙРОННОЇ МЕРЕЖІ ГЕНЕТИЧНИМИ АЛГОРИТМАМИ У СЕРЕДОВИЩІ MATLAB МЕТОДИЧНІ ВКАЗІВКИ до виконання лабораторної роботи № 6 з дисципліни “Моделювання систем” для студентів спеціальності 7.080402 “Інформаційні технології проектування” Затверджено на засіданні кафедри систем автоматизованого проектування Протокол № від . .2008 р. на засіданні методичної ради ІКНІ Протокол № від . .2008 р. ВАК № від . .2008 р. Львів-2008 Оптимізація моделі нейронної мережі генетичними алгоритмами у середовищі Matlab. Методичні вказівки до виконання лабораторної роботи № 6 з дисципліни “Моделювання систем” для студентів спеціальності 7.080402 “Інформаційні технології проектування” для денної та заочної форм навчання/Укл. П.В.Тимощук. - Львів: Національний університет ”Львівська політехніка”, 2008. – 25 с. Укладач: Тимощук П.В. Відповідальний за випуск: Лобур М. В., д-р техн. наук, професор Рецензенти: Мичуда З. Р., д-р техн. наук, професор Каркульовський В. І., канд. техн. наук, доцент МЕТА РОБОТИ Вивчити і закріпити знання та основні аспекти роботи, а також отримати практичні навички оптимізації моделі нейронної мережі за допомогою генетичних алгоритмів у середовищі програми Matlab. ОПТИМІЗАЦІЯ ПАРАМЕТРІВ МОДЕЛІ НЕЙРОННОЇ МЕРЕЖІ ЗА ДОПОМОГОЮ ГЕНЕТИЧНИХ АЛГОРИТМІВ У СЕРЕДОВИЩІ MATLAB 1. Оптимізація моделі нейронної мережі за допомогою генетичних алгоритмів. У розглянутих в попередніх лабораторних роботах прикладах використовуються окремі випадки значень параметрів моделі нейронної мережі  (1) де ,), ,)- постійні вхідні сигнали та стани мережі відповідно;  - скаляр, що відповідає вхідній провідності нейрона ;  - скаляр, який відповідає вхідній ємності нейрона ; - коефіцієнт підсилення активаційної функції;  - діагонально-стабільна симетрична матриця з , ),g());→,  - локально неперервна за Ліпшицем та нелінійно діагональна, ,  для кожного , . Для інших значень a, p, l та  зони розподіл зон кількості переможців відповідно змінюється, тому для гарантування коректного функціонування мережі у необхідному регіоні вказані парамери повинні бути адекватно адаптовані. У нормальному режимі необхідно вибрати лише одного переможця серед будь-яких двох вхідних сигналів з діапазону  i=1,2. Тому мають бути знайдені значення параметрів  та , які гарантують коректне функціонування мережі у діапазоні зміни . Для того, щоб визначити такі параметри, необхідно розв’язати наступну задачу параметричного синтезу. Задача параметричного синтезу. Знайти такі значення параметрів a,p,l та , які задовольняють умови a>p>0; 2(a-p)<r; (2) l>0, >0, що для всіх пар  у діапазоні [-1,+1] модель (1) демонструє лише одного позитивного компонента у встановленому режимі. При умові  (3) де, ,  - роздільна здатність вхідних сигналів мережі існування властивості >0;<0, (4) де , , у встановленому режимі лише позитивний компонент вектора  буде відповідати найбільшому компоненту вектора . Тому може бути запропонована наступний алгоритм отримання шуканих параметрів: крок 1: задання початкових значень  та , які задовольняють нерівності  з умови (3) та нерівностей  крок 2: знаходження значень  та  в результаті розв’язання сформульованої задачі параметричного синтезу. Сформульовану задачу параметричного синтезу можна подати, як проблему оптимізації. Техніка, придатна для розв’язання такої задачі, може грунтуватись на використанні генетичних алгоритмів. Генетичні алгоритми, розроблені Джоном Голандом та його колегами, є пошуковими процедурами, які базуються на принципах природних селекції та генетики. Вони поєднують виживання найпридатніших стрингів (штучних точок), при якому значення стрингів випадково змінюються, формуючи алгоритм з певними рисами людського пошуку. У кожному поколінні (ітерації) створюється нова множина стрингів, використовуючи старі стринги. Теоретично та емпірично доведено, що генетичні алгоритми забезпечують робастний пошук у складних просторах. Алгоритми не лімітуються обмеженнями стосовно простору цільових функцій, їх неперервності та існування похідних, унімодальності та ін. Генетичні алгоритми відрізняються від традиційних оптимізаційних та пошукових процедур тим, що: 1) функціонують з кодами параметрів, а не з самими параметрами; 2) пошук ведеться за множиною точок, а не за однією точкою; 3) використовують інформацію цільової функції, а не похідних або іншу додаткову інформацію; 4) використовують імовірнісні, а не детерміністичні правила переходів. Дослідження генетичних алгоритмів ведуться у багатьох наукових школах, алгоритми знаходять широке наукове та інженерне застосування. Для трансформації вищепоставленої задачі синтезу до задачі оптимізації сконструюємо цільову функцію у формі, придатній для використання у генетичних алгоритмах. Така функція повинна бути ненегативною для всіх можливих вхідних сигналів . У встановленому режимі модель нейронної мережі другого порядку (1) має лише чотири незалежних параметри:  та , оскільки параметр  залежить від решти параметрів, а параметр  має вплив на розв’язки моделі (1) лише у перехідних режимах. Тому у поставленій задачі синтезу ціль може бути сформульована, як максимізація у межах  наступної функції: , (5) де  - кількість розв’язків встановленого режиму моделі нейронної мережі другого порядку (1)  у діапазоні зміни вхідних сигналів   - кількість дискретних точок , які мають наступні обмеження:  (6) де  та  - задані скалярні мінімальне та максимальне значення станів у встановлених режимах  та  моделі (1) при  з точки зору схемної реалізації мережі;  - нелінійна недиференційовна функція шуканих параметрів . Оскільки цільова функція (5) є ненегативною для заданих вхідних сигналів , її не потрібно приводити до форми так званої функції придатності. Однак, для того, щоб отримати в результаті розв’язання задачі синтезу мінімальні значення параметрів та , долучимо ці параметри до цільової функції. Оскільки відносно параметрів , та  мета природно постає, як мінімізація їх значень, для трансформації задачі мінімізації до задачі максимізації , та  сформуємо наступну цільову функцію:  (7) де  - максимально дозволене з умови діагонально-стабільного типу матриці  значення недіагонального елементу ;  - мале додатнє число; - ваги, які можуть бути вибрані з умов  Діапазони зміни ваг вибиремо такими для того, щоб значення членів цільової функції були однакового порядку. Це гарантуватиме те, що у цільовій функції не будуть суттєво домінувати її окремі члени. Тоді можна сформулювати наступну задачу максимізації з обмеженнями: знайти такі значення параметрів  та , які максимізують функцію (7), що має обмеження (6). При розв’язанні сформульованої задачі максимізації генетичні алгоритми генеруватимуть послідовність значень параметрів  та , використовуючи модель нейронної мережі другого порядку (1), цільову функцію (7) та обмеження (6). Тому, використовуючи для максимізації генетичні алгоритми, можна розв’язувати задачу аналізу, обчислювати значення цільової функції і провіряти, чи не порушуються якісь з обмежень. Якщо ні, призначати параметрам цільової функції значення, які відповідають обчисленій цільовій функції. Якщо обмеження порушуються, розв’язок є непридатним. Оскільки сформульована задача оптимізації має обмеження і знаходження оптимального розв’язку є досить трудоємким, трансформуємо задачу оптимізації з обмеженнями до задачі оптимізації без обмежень, включивши обмеження до цільової функції. Тобто, для розв’язання поставленої задачі максимізації з обмеженнями у формі нерівностей (6) апроксимуємо її задачею максимізації без обмежень. Припустимо, що розв’язок задачі без обмежень збігається до розв’язку задачі з обмеженнями. Для розв’язання задачі без обмежень вирішальним кроком є побудова відповідної енергетичної (псевдо-цільової) функції , для якої мінімум  є одночасно розв’язком вищепоставленої задачі синтезу. Одним з найпростіших методів побудови апроксимаційної енергетичної функції є метод штрафних функцій. Сформуємо для методу штрафних функцій нову цільову функцію і перетворимо задачу з обмеженнями шляхом додавання до цільової функції (6) члена штрафної функції до наступної задачі максимізації без обмежень: знайти такі параметри моделі мережі (1) , які максимізують значення енергетичної функції  (8) де  - цілий ненегативний член штрафної функції,  - штрафний параметр (як правило ). Оскільки штрафна функція містить двосторонні обмеження (6), тому може бути використана наступна функція з двома окремими обмеженнями:  (9) Вирази (8) та (9) є негладкими, тобто перші похідні від  по відношенню до шуканих змінних  не є неперервні. Тому для розв’язання задачі максимізації замість градієнтного методу можна використати неградієнтний метод максимізації генетичними алгоритмами. Припустимо, що точний оптимальний розв’язок  максимізує (9) при будь-яких штрафних параметрах скінченного значення  для всіх . Використаємо, як необхідну умову для успішного застосування методу штрафних функцій те, що існують такі значення параметрів , що модель мережі другого порядку (1) буде мати лише розв’язки для будь-яких вхідних сигналів . Відмітимо, що енергетична функція  містить, крім цільової функції (5), член “штрафної” функції, який зменшує значення  завжди, коли якесь з обмежень (6) порушується і чим більше порушення, тим суттєвішим є вказане зменшення. В результаті розв’язання задачі максимізації (9) визначаються такі значення параметрів , які гарантують існування розв’язків нейронної мережі, що мають властивість (4) для будь-яких вхідних сигналів в максимально можливому діапазоні зміни вхідних сигналів . Отриманий діапазон може бути використаний, як обмеження, які повинні застосовуватись для вхідних сигналів моделі нейронної мережі другого порядку (1). 2. Реалізація генетичних алгоритмів у середовищі Matlab. Генетичні алгоритми і графічне меню прямого пошуку. Генетичні алгоритми і графічне меню прямого пошуку – це набір функцій, які розширюють можливості графічного меню оптимізації і обчислювального числового середовища програми Matlab. Генетичні алгоритми і графічне меню прямого пошуку включають програму для розв’язання задач оптимізації, використовуючи генетичні алгоритми прямого пошуку. Алгоритми дають можливість розв’язувати низку задач оптимізації, які знаходяться за межами стандартного графічного меню оптимізації. Всі функції графічного меню інструментів – це М-файли Matlab, сформовані з тверджень Matlab, які реалізують спеціалізовані алгоритми оптимізації. Коди Matlab для цих функцій можна побачити, використовуючи протокол (твердження) type function_name.Можливості генетичних алгоритмів і графічного меню прямого пошуку можна розширити, написавши власні М-файли або використовуючи панель інструментів в комбінації з Simulink. Запуск генетичних алгоритмів. Щоб запустити генетичні алгоритми, треба натиснути на клавішу Start y режимі Ran solver. Після цього в полі Current generations буде показаний номер поточного покоління. Поля Status і Results покажуть повідомлення "GA runnig". Коли робота алгоритму припиняється, поля Status і Results показують повідомлення "GA terminated". Поки алгоритми запускаються, параметри в панелі інструментів можна змінювати. Зміни будуть прийняті в наступному поколінні. Поки зміни, які з’являються на початку наступного покоління, не будуть прийняті, поля Staus і Results генерують повідомлення Changes pending. На початку наступного покоління з’являється повідомлення Changes applied. Написання М-файлів для функцій, які треба оптимізувати. Для використання генетичних алгоритмів і графічного меню прямого пошуку спочатку треба написати М-файл, який обчислює функцію, що має бути оптимізована. М-файл повинен бути вектором-рядком, довжина якого дорівнює числу незалежних змінних для цільової функції, і повертатися скалярною величиною. Припустимо, що треба мінімізувати функцію. М-файл, який обчислює цю функцію, повинен бути вектором-рядком x довжини 2, відповідаючи змінним  і , і повертати скалярну величину, рівну значенню функції в точці x. Для того, щоб написати М-файл, необхілно виконати такі кроки: 1. Вибрати команду New у файловому меню Matlab. 2. Вибрати М-файл. Ця команда відкриває новий М-файл у редакторі. 3. В М-файлі ввести такі два рядки кодів: function z = my_fun(x) z = x(1) ^2 - 2*x(1) *x(2)+ 6*x(1)+ x(2) ^2 - 6*x(2); 4. Зберегти М-файл у папці на шляху Matlab. Для того, щоб перевірити, що М-файл повертає правильне значення, треба ввести my_fun([2 3]). Отримана відповідь буде мати такий вигляд: ans =-5. Примітка. Не слід використовувати Editor/Debugger для того, щоб виправити несправності М-файлу для цільової функції під час роботи панелі графічного алгоритму або меню пошуку за шаблоном. Це призводить до появи повідомлень на мові Java в командному вікні і ускладнює виправлення несправностей. Виклик генетичних алгоритмів. Існує два шляхи: генетичні алгоритми можна викликати за допомогою панелі інструментів: викликаючи функцію генетичних алгоритмів ga в командному рядку; використовуючи меню генетичних алгоритмів та графічний інтерфейс для генетичних алгоритмів. Для того, щоб викликати генетичні алгоритми в командному рядку, треба викликати функцію генетичних алгоритмів ga з синтаксичною структурою [x fval] = ga(@fitnessfun, nvars, options), де @fitnessfun - шлях до функції придатності; nvars - число незалежних змінних для функції придатності; оptions – структура, яка містить опції для генетичних алгоритмів. Якщо ці аргументи не задаються, функція ga використовує свої опції. Використання функції ga є зручним, якщо потрібно: повернути результати безпосередньо до робочого простору Matlab; керувати генетичними алгоритмами багаторазово з різними опціями, викликаючи функцію ga з М-файлу; керувати генетичними алгоритмами багаторазово з різними опціями, викликаючи функцію ga з М-файлу. Використання інструментів генетичних алгоритмів. Меню інструментів генетичних алгоритмів - це графічний інтерфейс користувача, який дає можливість використовувати генетичні алгоритми без роботи в командному рядку. Щоб відкрити панель інструментів генетичних алгоритмів, треба ввести команду Gatool. Ця команда відкриває меню, яке показане на рис. 1. Для використання панелі інструментів генетичних алгори-  Рис. 1. Панель інструментів генетичних алгоритмів. тмів треба ввести інформацію про: функцію придатності -- цільову функцію, яку треба мінімізувати. Ввести функцію придатності потрібно у формі @fitnessfun, де fitnessfun.m – М-файл, який обчислює функцію придатності. Знак @ вказує шлях функції до fitnessfun. число змінних -- довжина вхідного вектора функції прилатності. Для функції my_fun, описаної при написанні М-файлів для функцій, які треба оптимізувати, вводиться 2. Щоб запустити генетичні алгоритми, треба клацнути на клавіші Start. Панель інструментів покаже результати оптимізації в полях Status i Results. Опції для генетичних алгоритмів можна змінити на панелі Options. Для того, щоб переглянути опції в одній з категорій, перелічених на панелі, треба клацнути поряд з нею на знаку +. Отримати більш конкретнуї інформацію можна в меню генетичних алгоритмів і в детальному описі панелі інструментів. Функція Растрінга. Розглянемо, як у середовищі Matlab можна знайти мінімум функції Растрінга, тобто функції, яка часто використовується для тестування генетичних алгоритмів. Панель інструментів містить М-файл rastriginsfcn.m, який обчислює значення функції Растрінга. Функція Растрінга має багато місцевих мінімумів -- "впадин". Однак, вона має тільки один глобальний мінімум, який знаходиться в точці [0 0] простору x-y. У будь-якому локальному мінімумі, окрім [0 0], значення функції Растрінга є більшим, ніж 0. Чим віддаленішим є локальний мінімум від початку координат, тим більшим є значення функції в цій точці. Примітка. Оскільки генетичні алгоритми використовують випадкові дані, кожного разу, коли вони запускаються, повертаються дещо різні результати. Щоб знайти мінімум, треба виконати такі кроки: Ввести команду gatool в командний рядок, щоб відкрити меню генетичних алгоритмів. Ввести у меню генетичних алгоритмів наступне: у полі Функції адекватності ввести @rastriginsfcn; у полі Число змінних ввести 2 - число незалежних змінних для функції Растрінга. Потім треба натиснути клавішу Start на панелі Run. Поки алгоритми запускаються, поле теперішнього покоління буде відображувати номер сучасного покоління. Алгоритми можна тимчасово зупинити, натиснувши клавішу Pause. Якщо це зробити, ім'я кнопки зміниться на Resume. Щоб відновити алгоритм з моменту зупинки, треба натиснути Resume. Коли алгоритм завершить свою роботу, поля Status i Results покажуть таку інформацію: кінцеве значення функції придатності після припинення роботи алгоритму: 0.0067749206244585025. Слід зазначити, що таке значення є дуже близькимь до фактичного мінімального значення функції Растрінга, яке становить 0. Пошук мінімуму функції Растрінга з командного рядка. Для знаходження мінімуму функції Растрінга з командного рядка треба ввести [x fval reason] = ga(@rastriginsfcn, 2). Це приведе до отримання значень x = 0.0027 -0.0052; fval = 0.0068, де x -кінцева точка, що повертається алгоритмом, fval - значення функції придатності в кінцевій точці, reason – причина зупинки алгоритму. Демонстрація графіків. Панель графіків дає можливість демонструвати різноманітні графіки, які надають інформацію про генетичні алгоритми в процесі їх запуску. Ця інформація може допомогти змінити опції для поліпшення роботи алгоритмів. Наприклад, для того, щоб відобразити кращі і середні значення функції придатності в кожному поколінні, вибирається комірка поряд з кращим значенням функції придатності. Якщо натиснути Start, панель генетичних алгоритмів покаже графік кращих і середніх значень функції придатності в кожному поколінні. Щоб отримати краще уявлення про кращі значення функції придатності, можна змінити осі ординат y на графіку на логарифмічний масштаб. Це робиться так: 1. Вибирається закладка Axes Properties в меню Edit у вікні графіка для того, щоб відкрити Property Editor. 2. Натискається Y tab. 3. У закладці Scale вибирається Log. Після цього з'являється графік. Зазвичай, значення функції придатності покращується швидко в ранніх поколіннях, коли точки віддалені від оптимуму. Значення функції придатності покращуються повільніше в пізніх поколіннях, значення яких знаходяться ближче до оптимальної точки. Прямий пошук. Прямий пошук - метод розв’язання задач оптимізації, який не вимагає ніякої інформації про градієнт цільової функції. На відміну від більш традиційних методів оптимізації, які використовують інформацію про градієнт або вищі похідні, для того, щоб знайти оптимальну точку, алгоритм прямого пошуку знаходить набір точок навколо даної точки, визначаючи, де значення цільової функції є меншим, ніж значення даної точки. Прямий пошук можна використовувати для того, щоб розв’язати задачі, для яких цільова функція не диференціюється. Панель інструментів генетичних алгоритмів і прямого пошуку пропонує спеціальні алгоритми прямого пошуку, які називаються алгоритмами пошуку за шаблоном. Алгоритми пошуку за шаблоном обчислюють послідовність точок, які знаходяться ближче до оптимальної точки. На кожному кроці алгоритми визначають набір точок, який називається сіткою, навколо даної точки - точки, що обчислюється на попередньому кроці алгоритмів. Сітку алгоритми формують, додаючи дану точку до фіксованого набору векторів, що зветься шаблоном. Якщо алгоритми знаходять в сітці точку, яка вдосконалює цільову функцію в даній точці, така точка стає новою точкою на наступному кроці алгоритмів. Пошук за шаблоном з командного рядка. Для того, щоб виконати пошук за шаблоном з командного рядка, треба викликати функцію patternsearch за синтаксисом [x fval] = patternsearch(@objfun, x0), де @objfun - шлях до цільової функції. x0 – початкова точка для пошуку за шаблоном, fval -- кінцеве значення цільової функції, x – точка, в якій досягнуте кінцеве значення. Сітки. На кожному кроці алгоритм пошуку за шаблоном шукає набір точок, які називаються сіткою, що вдосконалює цільову функцію. Алгоритм формує сітку, перемножаючи скалярно вектори шаблону, які називаються розміром сітки. Додавання результуючих векторів до даної точки дає точку з кращим значенням цільової функції, знайдену на попередньому кроці. Наприклад, якщо дана точка є [1.6 3.4], тоді шаблон складається з векторів v(1) = [1 0]v(2) = [0 1]v(3) = [-1 0]v(4) = [0 -1]. Розмір сітки - 4. Алгоритм перемножає вектори шаблону на 4 і додає їх до даної точки для отримання наступної сітки: [1.6 3.4] + 4*[1 0]= [5.6 3.4] [1.6 3.4] + 4*[0 1]= [1.6 7.4] [1.6 3.4] + 4*[-1 0]= [-2.4 3.4] [1.6 3.4] + 4*[0 -1]= [1.6 -0.6]. Вектор шаблону, який створює точку сітки, називається його напрямом. 3. Приклади оптимізації моделі нейронної мережі за допомогою генетичних алгоритмів у середовищі Matlab. Розглянемо приклади оптимізації моделі нейронної мережі другого порядку, яка описується диференційним рівнянням (1), на основі генетичних алгоритмів за допомогою програми Matlab. Приклад 1. Оптимізуємо модель другого порядку (1), яка має нормалізоване значення параметра матриці зв’язків , використовуючи генетичні алгоритми. Нехай дискретні точки вхідних сигналів розміщуються в діапазоні  Розв’яжемо задачу оптимізації для вибраного з умови (2) значення недіагонального елемента матриці зв’язків  Обмежимо значення параметрів  у діапазоні  з початковими значеннями  Використаємо кусково-лінійну нелінійність активаційної функції  Нехай значення ваг енергетичної функції (7) такі:  Виберемо дискретні точки  та  у кількості  та  відповідно. Задамо число генерацій генетичних алгоритмів , значення штрафних членів  та межі значень станів  Розв’язок задачі оптимізації моделі, отриманий за допомогою генетичних алгоритмів, наступний:  Максимальний діапазон вхідних сигналів, в якому існує коректний розв’язок моделі (1), приблизно визначається нерівністю  Значення параметрів  та  після початкової та кінцевої генерацій наведені на рис. 2. Динаміка енергетичної функції у нормалізованих одиницях представлена на рис. 3. Для  рівновіддалених на інтервалі  та  значень параметрів  та  форма енергетичної функції представлена на рис. 4. Лінії однакового рівня для цієї функції показані на рис. 5. Для порівняння, форма енергетичної функції та лінії однакового рівня для  та  значень параметрів  та  показані на рис. 6 та на рис. 7 відповідно. Для того, щоб провірити якість отриманої моделі нейронної мережі другого порядку, задамо  дискретних значень вхідних сигналів  у діапазоні  і знайдемо стани рівноваги  для всіх заданих значень . Позначивши стани, які відповідають одному переможцю і задовольняють умову , символом “”, отримаємо розподіл зон переможців в залежності від значень вхідних сигналів  та , показаний на рис. 8. Згідно з рис. 8 максимальний розмір отриманого діапазону коректного функціонування моделі нейронної мережі другого порядку (1) визначається нерівністю , тобто синтезована мережа знаходить переможця, якщо виконуються нерівності . Для порівняння, розподіл зон кількості переможців у залежності від значень вхідних сигналів  та  для  та  початкових значень параметрів моделі (1)  та  показано на рис. 9.  Рис. 2. Розв’язок задачі синтезу  після початкової та кінцевої генерацій – приклад 1. Як можна побачити, діапазон коректного функціонування мережі збільшився. Неважко пересвідчитись у тому, що для будь-якої іншої кількості  вхідних сигналів , які задовольняють умову (7), вказаний на рис. 9 регіон буде мати не меншу площу. Отримана модель є достатньо жорсткою. Зміна отриманих значень параметрів моделі мережі у межах 1% практично не впливає на розмір діапазону коректного функціонування моделі мережі. Приклад 2. Долучимо до множини параметрів моделі (1), які повинні бути оптимізовані, парамер . Обмежимо значення  діапазоном , а значення  та  залишимо у попередніх діапазонах. Задамо параметрам початкові значення ,  відповідно та значення ваг енергетичної функції (7) . Застосуємо  дискретних значень вхідних сигналів  у діапазоні , значень параметрів , кількість генерацій генетичних алгоритмів  та умову  Рис. 3. Динаміка максимальної та середньої величини енергетичної функції  в залежності від кількості генерацій  - приклад 1. . В результаті мінімізації енергетичної функції (7) за допомогою генетичних алгоритмів отримуються наступні значення параме- трів моделі (1):. Динаміка енергетичної функції у нормалізованих одиницях представлена на рис. 10. Розподіл зон кількості переможців в залежності від значень вхідних сигналів  та  для отриманих параметрів представлений на рис. 11. Як можна побачити з порівняння рис. 11 та рис. 9, розмір діапазону коректного функціонування моделі (1) збільшився і визначається нерівністю , тобто є максимально можливим. Можна пересвідчитись у тому, що для будь-якої іншої кількості  вхідних сигналів , які задовольняють умову (7), розмір зони коректного функціонування моделі на рис. 11 буде залишатись незмінним. Отриманий розв’язок є стійким до зміни значень параметрів моделі (1). Змоделюємо динаміку вихідних сигналів моделі (1). Задамо значення  та  з тим, щоб вихідні сигнали розміщувались у необхідному діапазоні з рис. 11. Динаміка станів  в норма-  Рис. 4. Форма енергетичної функції  для  та  значень параметрів  та  - приклад 1. лізованих одиницях та нормалізованому масштабі часу має форму, представлену на рис. 12. Згідно з рис. 12 компоненти  демонструють влас- тивість вибору більшого з двох сигналів. Переможцем є , вказуючи на те, що вхідний сигнал  є більшим, ніж . Змінимо значення вхідних сигналів мережі на . Динаміка станів  буде мати форму, представлену на рис. 13. Згідно з рис. 13, компоненти  демонструють властивість (4). Отже, генетичні алгоритми дозволяють оптимізувати модель нейронної мережі другого порядку (1) шляхом оптимізації значень її параметрів , та розміру діапазону коректних розв’язків. Відмітимо, що для надійного знаходження за допомогою генетисних алгоритмів значень параметрів моделі (1) доцільним є використання значної кількості () дискретних точок  та , максимально дозволену умовою (8) кількість  дискретних значень вхідних сигналів  та кількість генерацій генетичних алгоритмів . Це дає можливість уникати виконання виснажливого пошуку “правильних” початкових значень параметрів  та чисел .  Рис. 5. Лінії однакового рівня енергетичної функції  для  та  значень параметрів  та  - приклад 1. КОНТРОЛЬНІ ЗАПИТАННЯ 1. Сформулювати задачу параметричного синтезу моделі нейронної мережі. 2. Пояснити алгоритм параметричного синтезу моделі нейронної мережі. 3. Що таке генетичні алгоритми? 4. Як конструюється цільова функція у формі, придатній для використання в генетичних алгоритмах? 5. Пояснити трансформацію задачі мінімізації цільової функції до задачі її максимізації. 6. Як задача оптимізації з обмеженнями перетворюється до задачі оптимізації без обмежень? 7. Пояснити трансформацію штрафної функції з двохсторонніми обмеженнями до штрафної функції з двома окремими обмеженнями. 8. Як здійснюється оптимізація моделі нейронної мережі генетичними алгоритмами? 9. Пояснити один з прикладів оптимізації моделі нейронної мережі за допомогою генетичних алгоритмів у середовищі Matlab.  Рис. 6. Енергетична функція  для  та  значень параметрів  та  - приклад 1. ЗАВДАННЯ ДО ЛАБОРАТОРНОЇ РОБОТИ Ознайомитися з теоретичними відомостями. Увімкнути комп'ютер. Переконатись у наявності встановленої програми Matlab. Запустити програму Matlab. Оптимізувати за допомогою тулбоксу Genetic Algorithms програми Matlab модель нейронної мережі з прикладу 1. Отримати: графік значень параметрів  та  після початкової та кінцевої генерацій, наведені на рис. 2, якщо , де n - № прізвища студента у списку групи; графік динаміки енергетичної функції у нормалізованих одиницях, поданий на рис. 3, якщо ; графік форми енергетичної функції для  рівновіддалених на інтервалі  та  значень параметрів  та , показаний на рис. 4, якщо ; графік ліній однакового рівня енергетичної функції, поданий на рис. 5, якщо ; графік форми енергетичної функції для  та  значень параметрів  та , показаний на рис. 6, якщо ; графік ліній однакового рівня для  та  значень параметрів  та , поданий на рис. 7, якщо .  Рис. 7. Лінії однакового рівня енергетичної функції  для  та  значень параметрів  та - приклад 1. Написати на мові Matlab програму моделювання аналогової нейронної мережі, яка описується диференційним рівнянням (1). Узагальнивши написану програму, отримати графіки розподілу зон кількості переможців в залежності від значень вхідних сигналів  та , показані на рис. 8 і рис. 9. Оптимізувати за допомогою тулбоксу Genetic Algorithms програми Matlab модель нейронної мережі з прикладу 1 при наявності у множині параметрів моделі (1) парамера . Отримати: графік динаміки енергетичної функції у нормалізованих одиницях, показаний на рис. 10, якщо ; графік розподілу зон кількості переможців в залежності від значень вхідних сигналів  та , поданий на рис. 11, якщо . Отримати: графік динаміки станів  в нормалізованих одиницях та нормалізованому масштабі часу, поданий на рис. 12, якщо ; графік динаміки станів , показаний на рис. 13, якщо . Порівняти результати функціонування моделі нейронної мережі, отри-  Рис. 8. Розподіл зон кількості переможців моделі нейронної мережі (1) в залежності від значень вхідних сигналів  при  - приклад 1. маної за допомогою евристичного пошуку, та моделей, оптимізованих за допомогою генетичних алгоритмів. Проінформувати викладача про завершення роботи. Продемонструвати на комп’ютері та пояснити результати виконання отриманих завдань. Оформити звіт. ЗМІСТ ЗВІТУ 1. Титульний аркуш. 2. Зміст. 3. Мета роботи. 4. Короткі теоретичні відомості. 5. Завдання. 6. Хід роботи. 7. Отримані результати. 8. Висновки.  Рис. 9. Розподіл зон кількості переможців моделі нейронної мережі (1) в залежності від значень вхідних сигналів  при  - приклад 1. ВИМОГИ ДО ЗВІТУ Звіт повинен бути оформлений на стандартних листках формату А4. Звіт може бути надрукований (розмір шрифта – 14, інтервал між рядками – 1.5) або якісно написаний від руки українською мовою. В обох випадках текст розміщується на двох сторонах аркуша. Рекомендується розміщувати до 30 рядків на сторінці. На аркушах слід залишати поля. Розмір лівого поля – 25 мм, правого – не менше 10 мм, верхнього і нижнього – не менше 20мм. На початку розділів рекомендується збільшувати розмір верхнього поля до 40 мм. Нумерація сторінок має бути наскрізною, першою сторінкою є титульний лист. На титульному листі номер сторінки не ставиться. Звіт повинен бути стислим, чітким, лаконічним і містити лише інформацію, що має пряме відношення до предмету дослідження. Обсяг теоретичних відомостей не повинен перевищувати двох сторінок.  Рис. 10. Динаміка максимального та середнього значень енергетичної функції  - приклад 2. РЕКОМЕНДОВАНА ЛІТЕРАТУРА 1. Дьяконов В., Круглов В. Математические пакеты расширения MATLAB. Специальный справочник.-СПб.: Питер, 2001.-480с. 2. Лозинський А., Мороз В., Паранчук Я. Розв’язування задач електромеханіки в середовищах пакетів MathCAD і MATLAB: Навчальний посібник. - Львів: Видавництво Національного університету “Львівська політехніка”, 2000.-166 с. 3. Потемкин В.Г. Система инженерных и научных расчетов МАТЛАБ 5.x:-В 2-х т. Том 1.-М.: ДИАЛОГ-МИФИ, 1999.-366с. 4. Потемкин В.Г. Система инженерных и научных расчетов МАТЛАБ 5.x:-В 2-х т. Том 2.-М.: ДИАЛОГ-МИФИ, 1999.-304с. 5. Тимощук П.В., Лобур М.В. Основи теорії проектування нейронних мереж: Навч. посібник. – Львів: Видавництво Національного університету ”Львівська політехніка”, 2007. – 328 с.  Рис. 11. Розподіл зон кількості переможців моделі нейронної мережі (1) в залежності від значень вхідних сигналів  та  при  - приклад 2. 6. B. B. Hollstien, Artificial genetic adaptation in compuer control systems, Dissertation Abstracts International, 32(3), 1510B, No. 71-23.773, University of Michigan, 1971. 7. D.E.Goldberg, Genetic Algorithms in Search Optimization and Machine Learning, Addison-Wesley, 1989. 8. D. J. Cavicchio, Adaptive search using simulated evolution, Unpublished PhD Thesis, University of Michigan, Ann Arbor, 1970. 9. J. D. Schaffer,Some experiments in machine learning using vector evaluated genetic algorithms, Unpublished PhD Thesis, Vanderbilt University, Nashville, 1984. 10. J. H. Holland, Adaptation in natural and artificial systems, Ann Arbor: The University of Michigan Press, 1975. 11. Сайт http://www.mathworks.com. 12. Сайт http://www.netlib.org. 13. Довідка (Help) програми Matlab.  Рис. 12. Динаміка станів моделі мережі (1) при   - приклад 2.  Рис. 13. Динаміка станів моделі мережі (1) при  - приклад 2. НАВЧАЛЬНЕ ВИДАННЯ ОПТИМІЗАЦІЯ МОДЕЛІ НЕЙРОННОЇ МЕРЕЖІ ГЕНЕТИЧНИМИ АЛГОРИТМАМИ У СЕРЕДОВИЩІ MATLAB МЕТОДИЧНІ ВКАЗІВКИ до виконання лабораторної роботи № 6 з дисципліни “Моделювання систем” для студентів спеціальності 7.080402 “Інформаційні технології проектування” Укладач: Тимощук Павло Володимирович
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

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

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!