|
Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
РЕАЛИЗАЦИЯ ЛОГИЧЕСКИХ ФУНКЦИЙ «И», «ИЛИ», «НЕ»
С ПОМОЩЬЮ ИСКУССТВЕННОГО НЕЙРОНА
Цель работы – исследование искусственных нейронов (ИН) типа перцептрона, обучение ИН выполнению логических функций " не", " и", " или"; решение задачи классификации с помощью ИН в пакете Neural Networks Toolbox, моделирование функций в Toolbox Simulink.
Основные сведения Искусственный нейрон – элементарный преобразовательный элемент, содержащий n-вектор входов r , суммирующий блок, блок преобразования сигналаспомощью функции активации, скалярный выход q (рис. 4.1, а). В суммирующем блоке вычисляется взвешенная сумма n входных сигналов ri: s =
Рис. 4.1
С помощью ИН можно моделировать ряд функций, например [5], как показано на рис. 4.2, а – в, логические функции " и", " или", " не". Функция " и" имеет значение 1, если оба входа равны, в противном случае – 0. Поэтому, если заданы оба входа (вектор r = (1, 1)), то, используя пороговую функцию активации f(s) =
Функция для создания перцептрона, реализующего логические операции. Описание – newp: имя = newp (PR, S, TF, LF)
в Рис. 4.2
Аргументы функции: PR – R× 2 – матрица минимальных и максимальных значений для R входных элементов; S – число нейронов; TF – функция активации, по умолчанию " hardlim" (пороговая); LF – функция обучения, по умолчанию " learnp" (алгоритм обучения перцептрона). Задание входных векторов функций " и", " или": P = [0 1 0 1; 0 0 1 1]; задание выходов нейрона: для функции " и" – T = [0 0 0 1]; для функции " или" – T = [0 1 1 1]. Вход функции " не" – P = [0 1]; выход – T = [1 0]. Описание функцииформирования нейронной сети (НС) в Toolbox Simulink: gensim(net), где net – имя сети. Программа работы 1. Реализация логических функций " и", " или", " не". Листинг программы P = [0 1 0 1; 0 0 1 1]; % задание входных векторов; T = [0 0 0 1]; % задание выходов нейрона; plotpv(P, T); % графическое представление исходных векторов; net1 = newp([0 1; 0 1], 1); % создание перцептрона с 1 нейроном; E = 1; % присвоение начального значения ошибки; net1 = init(net1); % инициализация перцептрона; while(sse(E)) % организация цикла обучения перцептрона, классификация; [net1, Y, E] = adapt(net1, P, T); % обучение нейрона на выборке [P, T]; % Получение управляющей структуры linehandle для изображения разделяющей % линии в координатах весов (IW) и порога срабатывания нейрона (b) linehandle = plotpc(net1.IW{1}, net1.b{1}); drawnow; end; 2. Формирование нейросетевой модели в Toolbox Simulink. Задание функции gensim(net1) приводит к открытию блок-диаграммы, включающей блок Input1, являющийся стандартным блоком задания константы, блок НС (Neural Network) и регистрирующий блок (Scope – осциллограф). Активизируя блок НС, а затем блок сеть1 (layer1), можно получить структуру созданного нейрона. Вместо функции активации hardlim, используемой по умолчанию, включить в структуру блок sign из раздела Library Simulink Math Operations и блок saturation из раздела Discontinuities. Весовые коэффициенты (weight) для моделирования функций " и", " или" определить согласно рис. 4.2, а, б: W = [1 1], для " не" в соответствии с рис. 4.2, в – W = [–1] коэффициент смещения (buas) W0 = –1 для " и", W0 = 0 – для " или", W0 = 0.5 – для " не". Выполнить моделирование функций, задавая входные векторы в блоке Input1. 3. Оценить возможность реализации функции " исключающее или" с помощью перцептрона. Вход функции: P = [0 1 0 1; 0 0 1 1]; выход: T = [0 1 1 0].
Содержание отчета Отчет должен содержать краткое описание используемых функций, результаты исследования, схему перцептрона, выводы по работе.
4.4. Контрольные вопросы 1. Как формируются логические функции с помощью перцептрона? 2. Возможна ли реализация функции «исключающее или» с помощью однослойного перцептрона? Почему?
Лабораторная работа № 5 Популярное:
|
Последнее изменение этой страницы: 2016-05-03; Просмотров: 1310; Нарушение авторского права страницы