Моделювання багатошарової нейронної мережі

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
РТ
Кафедра:
Не вказано

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

Рік:
2015
Тип роботи:
Лабораторна робота
Предмет:
Моделювання

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

Міністерство освіти i науки України Національний університет “Львівська політехніка” Лабораторна робота №4 з курсу " Інтелектуальні мехатронні системи" На тему «Моделювання багатошарової нейронної мережі» Тема. Моделювання багатошарової нейронної мережі Мета: навчитися проектувати та реалізовувати нейронну мережу для задач апроксимації з урахуванням шуму. Короткі теоретичні відомості При проектуванні нейронної мережі необхідно визначити кількість шарів і кількість елементів (нейронів) у кожному шарі. Вибір архітектури нейронної мережі залежить від складності завдання і ґрунтується на досвіді розробника. При моделюванні нейронної мережі виділяють наступні етапи: 1) створення мережі; 2) навчання мережі; 3) тестування мережі; 4) використання мережі для розв’язання поставленого завдання. Порядок виконання роботи Код програми p = [-1:0.05:1]; t = sin(pi*2*p); net = newff (minmax(p),[30,1], {'tansig' 'purelin'},'trainbfg'); netn=net; % ініціалізація мережі; netn.trainParam.epochs = 500; % задану кількість циклів навчання; netn.trainParam.show=50; % кількість циклів для показу проміжних netn.trainParam.goal=1e-5; % цільова помилка навчання; t1=[sin(2*pi*p) sin(2*pi*p)]; % вихідний вектор мережі; p1=[p,(p + randn(size(p))*0.02)] % вхідний вектор мережі з шумом; gensim(net); [netn, tr] = train (netn, p1, t1); % навчання мережі за наявності шуму. netn.trainParam.goal=1e-10; [netn, tr] = train (netn, p, t); % повторне навчання мережі за відсутності шуму. tic % встановлює таймер noise=0:0.01:0.1; % різні рівні шуму test=20; % кількість ітерацій network1=[]; network2=[]; t=sin(2*pi*p); % вихідний вектор for noiselevel= noise errors1=0; errors2=0; for i=1:test P=p+randn(size(p))*noiselevel; % вхідний вектор A = sim(net,P); errors1=errors1+sum(sum(abs(A-t)))/2; An = sim(netn,P); errors2=errors2+sum(sum(abs(An-t)))/2; echo off; end network1=[network1 errors1/41/20]; network2=[network2 errors2/41/20]; end network1 network2 toc figure(1); plot(noise, network1*100,'--b', noise, network2*100,':r', 'LineWidth', 1.5); legend('% pomulki meregi net','pomulki meregi netn'); xlabel ('Riven shymy','FontSize',12); ylabel ('% pomulki','FontSize',12); title('Zalejnist % pomulki vid rivna vhidnogo shymy','FontSize',12, 'FontWeight','bold'); grid on p2 =randn(size(p))*0.03+p; [an,E]=sim(net,p2); figure(2); plot(p2,t, '+' , p2, an, '-', p,t, ':', 'LineWidth',1.5); legend('vhid','vuhid','sin(2*\pi*t)'); title('Aproksomacia fyncii y=sin(2*pi*t)','FontSize',12, 'FontWeight','bold'); grid on; E=mse(an-t); / Рис.1 – Структурна схема мережі / Рис.2 – Структурна схема мережі. Перший та другий прихований шар мережі / Рис.3 – Залежність відсотка помилки від рівня вхідного шуму / Рис.4 – Апроксимація функції двошаровою нейронною мережею Виснвок:
Антиботан аватар за замовчуванням

27.11.2015 00:11-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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