ОИИ / Лабораторная работа 4
.docxЛабораторная работа №4
Моделирование персептрона в среде MATLAB
Цель работы: изучение и моделирование основного элемента нейронной сети – нейрона и получение простейшей нейронной сети – персептрона с использованием системы MATLAB.
Задание:
Задание 1. Изучить простой нейрон и нейрон с векторным входом, для чего выполнить действия указанные в п.3.1 в примерах 1,2 методических указаний. Изменяя настройки нейрона и вид функции активации изучить их влияние на свойства простого нейрона и нейрона с векторным входом.
Задание 2. Провести моделирование персептрона согласно п.3.2 (примера 3) методических указаний.
Задание 3. Провести инициализацию параметров персептрона с двухэлементным вектором входа и одним нейроном по п.3.3 (пример 4,5) методических указаний.
Задание 4.
-
Разработать структурную схему персептронной нейронной сети по исходным данным из таблицы.
№ варианта |
Число входов |
Пределы изменения входов |
Нейронов в слое |
2 |
2 |
-3...3 |
2 |
2. Разработать алгоритм создания и моделирования персептронной нейронной сети.
3. Реализовать разработанный алгоритм в системе MATLAB.
4. Определить параметры созданной нейронной сети (веса и смещение) и проверить правильность работы сети для последовательности входных векторов (не менее 5).
5. Построить график, аналогичный представленному на рис. 8 методических указаний, для своих исходных данных.
6. Переустановить значения матриц весов и смещений с помощью рассмотренных функций инициализации.
Выполнение задания:
Задание 1.
Пример работы простого нейрона.
Пример нейрона с векторным входом.
Задание 2.
Пример моделирование простого персептрона.
Создаем нейрон, с двухэлементным входом, определяя область входных значений [-2 2;-2 2] и задавая ему номер 1 в нашем персептроне.
Зададим матрицу весовых коэффициентов W, характеризующих легкость возбуждения нейрона.
Зададим предел , задающий пороговую активационную функцию.
Зададим несколько входных векторов и посмотрим выход персептрона состоящего из одного нейрона:
Значение на выходе нейрона рассчитывается по следующей формуле:
Задание 3.
Создание персептрона и определение матрицы весов и смещения на основе весов входа.
Создаем персептрон и запрашиваем характеристики весов входа.
Отсюда видно, что в качестве функции инициализации используется функция initzero, которая присваивает всем весам входа значение 0.
Для того чтобы в этом убедиться, выполним следующие команды:
Теперь перезададим значения весов входа и порога:
Как видим значения весов входа и порога изменились на заданные нами.
Для возврата к исходным, заданным по умолчанию значениям, достаточно вызвать функцию init.
Также можно изменить способ (функцию) инициализации персептрона.
Как видно, здесь способ инициализации весов и порога задан как rands, т.е. инициализация происходит случайными числами.
Теперь проинициализируем ранее созданную сеть новой функцией.
Видно, что веса и порог выбраны действительно случайным образом.
Задание 4.
Создаем персептрон, состоящий из двух нейронов, работающих в одном слое, имеющих два общих входа. Задаем для каждого из нейронов свои весовые коэффициенты, пороговые значения.
Вывод: в данной работе были изучены принципы работы нейронов и построения на их основе простейших однослойных нейронных сетей – персептронов.