Краткие теоретические сведения

Отчет по практической работе №7

по дисциплине: «Искусственные нейронные сети и нечеткая логика в задачах контроля и управления»

на тему: «Линейные сети»

Вариант №1

 

 

Выполнил: студент группы 78-61

ФИО

Проверил: к.т.н., доцент кафедры АИТ

Горшкова К. Л.

 

Альметьевск, 2020

Цель работы:

- разработка структурной схемы линейной нейронной сети;

- разработка алгоритма создания и моделирования линейной нейронной сети;

- определение параметров созданной нейронной сети.

Краткие теоретические сведения

Линейные сети по структуре аналогичны персептрону и отличаются функцией активации. Выход линейной сети может принимать любое значение, в то время как выход персептрона ограничен значениями 0 или 1.

На рисунке 1 показан линейный нейрон с двумя входами. Он имеет структуру, сходную со структурой персептрона. Отличается лишь в том, что используется линейная функция активации purelin.

Рисунок 1 - Линейный нейрон с двумя входами

 

Весовая матрица W имеет одну строку и выход сети определяется следующим выражением:

Аналогично персептрону, линейная сеть задается в пространстве входов разделяющую линию, на которой функция активации n равна 0 (рис. 2).

Рисунок 2 – Разделяющая линия в пространстве входов линейной сети

 

Векторы входа, которые расположены выше этой линии соответствуют положительным значениям выхода, а расположенные ниже – отрицательным. В результате линейная сеть может быть применена для решения задач классификации. Такая классификация может быть выполнена для класса линейно отделимых объектов. Таким образом, линейные сети имеют то же самое ограничение, что и персептрон.

Задание:

1. Разработать структурную схему линейной нейронной сети.

Количество входов Диапазоны значений входов Количество нейронов в слое
2 − 6…+ 6 3

2. Разработать алгоритм создания и моделирования линейной нейронной сети.

3. Реализовать разработанный алгоритм в программе Matlab.

4. Определить параметры созданной нейронной сети: веса и смещение. Проверить правильность работы сети для последовательности входных векторов (не менее 5).

5. Построить график, аналогичный изображенному рисунку 2, для своих исходных данных.

6. Установить новые значения матриц весов и смещения с помощью функции инициализации rands.

 

 

Выполнение работы:

Структурная схема линейной нейронной сети (рис. 3).

Рисунок 3 - Структурная схема линейной нейронной сети

 

Листинг программы:

clear,net=newlin([-6 6; -6 6],3);% Линейная сеть - 2 входа, 3 нейрона

net.IW{1,1} = [2 3; 2 3; 2 3]; % Веса

net.b{1} = [-4; -4; -4]; % Смещения

p1 = [1; 3]; % Входные данные

p2 = [5; 4];

p3 = [3; 4];

p4 = [2; 3];

p5 = [4; 3];

a1 = sim(net, p1) % Моделирование

a2 = sim(net, p2)

a3 = sim(net, p3)

a4 = sim(net, p4)

a5 = sim(net, p5)

 

Полученный результат:

a1 = 7 7 7 a2 = 18 18 18 a3 = 14 14 14 a4 = 9 9 9 a5 = 13 13 13

Таким образом, сеть правильно классифицировала входные векторы.

Рисунок 4 – Разделяющая линия в пространстве входов линейной сети для исходных данных

Установим новые значения матриц весов и смещения с помощью функции инициализации rands:

net.inputweights{1,1}.initFcn = 'rands';

net.biases{1}.initFcn = 'rands';

net = init(net);

wts = net.IW{1,1}, bias = net.b{1}

 

Полученный результат:

wts =

0.8268 -0.4430

0.2647 0.0938

-0.8049 0.9150

bias =

0.6294

0.8116

-0.7460

Вывод: в ходе выполнения данной работы была создана и промоделирована линейная нейронная сеть. Определены  параметры созданной нейронной сети: веса и смещение. Проверена правильность работы сети для последовательности входных векторов. А также установены новые значения матриц весов и смещения с помощью функции инициализации rands.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: