Huấn luyện mô hình tuyến tính
Trong bài tập này, chúng ta sẽ tiếp tục từ nơi bài trước dừng lại. Hệ số chặn và hệ số góc, intercept và slope, đã được định nghĩa và khởi tạo. Ngoài ra, đã có một hàm loss_function(intercept, slope) dùng để tính loss dựa trên dữ liệu và biến của mô hình.
Bây giờ bạn sẽ định nghĩa một phép tối ưu là opt. Sau đó, bạn sẽ huấn luyện một mô hình tuyến tính một biến bằng cách tối thiểu hóa loss để tìm giá trị tối ưu của intercept và slope. Lưu ý rằng phép tối ưu opt sẽ cố gắng tiến gần tới điểm tối ưu sau mỗi bước, nhưng sẽ cần nhiều bước để tìm ra nó. Vì vậy, bạn phải thực thi phép toán này lặp đi lặp lại.
Bài tập này là một phần của khóa học
Nhập môn TensorFlow bằng Python
Hướng dẫn bài tập
- Khởi tạo bộ tối ưu Adam là
optvới tốc độ học 0.5. - Áp dụng phương thức
.minimize()lên bộ tối ưu. - Truyền
loss_function()với các đối số phù hợp dưới dạng hàm lambda vào.minimize(). - Cung cấp danh sách các biến cần cập nhật cho
var_list.
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.
# Initialize an Adam optimizer
opt = keras.optimizers.____(0.5)
for j in range(100):
# Apply minimize, pass the loss function, and supply the variables
opt.____(lambda: ____(____, ____), var_list=[____, ____])
# Print every 10th value of the loss
if j % 10 == 0:
print(loss_function(intercept, slope).numpy())
# Plot data and regression line
plot_results(intercept, slope)