Что происходит в следующем коде?Код Perceptron code
function [ errors sepplane ] = perceptron (pclass , nclass)
sepplane = rand (1 , columns (pclass) + 1) - 0.5;
tset = [ ones (rows (pclass), 1) pclass ;
- ones (rows (nclass), 1) -nclass
];
i = 1;
do
misind = tset * sepplane ' < 0;
correction = sum (tset (misind , :), 1)/sqrt (i);
sepplane = sepplane + correction;
++ i;
until (norm (sepplane) * 0.0005) - norm (correction) > 0 || i > 1000;
errors = mean (tset * sepplane ' < 0);
dzeros = tvec (tlab == 1 , :);
dones = tvec (tlab == 2 , :);
perceptron (dzeros , dones)
end
(0) Почему этот код так сильно отличается от this one?
(1) Почему положительные и отрицательные классы отдельно передаются в 1-м месте? Тогда в чем смысл классификации?
(2) Что такое sepplane
?
(3) Что такое misind
?
(4) Что является обоснованием расчета correction
?
Основываясь на ваших последних парах вопросов, я настоятельно рекомендую вам сделать еще несколько фоновых чтений о персептронах. Страница Википедии ссылается на [книжную главу] (http://page.mi.fu-berlin.de/rojas/neural/chapter/K3.pdf), которая выглядит полезной. Как только вы понимаете теорию, этот код является прямой реализацией. – Cecilia
@Cecilia, да. Но ваш ответ только спас меня почти 24 часа. – anonymous
Это не код MATLAB – excaza