Файл: Методические рекомендации по выполнению лабораторной работы по созданию моделей персептронных нейронных сетей в системе 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
Задание на самостоятельную работу
-
Прочитать теоретическую часть лабораторной работы -
С помощью Help MATLAB разобраться с работой утилиты nntool -
Персептрон можно использовать для выполнения многих логических функций. Опишите персептронную реализацию функций логического И, логического ИЛИ и дополнения -
Основным ограничением персептрона является его неспособность реализовать логическую функцию исключающего ИЛИ. Объясните почему. -
Реализовать функцию логического И на основе персептрона с помощью nntool