-1
下面的代码是怎么回事?感知器代码解释
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)为什么正面和负面的课程分别通过第一名?那么做分类有什么意义呢?
(2)什么是sepplane
?
(3)什么是misind
?
(4)计算correction
背后的基本原理是什么?
根据你最近的几个问题,我强烈建议你做更多关于感知器的背景知识。维基百科页面链接到看起来有用的[书籍章节](http://page.mi.fu-berlin.de/rojas/neural/chapter/K3.pdf)。一旦你理解了这个理论,这个代码就是一个直接的实现。 – Cecilia
@ Cecilia,是的。但是,你的回答为我节省了将近24小时。 – anonymous
这不是MATLAB代码 – excaza