การแยกด้วยโครงข่ายประสาทเทียม
เตรียมพร้อมสำหรับการผ่าตัดสมองเชิงโค้ดกันเลย!
นิวรอนเรียนรู้โดยการอัปเดตน้ำหนักเพื่อให้ผลลัพธ์ที่ช่วยแยกแยะคลาสต่างๆ ในชุดข้อมูลได้ดีขึ้น
ในแบบฝึกหัดนี้จะใช้ฟังก์ชัน inp_to_out() ที่สร้างไว้ก่อนหน้า เพื่อ visualize ผลลัพธ์ของนิวรอนสองตัวในเลเยอร์แรกของโมเดล Banknote Authentication ขณะที่มันกำลังเรียนรู้
โมเดลที่สร้างไว้ในบทที่ 2 พร้อมใช้งานแล้ว เช่นเดียวกับ X_test และ y_test หากต้องการตรวจสอบฟังก์ชัน plot() ให้วาง show_code(plot) ในคอนโซล
เมื่อทำทุกอย่างเสร็จแล้ว ให้คลิกดูกราฟแต่ละภาพเพื่อสังเกตการแยกข้อมูลที่เกิดขึ้นจริง!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Deep Learning เบื้องต้นด้วย Keras
คำแนะนำการฝึกหัด
- ใช้ฟังก์ชัน
inp_to_out()ที่กำหนดไว้ก่อนหน้า เพื่อรับผลลัพธ์ของเลเยอร์แรกเมื่อป้อนX_testเข้าไป - ใช้เมธอด
model.evaluate()เพื่อดึงค่าความแม่นยำในการตรวจสอบ (validation accuracy) ของชุดข้อมูลทดสอบในแต่ละ epoch
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
for i in range(0, 21):
# Train model for 1 epoch
h = model.fit(X_train, y_train, batch_size = 16, epochs = 1, verbose = 0)
if i%4==0:
# Get the output of the first layer
layer_output = ____([____])[0]
# Evaluate model accuracy for this epoch
test_accuracy = model.____(____, ____)[1]
# Plot 1st vs 2nd neuron output
plot()