Cập nhật trọng số nhiều lần
Bây giờ bạn sẽ thực hiện nhiều lần cập nhật để có thể cải thiện mạnh mẽ trọng số mô hình và quan sát cách dự đoán cải thiện sau mỗi lần cập nhật.
Để mã gọn gàng hơn, đã có sẵn hàm get_slope() nhận input_data, target, và weights làm đối số. Cũng có hàm get_mse() nhận cùng các đối số đó. input_data, target, và weights đã được nạp sẵn.
Mạng này không có tầng ẩn; nó đi thẳng từ đầu vào (với 3 nút) đến một nút đầu ra. Lưu ý rằng weights là một mảng đơn.
Chúng tôi cũng đã nạp sẵn matplotlib.pyplot, và lịch sử lỗi sẽ được vẽ sau khi bạn hoàn thành các bước gradient descent.
Bài tập này là một phần của khóa học
Nhập môn Deep Learning với Python
Hướng dẫn bài tập
- Dùng vòng lặp
forđể cập nhật trọng số lặp từng bước:- Tính độ dốc bằng hàm
get_slope(). - Cập nhật trọng số với learning rate
0.01. - Tính mean squared error (
mse) với trọng số đã cập nhật bằng hàmget_mse(). - Thêm
msevàomse_hist.
- Tính độ dốc bằng hàm
- Nhấn "Gửi câu trả lời" để trực quan hóa
mse_hist. Bạn thấy xu hướng nào?
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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()