Нейрон жесткого предела с двумя входами обучен классифицировать четыре входных вектора на две категории.
Каждый из четырех векторов-столбцов в X определяет двухэлементные входные векторы, а вектор-строка T определяет целевые категории вектора. Мы можем построить эти векторы с помощью PLOTPV.
X = [ -0.5 -0.5 +0.3 -0.1; ...
-0.5 +0.5 -0.5 +1.0];
T = [1 1 0 0];
plotpv(X,T);
Перцептрон должен надлежащим образом классифицировать четыре входных вектора в X на две категории, определенные Т. Перцептроны имеют нейроны HARDLIM. Эти нейроны способны разделить входное пространство прямой линией на две категории (0 и 1).
Здесь PERCEPTRON создает новую нейронную сеть с одним нейроном. Затем сеть настраивается на данные, поэтому мы можем изучить ее начальные значения веса и смещения. (Как правило, шаг конфигурирования можно пропустить, так как он автоматически выполняется ADAPT или TRAIN.)
net = perceptron; net = configure(net,X,T);
Входные векторы повторяются с начальной попыткой нейрона классифицировать.
Начальные веса устанавливаются равными нулю, поэтому любой ввод даёт тот же выход и линия классификации даже не появляется на графике. Страх не... мы собираемся тренировать его!
plotpv(X,T);
plotpc(net.IW{1},net.b{1});
Здесь входные и целевые данные преобразуются в последовательные данные (массив ячеек, где каждый столбец указывает временной интервал) и трижды копируются для формирования серий XX и TT.
ADAPT обновляет сеть для каждого временного интервала в серии и возвращает новый сетевой объект, который работает как лучший классификатор.
XX = repmat(con2seq(X),1,3);
TT = repmat(con2seq(T),1,3);
net = adapt(net,XX,TT);
plotpc(net.IW{1},net.b{1});
Теперь SIM используется для классификации любого другого входного вектора, как [0.7; 1.2]. График этой новой точки с исходным обучающим набором показывает, как работает сеть. Чтобы отличить его от тренировочного набора, окрашивайте его в красный цвет.
x = [0.7; 1.2]; y = net(x); plotpv(x,y); point = findobj(gca,'type','line'); point.Color = 'red';

Включите «удержание», чтобы предыдущий график не стирался, и постройте график обучающего набора и линии классификации.
Перцептрон правильно классифицировал нашу новую точку (красным цветом) как категорию «ноль» (представленную кругом), а не «единицу» (представленную плюсом).
hold on; plotpv(X,T); plotpc(net.IW{1},net.b{1}); hold off;
