Phát hiện overfitting
Trong bài tập này, chúng ta sẽ làm việc với một tập con nhỏ của bộ dữ liệu chữ cái ngôn ngữ ký hiệu gốc. Mẫu nhỏ, kết hợp với mô hình có rất nhiều tham số, thường sẽ dẫn đến overfitting. Điều này có nghĩa là mô hình của bạn chỉ ghi nhớ lớp của từng ví dụ thay vì nhận diện các đặc trưng có thể khái quát cho nhiều ví dụ.
Bạn sẽ phát hiện overfitting bằng cách kiểm tra xem loss trên mẫu validation có cao hơn đáng kể so với loss trên mẫu huấn luyện hay không, và liệu nó có tăng lên khi tiếp tục huấn luyện không. Với mẫu nhỏ và tốc độ học cao, mô hình sẽ khó hội tụ về nghiệm tối ưu. Bạn sẽ đặt tốc độ học thấp cho optimizer để dễ nhận diện overfitting hơn.
Lưu ý rằng keras đã được import từ tensorflow.
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
- Định nghĩa một mô hình tuần tự trong
kerastên làmodel. - Thêm lớp dense đầu tiên với 1024 nút, kích hoạt
relu, và input shape là (784,). - Đặt tốc độ học là 0.001.
- Thiết lập thao tác
fit()lặp qua toàn bộ mẫu 50 lần và dùng 50% mẫu để validation.
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.
# Define sequential model
____
# Define the first layer
____
# Add activation function to classifier
model.add(keras.layers.Dense(4, activation='softmax'))
# Finish the model compilation
model.compile(optimizer=keras.optimizers.Adam(lr=____),
loss='categorical_crossentropy', metrics=['accuracy'])
# Complete the model fit operation
model.fit(sign_language_features, sign_language_labels, epochs=____, validation_split=____)