Создание логической функции «Исключающее ИЛИ» (XOR) с двумя входами
С использованием нейронной сети Madaline
Пример 4. Рассмотрим программу для создания нейронной сети Madaline для двухвходовой (биполярной) логической функции «Исключающее ИЛИ» (XOR). Использовать теоретические положения п.2 и п.3.
Для его построения в Scilab предлагается следующая программа.
//Сгенерировать функцию XOR для двухполярные входных сигналов и выходного сигнала (цели) с использованием сети Madaline
//Таблица истинности для элемента XOR
// X1 X2 Y
// -1 -1 -1
// -1 1 1
// 1 -1 1
// 1 1 -1 (Bipolar (1,-1))
clc;
clear;
x=[1 1 -1 -1;1 -1 1 -1]; //входные сигналы
t=[ -1 1 1 -1]; //вектор выходного сигнала (цель)
//принятие матрицы начальных весов входов и смещения
w=[0.05 0.1;0.2 0.2];
b1=[0.3 0.15];
v=[0.5 0.5];
b2=0.5;
con=1;
alpha=0.5;
epoch=0;
while con
con =0;
for i=1:4
for j=1:2
zin(j)=b1(j)+x(1,i)*w(1,j)+x(2,i)*w(2,j);
// выход функции нейронной сети
if zin(j)>=0 then
z(j)=1;
else
z(j)=-1;
end
end
yin=b2+z(1)*v(1)+z(2)*v(2);
if yin>=0 then
y =1;
else
y= -1;
end
if y=t(i) then
con =1;
if t(i)=1 then
if abs(zin(1))>abs(zin(2)) then
k=2;
else
k=1;
end
b1(k)=b1(k)+alpha*(1-zin(k));
//обновление смещения
w(1:2,k)=w(1:2,k)+alpha*(1-zin(k))*x(1:2,i);
//обновление весов входов
else
for k=1:2
if zin(k)>0 then
b1(k)=b1(k)+alpha*(-1-zin(k));
//обновление смещения
w(1:2,k)=w(1:2,k)+alpha*(-1-zin(k))*x(1:2,i);
//обновление весов входов
end
end
end
end
|
|
end
epoch=epoch+1;
end
disp('Матрица весов скрытого слоя');
disp(w);
disp('Смещение');
disp(b1);
disp('Общее число циклов обучения');
disp(epoch);
Задание для лабораторной работы
Задание 1. Построить функции активации, применяемые в нейронных сетях, с использованием Scilab. Использовать программу из примера 1.
Задание 2. Создать персептрон для функция И с двухполярными входными сигналами и 1 выходом в Scilab на основе программы примера 2.
Задание 3. Создать функцию ИЛИ с двухполярными входными сигналами и одним выходом (целью) с использованием нейронной сети Adaline в Scilab на основе программы примера 3.
Задание 4. Создать нейронную сеть Madaline для двухвходовой (биполярной) логической функции «Исключающее ИЛИ» (XOR) в Scilab на основе программы примера 4.
Задание 5. Разработать программу создания персептрона для функция И-НЕ с двухполярными входными сигналами и 1 выходом в Scilab. Использовать теоретические положения пп.2,3 и программу примера 2.
Указание. Для работы необходимо открыть окно программы Scilab, используя соответствующий ярлык. При необходимости использовать help программы Scilab. Все результаты вычислений, программы и графики, полученные в Scilab включить в отчет, выполненный в Microsoft WORD. По всем заданиям провести анализ результатов и сделать выводы.
|
|
Структура отчета
По материалам работы каждым студентом составляется отчет по установленной форме с использованием Microsoft WORD. Расчеты, диаграммы, графики следует выполнять с использованием ПЭВМ. Особое внимание при оформлении отчета студенты должны обратить на составление выводов по выполненной работе. В выводах нужно сопоставить результаты проведенных исследований с известными из теоретического курса закономерностями и выяснить согласованность полученных результатов с теоретическими. Полностью оформленный исполнителем отчет представляется каждым студентом преподавателю на следующем занятии.
Отчет по лабораторной работе должен содержать:
1. Титульный лист, оформленный по образцу.
2. Цель лабораторной работы, исходные данные и краткое описание действий представить в Microsoft WORD.
3. Результаты исследований по заданиям представить в виде таблиц, рисунков, графиков в Microsoft WORD и Microsoft Excel.
4. Выводы по заданиям.
К отчету прилагаются программы в системе Scilab в электронном виде.
Представленные в отчете результаты, порядок их получения, расчетов, графиков и диаграмм студенты обязаны уметь четко пояснить. За проведенную работу и оформленный отчет преподаватель выставляет дифференцированную оценку.
|
|
Литература
1. Алексеев Е.Р. Scilab. Решение инженерных и математических задач. - М.: ALT Linux; БИНОМ. Лаборатория знаний, 2008 - 260с.
2. Романов П. С., Романова И. П. Системы искусственного интеллекта: учебное пособие / П. С. Романов, И. П. Романова ; под общ. ред. П. С. Романова. – Коломна: ГСГУ ; КИ (ф) МПУ, 2017. – 244 с.
3. Романов П. С., Романова И. П. Системы искусственного интеллекта. Часть 1. Моделирование нечетких систем в системе MATLAB: учебное пособие (лабораторный практикум), 2-е изд. перераб. / П. С. Романов, И. П. Романова; под общ. ред. П. С. Романова. – Коломна: ГСГУ ; КИ (ф) МПУ, 2017. – 115 с.
4. Романов П. С., Романова И. П. Системы искусственного интеллекта. Часть 2. Моделирование персептрона и линейных нейронных сетей в системе MATLAB: учебное пособие (лабораторный практикум), 2-е изд. перераб. / П. С. Романов, И. П. Романова; под общ. ред. П. С. Романова. – Коломна: ГСГУ ; КИ (ф) МПУ, 2017. – 76 с.
5. Романов П. С., Романова И. П. Системы искусственного интеллекта. Часть 3. Моделирование нейронных сетей в системе MATLAB: учебное пособие (лабораторный практикум), 2-е изд. перераб. / П. С. Романов, И. П. Романова; под общ. ред. П. С. Романова. – Коломна: ГСГУ ; КИ (ф) МПУ, 2017. – 115 с.
6. ANN Toolbox for Scilab. Руководство пользователя. /электронный ресурс с сайта atoms.scilab.org.
7. Nadir N. Charniya. Scilab Manual for Neural Network. - Electronics Engineering V.E.S.I.T, 2019. – 20с.
Дата добавления: 2019-09-13; просмотров: 248; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!