use*_*312 -9 matlab perceptron neural-network
以下文字来自HalDaumé三世的" 机器学习课程 "在线教科书(第41页).
据我所知,D=输入向量的大小.
(1)这是什么样的Perceptron算法?二级/多级?在线/离线?
(2)这是什么y?偏置/重量/样品/ class_label?
(3)测试ya<=0更新砝码的理由是什么?
编辑.
y 是class_label.
您的问题的答案:
1 -这是一个二进制感知器算法,用于离线批处理.
2 -正如你所写 - Y是标签矢量.每个标签可以是1或-1.
3 -如果y*a <= 0则测试的合理性是检查感知器是否正确分类了某个样本.如果不是 - 感知器的权重被修改.
更多关于第三个问题
感知器算法背后的想法如下:
一个.我们迭代样本MaxIter次.
湾 感知器通过将每个样本与权重向量W相乘并添加偏差b来对每个样本进行分类.结果被分配到变量a中.
C.每个样本的预测可以是1或-1.它由符号(a)计算.在这个阶段,我们检查分类的正确性.
如果y*a> 0表示y = sign(a).换句话说,预测的分类是正确的,我们继续下一个样本.
但是,如果y*a <= 0,则意味着感知器无法预测正确的标签.在这种情况下,算法会改变感知器的权重,使它们与我们未能分类的样本更加兼容.