Farklı Perceptron uygulamaları ile biraz denedim ve "iterasyonları" doğru anladığımdan emin olmak istiyorum.
Rosenblatt'ın orijinal algılayıcı kuralı
Anladığım kadarıyla, Rosenblatt'ın klasik perceptron algoritmasında, ağırlıklar aynı anda her eğitim örneğinden sonra güncellenir.
burada burada öğrenme kuralıdır. Hem hedef hem de gerçek eşik değerlerdir (-1 veya 1). Antrenman numunesi üzerinde 1 iterasyon = 1 geçiş olarak uyguladım, ancak ağırlık vektörü her antrenman örneğinden sonra güncellenir.
Ve "gerçek" değeri şöyle hesaplıyorum
Stokastik eğim inişi
Bununla birlikte, perceptron kuralıyla aynıdır target
ve actual
eşikli değil gerçek değerlerdir. Ayrıca, "yineleme" yi eğitim örneği üzerindeki yol olarak sayıyorum.
Hem SGD hem de klasik perceptron kuralı bu lineer olarak ayrılabilir durumda birleşir, ancak gradyan iniş uygulamasında sorunlar yaşıyorum.
Dereceli alçalma
Burada, eğitim örneğinin üzerinden geçiyorum ve eğitim örneğinin 1 geçişi için ağırlık değişikliklerini özetliyorum ve daha sonra ağırlıkları güncelledim, örn.
her eğitim örneği için:
...
eğitim setinin 1 geçişinden sonra:
Bu varsayımın doğru olup olmadığını veya bir şeylerin eksik olup olmadığını merak ediyorum. Çeşitli (sonsuz küçük) öğrenme oranları denedim ama herhangi bir yakınsama belirtisi göstermek için alamadım. Yani, yanlış anladım mı diye merak ediyorum. buraya.
Teşekkürler Sebastian