โมเดล Multi-class
ในแบบฝึกหัดนี้ เราจะสร้างโมเดลที่ทำนายว่าใครเป็นคนขว้างลูกดอก โดยอาศัยเพียงตำแหน่งที่ลูกดอกปักบนกระดาน (นั่นคือพิกัด x และ y บนกระดาน)
ปัญหานี้เป็น multi-class classification เนื่องจากลูกดอกแต่ละลูกถูกขว้างโดยผู้แข่งขันเพียงคนเดียวจากทั้งหมด 4 คน คลาสต่าง ๆ จึงไม่ทับซ้อนกัน เราจึงสามารถสร้าง neuron ที่มี output เท่ากับจำนวนผู้แข่งขัน และใช้ activation function softmax เพื่อให้ผลรวมของความน่าจะเป็นทุกคลาสรวมกันได้เท่ากับ 1
โมเดล Sequential และเลเยอร์ Dense ได้ถูก import ไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Deep Learning เบื้องต้นด้วย Keras
คำแนะนำการฝึกหัด
- สร้าง instance ของโมเดล
Sequential - เพิ่ม dense layer จำนวน 3 เลเยอร์ ที่มี 128, 64 และ 32 neurons ตามลำดับ
- เพิ่ม dense layer สุดท้ายที่มี neurons เท่ากับจำนวนผู้แข่งขัน
- คอมไพล์โมเดลโดยใช้ loss แบบ
categorical_crossentropy
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Instantiate a sequential model
model = ____
# Add 3 dense layers of 128, 64 and 32 neurons each
model.add(____(____, input_shape=(2,), activation='relu'))
model.add(____(____, activation='relu'))
model.add(____(____, activation='relu'))
# Add a dense layer with as many neurons as competitors
model.add(____(____, activation=____))
# Compile your model using categorical_crossentropy loss
model.compile(loss=____,
optimizer='adam',
metrics=['accuracy'])