Нейрон с двумя входами жесткого предела обучен классифицировать четыре входных вектора в две категории.
Каждый из четырёх векторов-столбцов 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 в две категории, определенные T. Перцептроны, имеют 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», чтобы предыдущий график не стирался, и постройте график набора обучающих данных и линии классификации.
Перцептрон правильно классифицировал нашу новую точку (в красном) как категорию « нуль» (представленную кругом), а не «единицу» (представленную плюсом).
hold on; plotpv(X,T); plotpc(net.IW{1},net.b{1}); hold off;