Читать практическое задание по Отсутствует: "Решение задач с использованием нейронных сетей в Matlab" Страница 3

назад (Назад)скачать (Cкачать работу)

Функция "чтения" служит для ознакомления с работой. Разметка, таблицы и картинки документа могут отображаться неверно или не в полном объёме!

применимости сети. Если же результаты сильно отличаются, необходимо изменить архитектуру сети, точность или метод поиска. Задание №2 Сформируйте модель НС, рассмотренную в Задании №1 в Simulink, используя функцию gensim. Обратите внимание на структуру НС в S -модели.

Решение

Сначало создадим нейронную сеть из задания 1:

net=newff(minmax(P),[10,15,3],{'logsig','logsig','purelin'},'trainlm');

Затем мы создадим структуру нейроной сети введя в командную строку команду: gensim(net,st), появится следующая структура нейроной сети: Задание №3 Выполнить генерацию исходных данных в виде точек на плоскости, разделённой прямой линией X2 = 0.4+1.5·X1. Точки, попавшие по одну сторону линии, будут относиться к классу 1, по другую - к классу 2. Создать нейронную сеть, способную отнести любую новую точку к соответствующему классу.Чтобы опознать к какому классу относится линия нужно создать персептрон:

clear, net = newp([-300 300;-300 300],1); .IW{1,1}= [0.4 -1];

net.b{1} = [1.5];

Где значение в IV - это кооэфициенты при X1 и X2, а при b - коофициент b , а значения в под скобкой в newp означает интервал X1 и X2. В данном случае 1 класс - обозначен 0, а 2 класс - 1

Для проверки правильности распознования сформируем масив из точек:

X1

X2

1

2

5

10

15

20

25

35

45

65

Сценарий формирования массива:

= [[1; 2] [5;10] [15;20] [25;35] [45;65]];= sim(net,p1)=

Все классы распознаны верно. Задание №4 Рассмотрим пример прогнозирования с помощью простейшей линейной НС процесса, поведение которого зависит от времени. В этом примере надо особое внимание уделить способу формирования входов и выходов НС.

Предположим, что имеется сигнал (функция времени), описываемый соотношением,

который подвергается дискретизации с интервалом 0.025 с.

Построим линейную НС, позволяющую прогнозировать будущее значение по 5 предыдущим. newlind - конструирование линейного слоя;

Решение

Сценарий:=0:0.025:5; % Задание диапазона времени от 0 до 5 секунд=sin(t*4*pi); % предсказываемый сигнал=length(x); %число столбцов в матрице входов

% Создание входных векторов

P=zeros(5,Q);

P(1,2:Q)=x(1,1:(Q-1));(2,3:Q)=x(1,1:(Q-2));(3,4:Q)=x(1,1:(Q-3));(4,5:Q)=x(1,1:(Q-4));

P(5,6:Q)=x(1,1:(Q-5));=newlind(P,x); % Создание новой НС с именем s=sim(s,P); % расчёт прогнозируемых значений

% Создание графиков исходного сигнала и прогноза

plot(t,x,t,y,'*')('Vremja')('Прогноз - сигнал *');('Выход сети - прогноз');

%Ошибка прогноза

e=y-x;

% последние 5 значений, рассчитанные по функции и по нейронной сети

znach=x(Q-5:Q) =y(Q-5:Q)

Запустим сценарий, получим спрогнозируеммый сигнал:

нейронный сеть тестовый массив


Интересная статья: Основы написания курсовой работы