2016-11-17 172 views

回答

0

我想,而不是仅仅陈述算法在这里,我应该从哪里开始提供一些材料,并快速理解端到端的算法。

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

对于感知学习,请参阅第4.2节

对于一个非常不错的概述,意向,算法,在其中进行学习的空间的融合和可视化。我建议先阅读第3章,然后阅读第4章。

0

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

  1. 猜测初始权重和偏差。
  2. 计算“正向通过”,您在其中使用权重和偏差来计算估计值y_hat
  3. 计算的损失,这是真值y和估计值y_hat你从步骤2
  4. 计算损失的相对于每个权重和偏置的梯度计算之间的差异。此渐变将采用小浮点数的形式。这个步骤被称为“反向传递”,并将名称称为“反向传播”,其中该损失的梯度被向后推。
  5. 通过添加渐变更新权重和偏差。

当您重复步骤2到5几次(称为时期)后,您将希望拥有最佳的权重和偏差。

+2

他不需要反向传播这个简化的问题! – sascha

+0

不,我不这样做,那只适用于隐藏层的网络。我需要的是一个明确的方程,将旧的权重和偏差与新的权重相关联。 –

+0

@HarrisonRankin维基仍然给你你需要的完整算法。我真的不明白你的不情愿...... – sascha

0

感知器是一个线性二元分类器。

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 

如果你想看到一个工作(测试)最小的实现,看看我的仓库:它通常是与delta规则的培训https://github.com/MartinThoma/algorithms/tree/master/perceptron

+0

经典感知器没有学习速率,也没有迭代次数,因为它只能用于线性可分数据集。 – lejlot