ปรับแต่งพารามิเตอร์ของโมเดล
ถึงเวลาทดลองใช้พารามิเตอร์ต่าง ๆ กับโมเดลและดูว่าโมเดลทำงานได้ดีแค่ไหน!
ฟังก์ชัน create_model() ที่สร้างไว้ในแบบฝึกหัดก่อนหน้าพร้อมใช้งานแล้ว
เนื่องจากการ fit object RandomizedSearchCV ใช้เวลานานมาก ผลลัพธ์ที่จะได้รับจึงถูกแสดงผ่านฟังก์ชัน show_results() แทน
หากต้องการทดสอบเอง สามารถรัน random_search.fit(X,y) ใน console ได้ แต่อาจทำให้แบบฝึกหัดหมดเวลาได้ (แนะนำให้คัดลอกโค้ดสำรองไว้ก่อน เพื่อป้องกันการสูญเสียความคืบหน้า!)
ไม่จำเป็นต้องระบุพารามิเตอร์เสริม epochs และ batch_size ตอนสร้าง object KerasClassifier เนื่องจากค่าเหล่านี้จะถูกส่งผ่าน params ไปยัง random search อยู่แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Deep Learning เบื้องต้นด้วย Keras
คำแนะนำการฝึกหัด
- Import
KerasClassifierจาก scikit_learn wrappers ของtensorflow.keras - ใช้ฟังก์ชัน
create_modelตอนสร้าง objectKerasClassifier - กำหนด
'relu'และ'tanh'เป็นactivation, กำหนด 32, 128 และ 256 เป็นbatch_size, กำหนด 50, 100 และ 200 เป็นepochsและกำหนดlearning_rateเป็น 0.1, 0.01 และ 0.001 - ส่ง
modelที่แปลงแล้วและparamsที่เลือกไว้ตอนสร้าง objectRandomizedSearchCV
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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()