Tinh chỉnh các tham số của mô hình
Đến lúc thử các tham số khác nhau trên mô hình của bạn và xem mô hình hoạt động ra sao!
Hàm create_model() bạn đã xây ở bài trước đã sẵn sàng để dùng.
Vì huấn luyện đối tượng RandomizedSearchCV sẽ mất quá nhiều thời gian, kết quả bạn sẽ nhận được đã được in sẵn trong hàm show_results().
Bạn có thể tự thử random_search.fit(X,y) trong console để kiểm chứng sau khi đã xây xong mọi thứ, nhưng rất có thể bài tập sẽ hết thời gian (vì vậy hãy sao chép mã của bạn trước khi thử, nếu không bạn có thể mất tiến trình!).
Bạn không cần dùng các tham số tùy chọn epochs và batch_size khi tạo đối tượng KerasClassifier vì bạn sẽ truyền chúng vào params cho random search và cách này đã hoạt động rồi.
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 Keras
Hướng dẫn bài tập
- Import
KerasClassifiertừ các wrappers scikit_learn củatensorflow.keras. - Sử dụng hàm
create_modelcủa bạn khi khởi tạoKerasClassifier. - Đặt
'relu'và'tanh'làmactivation, 32, 128 và 256 làmbatch_size, 50, 100 và 200 làmepochs, vàlearning_ratelà 0.1, 0.01 và 0.001. - Truyền
modelđã chuyển đổi vàparamsđã chọn khi bạn tạo đối tượngRandomizedSearchCV.
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.
# Import KerasClassifier from tensorflow.keras scikit learn wrappers
from tensorflow.keras.wrappers.____ import ____
# Create a KerasClassifier
model = KerasClassifier(build_fn = ____)
# Define the parameters to try out
params = {'activation': [____, ____], 'batch_size': [____, ____, ____],
'epochs': [____, ____, ____], 'learning_rate': [____, ____, ____]}
# Create a randomize search cv object passing in the parameters to try
random_search = RandomizedSearchCV(____, param_distributions = ____, cv = KFold(3))
# Running random_search.fit(X,y) would start the search,but it takes too long!
show_results()