Создание логической функции «Исключающее ИЛИ» (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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!