การปรับปรุงค่าน้ำหนักของโมเดล
ยอดเยี่ยม! คำนวณค่า slope ที่ต้องการได้แล้ว ขั้นตอนต่อไปคือนำค่า slope เหล่านั้นมาปรับปรุงโมเดล การบวก slope เข้ากับ weights จะทำให้เคลื่อนไปในทิศทางที่ถูกต้อง แต่ก็มีโอกาสที่จะเคลื่อนไปมากเกินไป ดังนั้นจึงควรเริ่มด้วยการก้าวเล็กๆ ก่อน โดยใช้ learning rate ที่ต่ำกว่า แล้วตรวจสอบว่าโมเดลมีประสิทธิภาพดีขึ้นหรือไม่
ค่า weights ถูกโหลดไว้ให้แล้วในตัวแปร weights ค่าเป้าหมายจริงอยู่ในตัวแปร target และข้อมูล input อยู่ในตัวแปร input_data ส่วนค่าพยากรณ์จาก weights เริ่มต้นถูกเก็บไว้ใน preds
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Introduction to Deep Learning in Python
คำแนะนำการฝึกหัด
- กำหนด learning rate เป็น
0.01และคำนวณค่าความผิดพลาดจากค่าพยากรณ์เริ่มต้น (ขั้นตอนนี้ทำให้แล้ว) - คำนวณค่า weights ที่อัปเดตแล้ว โดยนำผลคูณของ
learning_rateและslopeลบออกจากweights - คำนวณค่าพยากรณ์ที่อัปเดตแล้ว โดยนำ
weights_updatedคูณกับinput_dataแล้วหาผลรวม - คำนวณค่าความผิดพลาดจากค่าพยากรณ์ใหม่ แล้วเก็บผลลัพธ์ไว้ในตัวแปร
error_updated - กด 'ส่งคำตอบ' เพื่อเปรียบเทียบค่าความผิดพลาดที่อัปเดตแล้วกับค่าเดิม
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Set the learning rate: learning_rate
learning_rate = 0.01
# Calculate the predictions: preds
preds = (weights * input_data).sum()
# Calculate the error: error
error = preds - target
# Calculate the slope: slope
slope = 2 * input_data * error
# Update the weights: weights_updated
weights_updated = ____
# Get updated predictions: preds_updated
preds_updated = ____
# Calculate updated error: error_updated
error_updated = ____
# Print the original error
print(error)
# Print the updated error
print(error_updated)