Compile และ fit โมเดล
เมื่อมีโมเดลที่มี 2 outputs แล้ว ให้ compile โดยใช้ฟังก์ชัน loss 2 ตัว ได้แก่ mean absolute error (MAE) สำหรับ 'score_diff' และ binary cross-entropy (หรือที่รู้จักในชื่อ logloss) สำหรับ 'won' จากนั้น fit โมเดลโดยใช้ 'seed_diff' และ 'pred' เป็น inputs และทำนาย 'score_diff' กับ 'won' เป็น outputs
โมเดลนี้สามารถใช้คะแนนของการแข่งขันเพื่อให้แน่ใจว่าเกมที่สูสี (score diff น้อย) มีความน่าจะเป็นในการชนะต่ำกว่าเกมที่ทีมหนึ่งชนะขาด (score diff มาก)
ปัญหา regression นั้นง่ายกว่าปัญหา classification เนื่องจาก MAE ลงโทษโมเดลน้อยกว่าเมื่อแพ้เพราะโชคไม่ดี ตัวอย่างเช่น หาก score_diff เท่ากับ -1 และ won เท่ากับ 0 หมายความว่า team_1 โชคร้ายและแพ้ด้วยการโยนโทษเพียงครั้งเดียว ข้อมูลจากปัญหาที่ง่ายกว่าช่วยให้โมเดลหาคำตอบสำหรับปัญหาที่ยากขึ้นได้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Deep Learning ขั้นสูงด้วย Keras
คำแนะนำการฝึกหัด
- import
Adamจากkeras.optimizers - Compile โมเดลด้วย loss 2 ตัว ได้แก่
'mean_absolute_error'และ'binary_crossentropy'พร้อมใช้ Adam optimizer ที่มี learning rate เท่ากับ 0.01 - Fit โมเดลโดยใช้คอลัมน์
'seed_diff'และ'pred'เป็น inputs และคอลัมน์'score_diff'กับ'won'เป็น targets - ใช้จำนวน 10 epochs และ batch size เท่ากับ 16384
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import the Adam optimizer
____
# Compile the model with 2 losses and the Adam optimzer with a higher learning rate
model.____(loss=['____', '____'], optimizer=____)
# Fit the model to the tournament training data, with 2 inputs and 2 outputs
model.____(games_tourney_train[['____', '____']],
[games_tourney_train[['____']], games_tourney_train[['____']]],
epochs=____,
verbose=True,
batch_size=____)