什么是感知器学习算法?

时间:2016-11-17 23:21:48

标签: machine-learning neural-network perceptron

在感知器,一层神经网络中,更新权重和偏差的算法是什么?我知道有多种算法,但是有一种易于在代码中实现的标准算法吗?

3 个答案:

答案 0 :(得分:0)

标准算法为gradient descent using back-propagation。算法如下:

  1. 猜猜初始权重和偏见。
  2. 计算使用权重和偏差来计算估算值y_hat的“正向通行证”。
  3. 计算损失,即真实值y与您从步骤2计算的估算值y_hat之间的差异。
  4. 根据每个权重和偏差计算损失的梯度。该梯度将采用小浮点数的形式。此步骤称为“向后传递”,并将名称赋予“反向传播”,其中该损失的梯度被向后推。
  5. 通过添加渐变来更新权重和偏差。
  6. 重复步骤2到5一段时间(称为纪元)后,您将有希望获得最佳权重和偏见。

答案 1 :(得分:0)

感知器是一种线性二元分类器。它通常使用delta规则进行训练:

w <- initialize randomly (e.g. uniformly in [-1, 1])
learning_rate <- 0.42  # something in (0, 1)
for epoch in range(42):
    y <- perceptron_classification(x)
    w <- w - learning_rate * (y - target) * x

如果您想查看有效的(已测试的)最低实现,请查看我的存储库:https://github.com/MartinThoma/algorithms/tree/master/perceptron

答案 2 :(得分:0)

我认为,我不应该只是在这里说明算法,而应该提供一些材料,从哪里开始,并快速了解端到端的算法。

考虑这本书:Neural Networks: A Systematic Introduction,但是劳尔罗哈斯。

对于Perceptron Learning,请参阅第4.2节

对于进行学习的空间的非常好的概述,意图,算法,收敛和可视化。我建议先阅读第3章,然后再阅读第4章。