Ağırlıklara birden çok güncelleme uygulama
Şimdi birden çok güncelleme yaparak model ağırlıklarını ciddi şekilde iyileştirecek ve her güncellemeyle birlikte tahminlerin nasıl geliştiğini göreceksin.
Kodunu temiz tutmak için, input_data, target ve weights argümanlarını alan, önceden yüklenmiş bir get_slope() fonksiyonu var. Aynı argümanları alan bir get_mse() fonksiyonu da mevcut. input_data, target ve weights önceden yüklendi.
Bu ağın gizli katmanı yok; doğrudan girdiden (3 düğüm) bir çıktı düğümüne gidiyor. weights değerinin tek bir dizi olduğunu unutma.
Ayrıca matplotlib.pyplot da önceden yüklendi ve gradyan inişi adımlarını tamamladıktan sonra hata geçmişi çizdirilecek.
Bu egzersiz
Python ile Deep Learning'e Giriş
kursunun bir parçasıdırEgzersiz talimatları
- Ağırlıkları yinelemeli olarak güncellemek için bir
fordöngüsü kullan:get_slope()fonksiyonuyla eğimi hesapla.- Öğrenme oranı
0.01kullanarak ağırlıkları güncelle. - Güncellenmiş ağırlıklarla
get_mse()fonksiyonunu kullanarak ortalama kare hatayı (mse) hesapla. msedeğerinimse_histlistesine ekle.
mse_histgörselleştirmesi için 'Yanıtı Gönder'e bas. Hangi eğilimi fark ediyorsun?
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
n_updates = 20
mse_hist = []
# Iterate over the number of updates
for i in range(n_updates):
# Calculate the slope: slope
slope = ____(____, ____, ____)
# Update the weights: weights
weights = ____ - ____ * ____
# Calculate mse with new weights: mse
mse = ____(____, ____, ____)
# Append the mse to mse_hist
____
# Plot the mse history
plt.plot(mse_hist)
plt.xlabel('Iterations')
plt.ylabel('Mean Squared Error')
plt.show()