Melakukan beberapa pembaruan pada bobot
Sekarang Anda akan melakukan beberapa pembaruan agar bobot model meningkat secara signifikan, dan melihat bagaimana prediksi membaik pada setiap pembaruan.
Untuk menjaga kode tetap rapi, telah disediakan fungsi get_slope() yang menerima input_data, target, dan weights sebagai argumen. Tersedia juga fungsi get_mse() yang menerima argumen yang sama. Variabel input_data, target, dan weights sudah dimuat sebelumnya.
Jaringan ini tidak memiliki lapisan tersembunyi, dan langsung dari masukan (dengan 3 node) ke sebuah node keluaran. Perhatikan bahwa weights berupa satu array.
Kami juga telah memuat matplotlib.pyplot, dan riwayat error akan dipetakan setelah Anda menyelesaikan langkah-langkah gradient descent.
Latihan ini adalah bagian dari kursus
Pengantar Deep Learning dengan Python
Petunjuk latihan
- Gunakan perulangan
foruntuk memperbarui bobot secara iteratif:- Hitung kemiringan (slope) menggunakan fungsi
get_slope(). - Perbarui bobot dengan laju pembelajaran
0.01. - Hitung mean squared error (
mse) dengan bobot yang telah diperbarui menggunakan fungsiget_mse(). - Tambahkan
msekemse_hist.
- Hitung kemiringan (slope) menggunakan fungsi
- Klik 'Kirim Jawaban' untuk memvisualisasikan
mse_hist. Tren apa yang Anda amati?
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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()