У меня есть следующий код, реализованный в Matlab. Я хочу обучить персептрон, используя алгоритм пакетной обработки, чтобы отделить эти отделяемые точки линкера. Итак, для этого я использую функцию adapt(), но, похоже, не работает. Я имею в виду, что мой персептрон не способен классифицировать точки так, как они должны быть. У этого есть некоторые веса, которые никому не полезны. С другой стороны, когда я использую функцию train(), все идет по плану. Персептрон умеет классифицировать точки с точностью. Может ли кто-нибудь объяснить мне, что не так с моим кодом? Заранее спасибо!Функция адаптации функции Matlab() не работает
function problema2_1()
p = -1 + (1 + 1) .* rand(3,5);
for i = 1 : length(p)
if 2 * p(1,i) - p(2,i) + p(3,i) < 0
t(i) = -1;
else
t(i) = 1;
end
end
net = newp([-1 1; -1 1; -1 1],1,'hardlims');
net.adaptParam.passes = 1000000;
net = adapt(net,p,t);
plotpv(p,hardlim(t));
hold on
plotpc(net.IW{1,1,1},net.b{1});
t - sim(net,p)
end
Что «не работает»? Можете ли вы опубликовать ошибку, фактический результат и ожидаемый результат в вопросе? – krisdestruction
Было бы также полезно узнать, какую версию Matlab вы используете. –