2016-11-17 156 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