Искусственные нейронные сети. Сивохин А.В - 118 стр.

UptoLike

118
Yc = vec2ind(Y) % индексы классов, которые
% получила сеть;
% Сравнить Yc и Tc.
Задание 2. Повторить первое задание для всевозможных векторов
индексов
Tс и выявить случаи несовпадения Yc и Tc, т. е. случаи не-
правильной классификации.
Задание 3.
Создать нейронную LVQ-сеть с теми же параметрами,
что и в первом задании, обучить сеть, промоделировать её, построить
график распределения входных векторов по кластерам и разделяю-
щую линию областей точек, принадлежащих разным классам, вы-
полнив следующие команды:
P = [-3 -2 –2 0 0 0 0 +2 +2 +3;
0 +1 –1 2 1 –1 –2 +1 –1 0]
Tc = [1 1 1 2 2 2 2 1 1 1 ]; % – индексы классов;
T = full(ind2vec(Tc));
net = newlvg(minmax(P), 4, [0.6 0.4]);
net.inputWeights{1, 1}
net.IW{1, 1} % – веса входного слоя после инициализации;
net.LW{2,1} % – веса выходного слоя после инициализации;
net.b{1}, net.b{2}
net.trainParam.epoch = 2000;
net.trainParam.show = 100;
net.trainParam.lr = 0.05;
net = train(net, P, T);
net.IW{1, 1} % – веса выходного слоя после обучения;
net.LW{2, 1} % – веса выходного слоя после обучения;
I1 = find(Tc = = 1); % – вектор индексов первого класса;
I2 = find(Tc = = 2); % – вектор индексов второго класса;
axis([-4, 4, -3, 3]) % – диапазоны для X и Y;
P1 = P(: , I1) % – векторы первого класса;
  Yc = vec2ind(Y)           % – индексы классов, которые
                            % получила сеть;
   % Сравнить Yc и Tc.
   Задание 2. Повторить первое задание для всевозможных векторов
индексов Tс и выявить случаи несовпадения Yc и Tc, т. е. случаи не-
правильной классификации.

   Задание 3. Создать нейронную LVQ-сеть с теми же параметрами,
что и в первом задании, обучить сеть, промоделировать её, построить
график распределения входных векторов по кластерам и разделяю-
щую линию областей точек, принадлежащих разным классам, вы-
полнив следующие команды:
   P = [-3 -2 –2 0 0 0 0 +2 +2 +3; …
   0 +1 –1 2 1 –1 –2 +1 –1 0]

  Tc = [1 1 1 2 2 2 2 1 1 1 ]; % – индексы классов;
  T = full(ind2vec(Tc));
  net = newlvg(minmax(P), 4, [0.6 0.4]);
  net.inputWeights{1, 1}
  net.IW{1, 1} % – веса входного слоя после инициализации;
  net.LW{2,1} % – веса выходного слоя после инициализации;
  net.b{1}, net.b{2}
  net.trainParam.epoch = 2000;
  net.trainParam.show = 100;
  net.trainParam.lr = 0.05;
  net = train(net, P, T);
  net.IW{1, 1}          % – веса выходного слоя после обучения;
  net.LW{2, 1}          % – веса выходного слоя после обучения;
  I1 = find(Tc = = 1); % – вектор индексов первого класса;
  I2 = find(Tc = = 2); % – вектор индексов второго класса;
  axis([-4, 4, -3, 3]) % – диапазоны для X и Y;
  P1 = P(: , I1)        % – векторы первого класса;

                               118