Файл: Методические рекомендации по выполнению лабораторной работы по созданию моделей персептронных нейронных сетей в системе matlab.doc

ВУЗ: Не указан

Категория: Методичка

Дисциплина: Не указана

Добавлен: 08.11.2023

Просмотров: 96

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


файл: @Neuron/Neuron.m

classdef Neuron

properties

w0

w1

b

inputs

outputs

epochs

end

methods

function obj=Neuron(w0,w1,b,inputs,outputs,epochs)

if(nargin > 0)

obj.w0=w0;

obj.w1=w1;

obj.b=b;

obj.inputs=inputs;

obj.outputs=outputs;

obj.epochs=epochs;

end

end

function res=mySym(obj, p)

tmp1=obj.w0*p(1);

tmp2=obj.w1*p(2);

n=tmp1+tmp2+obj.b;

if(n>=0) a=1; else a=0; end

res=a;

end

function res=myLearnp(obj)

for i=1:length(obj.inputs)

index=i;

e=obj.outputs(i)-mySym(obj,obj.inputs(i,:));

if(e=0)break; end

end

if(e==0)res=obj; return; end

temp1=e*obj.inputs(index,1);

temp2=e*obj.inputs(index,2);

obj.w0=temp1+obj.w0;

obj.w1=temp2+obj.w1;

obj.b=obj.b+e;

res=obj;

end

function obj=myAdapt(obj)

for i=1:obj.epochs

obj=obj.myLearnp();

end

end

end

end

Использование:

n=Neuron(-0.9,5,0,[1 2;2 3;3 2;2 1],[0 0 1 1],20);

n=n.myAdapt

Задание на самостоятельную работу

  1. Прочитать теоретическую часть лабораторной работы

  2. С помощью Help MATLAB разобраться с работой утилиты nntool

  3. Персептрон можно использовать для выполнения многих логических функций. Опишите персептронную реализацию функций логического И, логического ИЛИ и дополнения

  4. Основным ограничением персептрона является его неспособность реализовать логическую функцию исключающего ИЛИ. Объясните почему.

  5. Реализовать функцию логического И на основе персептрона с помощью nntool