เครื่องให้น้ำอัตโนมัติ
ในแบบฝึกหัดนี้ เราจะสร้างระบบให้น้ำอัตโนมัติสำหรับแปลงเกษตรโดยใช้โมเดล Multi-label classification ซึ่งแตกต่างจาก Multi-class classification ตรงที่แต่ละข้อมูลสามารถมีได้หลาย label พร้อมกัน นั่นหมายความว่า class ต่าง ๆ ไม่ได้แยกกันอย่างเด็ดขาด — โมเดลอาจสั่งให้น้ำทุกแปลง ไม่มีแปลงใดเลย หรือจะเลือกแปลงใดก็ได้ตามข้อมูลที่รับเข้ามา
เพื่อรองรับพฤติกรรมนี้ output layer จะมีจำนวน neurons เท่ากับจำนวน class แต่คราวนี้แต่ละ neuron จะใช้ sigmoid เป็น activation function ซึ่งต่างจาก Multi-class classification วิธีนี้ทำให้แต่ละ neuron ใน output layer สามารถให้ค่าระหว่าง 0 ถึง 1 ได้อย่างอิสระ
โมเดล Sequential() และ layer Dense() พร้อมใช้งานแล้ว ถึงเวลาสร้างเครื่องให้น้ำอัตโนมัติกันเลย!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Deep Learning เบื้องต้นด้วย Keras
คำแนะนำการฝึกหัด
- สร้างโมเดล
Sequential() - เพิ่ม hidden layer ที่มี 64 neurons โดยกำหนดจำนวน input neurons ให้เท่ากับจำนวน sensor และใช้ activation แบบ
relu - เพิ่ม output layer ที่มีจำนวน neurons เท่ากับจำนวนแปลงเกษตร และใช้ activation แบบ
sigmoid - compile โมเดลด้วย optimizer
adamและ loss แบบbinary_crossentropy
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Instantiate a Sequential model
model = ____
# Add a hidden layer of 64 neurons and a 20 neuron's input
____
# Add an output layer of 3 neurons with sigmoid activation
____
# Compile your model with binary crossentropy loss
model.compile(optimizer='adam',
loss = ____,
metrics=['accuracy'])
model.summary()