-p1 + p1 + 1 = 0,
а затем с помощью моделирования определить классы значений входного вектора, выполнив следующие действия:
Создать персептрон: net = newp([-2 2; -2 2], 1).
Произвести ручную инициализацию:
net.IW{1,1} = [-1 1] ; net.b{1} = [1].
Произвести проверку персептрона:
p = [1;1]; a = sim(net, p) % a = 1; p = [1;-1]; a = sim(net, p) % a = 0.
4. Определить классы значений вектора:
p = {[-2;-2] [-2;-1] [-2;0] [-2;1] [-2;2]…
[-1;-2] [-1;-1] [-1;0] [-1;1] [-1;2]…
[0;-2] [0;-1] [0;0] [0;1] [0;2]…
[1;-2] [1;-1] [1;0] [1;1] [1;2]…
[2;-2] [2;-1] [2;0] [2;1] [2;2]; a = sim(net, p) % [0]-0-й класс; [1]-1-й класс.
Задание 3. Создать персептрон с одним нейроном и двоичным входом и настроить его параметры, сначала для выполнения логической функции AND, а затем для выполнения логической функции OR, выполнив следующие действия:
Создать персептрон: net = newp([0 1;0 1], 1).
Подготовить обучающие последовательности:
p={[0;0] [0;1] [1;0] [1;1]};
p1=cat(2, p{:});
T1=num2cell(p1(1,:) & p1(2,:)) % – функция AND; T2=num2cell(p1(1,:) | p1(2,:)) % – функция OR.
Настроить параметры персептрона для выполнения логической функции AND, используя процедуру адаптации:
net.adaptParam.passes = 10; % – число проходов; net.adapt(net,p,T1); % – настройка на AND; net.IW{1,1},net.b{1} % – линия 2p1 + p2 –3=0;
Y =sim(net,p) % – моделирование AND.
4. Настроить параметры персептрона для выполнения логической функции OR, используя процедуру обучения:
net.trainParam.epochs=20;
|
% – число циклов;
|
net = init(net);
|
% – инициализация;
|
net = train(net,p,T2);
|
% – настройка на OR;
|
net.IW{1,1},net.b{1}
|
% – линия 2p1 + 2p2 –2=0;
|
Y = sim(net,p)
|
% – моделирование OR.
|
Достарыңызбен бөлісу: |