了解Perceptron训练算法

时间:2016-12-26 03:54:37

标签: matlab neural-network perceptron

以下文字来自HalDaumé三世的"A Course in Machine Learning"在线教科书(第41页)。

enter image description here

据我所知,D =输入向量的大小。

(1)这是什么样的Perceptron算法?二级/多级?在线/离线?

(2)这里y是什么?偏压/重量/样品/ class_label?

(3)测试ya<=0更新权重的基本原理是什么?

EDIT。

y是class_label。

1 个答案:

答案 0 :(得分:7)

您的问题的答案:

1 - 这是一个二元感知器算法,可以在离线批处理中工作。

你写的

2 - - Y是标签矢量。每个标签可以是1或-1。

3 - 如果y * a <= 0,则测试是否合理,以检查感知器是否正确分类了某个样本。如果不是 - 感知器的权重被修改。

关于第3个问题的更多信息

感知器算法背后的想法如下:

一个。我们迭代样本MaxIter次。

湾感知器通过将每个样本与权重向量W相乘并添加偏差b来对每个样本进行分类。结果将分配到变量a。

℃。每个样本的预测可以是1或-1。它由符号(a)计算。在这个阶段,我们检查分类的正确性。

如果y * a> 0,则表示y =符号(a)。换句话说,预测的分类是正确的,我们继续下一个样本。

但是,如果y * a <= 0,则意味着感知器无法预测正确的标签。在这种情况下,算法会改变感知器的权重,使它们与我们未能分类的样本更加兼容。