Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

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àm get_mse().
    • Thêm mse vào mse_hist.
  • 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()
Chỉnh sửa và Chạy Mã