Saya bereksperimen sedikit dengan implementasi Perceptron yang berbeda dan ingin memastikan apakah saya memahami "iterasi" dengan benar.
Aturan perceptron asli Rosenblatt
Sejauh yang saya mengerti, dalam algoritma perceptron klasik Rosenblatt, bobot secara bersamaan diperbarui setelah setiap contoh pelatihan melalui
di mana adalah aturan belajar di sini. Dan target dan aktual keduanya di-threshold (-1 atau 1). Saya menerapkannya sebagai 1 iterasi = 1 melewati sampel pelatihan, tetapi vektor bobot diperbarui setelah setiap sampel pelatihan.
Dan saya menghitung nilai "aktual" sebagai
Penurunan gradien stokastik
Sama seperti aturan perceptron, namun, target
dan actual
bukan nilai ambang melainkan nilai nyata. Juga, saya menghitung "iterasi" sebagai jalur sampel pelatihan.
Baik, SGD dan aturan perceptron klasik bertemu dalam kasus yang terpisah secara linear ini, namun, saya mengalami masalah dengan implementasi gradient descent.
Keturunan Gradien
Di sini, saya membahas sampel pelatihan dan meringkas perubahan berat untuk 1 melewati sampel pelatihan dan memperbarui bobot setelahnya, misalnya,
untuk setiap sampel pelatihan:
...
setelah melewati 1 set pelatihan:
Saya bertanya-tanya, apakah asumsi ini benar atau apakah saya kehilangan sesuatu. Saya mencoba berbagai tingkat pembelajaran (hingga sangat kecil) tetapi tidak pernah bisa menunjukkan tingkat konvergensi. Jadi, saya bertanya-tanya apakah saya salah paham sth. sini.
Terima kasih, Sebastian