了解感知器训练算法
Posted
技术标签:
【中文标题】了解感知器训练算法【英文标题】:Understanding Perceptron training algorithm 【发布时间】:2017-05-10 15:00:21 【问题描述】:以下文字来自 Hal Daumé III 的 "A Course in Machine Learning" 在线教科书(第 41 页)。
我明白,D
= 输入向量的大小。
(1) 这是一种什么样的感知器算法?二进制/多类?在线/离线?
(2) 这里的y
是什么?偏差/权重/样本/class_label?
(3) 测试ya<=0
以更新权重的基本原理是什么?
编辑。
y
是 class_label。
【问题讨论】:
您不断扩大问题的范围,使旧答案过时。并不是说这是不允许的,但你最好问多个问题。例如,您在我发布答案一段时间后添加的第四个问题可能是一个独立的问题。 这个问题属于stats.stackexchange.com,也就是交叉验证。 请勿破坏您的帖子。 我回滚到修订版 6,因为 OP 破坏了他的帖子,并且在此之前在发布答案后扩大了问题的范围。这个问题太宽泛了,需要结束。 【参考方案1】:回答您的问题:
1 -这是一种二元感知器算法,用于离线批处理。
2 - 正如你所写 - Y 是标签向量。每个标签可以是 1 或 -1。
3 - 测试y*a
关于第三个问题的更多信息
感知器算法背后的思路如下:
一个。我们迭代样本 MaxIter 时间。
b.感知器通过将每个样本与权重向量 W 相乘并添加偏差 b 来对每个样本进行分类。结果赋值给变量a。
c。每个样本的预测可以是 1 或 -1。它由符号(a)计算。在这个阶段我们检查分类的正确性。
如果 y*a>0 表示 y=sign(a)。换句话说,预测的分类是正确的,我们继续下一个样本。
如果 y*a
【讨论】:
以上是关于了解感知器训练算法的主要内容,如果未能解决你的问题,请参考以下文章