我正在尝试实现Perceptron算法,但我无法理解以下几点。
发布于 2012-07-03 08:13:26
感知器不是一个特定的算法,它是一组算法的名称。这两种算法有两大不同之处。
1.集成和触发规则
设输入向量为x,权向量为w,阈值为t,输出值为P(x)。有各种计算P(X)的函数:
P(x) =1(如果w * x>=t)或0(否则)P(x) = w * x (如果w * x>=t)或0(否则)P(x) =t(如果w * x>=t)或w * x (如果0<w * x<t)或0(否则)P(x) =1/ 1+e^(w * x)还有很多其他人。所以很难确定阈值在最终结果中有什么不同,因为它取决于您使用的集成函数和激发函数。
2.学习规则
感知器的学习规律也是多种多样的。最简单和最常见的是
w -> w+ a * x* (D(x)- P(x))
其中,a是学习步骤的大小,而D(x)是对x的预期输出。因此,很难说什么应该是迭代的理想值,因为这取决于a 的值和有多少训练样本。。
因此,阈值是否随迭代而变化?也取决于,上面简单而常见的学习规则在训练时并不会修改阈值,但是还有其他一些学习规则确实会对其进行修改。
顺便问一下,这种算法是否适用于海量数据?是衡量分类器对某些数据集的适用性的主要指标,是数据集的线性可分性,而不是数据集的规模,要记住,单层感知器对于非线性可分数据集的性能很差。数据集的规模并不重要.
https://stackoverflow.com/questions/11306311
复制相似问题