感知器的通过次数

时间:2012-07-03 07:26:44

标签: algorithm machine-learning neural-network perceptron

我正在尝试实现Perceptron算法,但我无法弄清楚以下几点。

  • 什么应该是迭代数的理想值
  • 这个算法适用于大量数据吗?
  • 是否会随着迭代而改变阈值?
  • 如果是,它在最终输出中有什么不同?

1 个答案:

答案 0 :(得分:2)

Perceptron不是一种特定的算法,它是一组算法的名称。这些算法之间存在两个主要差异。

<强> 1。整合和解雇规则

让输入向量为x,权重向量为w,阈值为t,输出值为P(x)。计算P(x)有各种函数:

  1. 二进制:P(x) = 1(如果w * x&gt; = t)或0(否则)
  2. 半线性:P(x) = w * x(如果w * x&gt; = t)或0(否则)
  3. 硬限制:P(x) = t(如果w * x&gt; = t)或w * {{1} }(如果0&lt; x * w&lt; x)或0(否则)
  4. Sigmoid:t = 1/1 + e ^(P(x) * w
  5. 和其他许多人。 因此很难说阈值在最终结果中有什么不同,因为它取决于您使用的集成和消防功能。

    <强> 2。学习规则

    Perceptron的学习规则也各不相同。最简单和最常见的是

    x - &gt; w + w * a *(x - D(x)

    其中P(x)是学习步骤的大小,aD(x)的预期输出。 因此,很难说什么应该是理想的迭代值,因为它取决于x的值以及您拥有的训练样本数量。

    因此,thresold会随着迭代而改变吗? 它也取决于。上面简单而常见的学习规则不会在训练时修改阈值,但还有一些其他学习规则会对其进行修改。

    不过,你还问过这个algorothm是否适合大量数据? 衡量某个数据集分类器适用性的主要指标是数据集的线性可分性,而不是其规模。请记住单层Perceptron对于非线性可分离的数据集具有非常差的性能。 数据集的规模无关紧要。