การปรับเปลี่ยน Loss Function
ในแบบฝึกหัดก่อนหน้า คุณได้นิยาม loss function ของ tensorflow และประเมินค่าครั้งหนึ่งสำหรับชุดค่าจริงและค่าที่ทำนายไว้ ในแบบฝึกหัดนี้ จะคำนวณค่า loss ภายในฟังก์ชันอีกตัวที่ชื่อว่า loss_function() ซึ่งจะสร้างค่าที่ทำนายจากข้อมูลและตัวแปรก่อน จุดประสงค์คือเพื่อสร้างฟังก์ชันของตัวแปรโมเดลที่ฝึกได้ซึ่งคืนค่า loss จากนั้นจึงประเมินฟังก์ชันนี้ซ้ำด้วยค่าตัวแปรต่าง ๆ จนกว่าจะพบค่าต่ำสุด ในทางปฏิบัติ จะส่งฟังก์ชันนี้ให้กับ optimizer ใน tensorflow โปรดทราบว่า features และ targets ถูกนิยามไว้แล้วและพร้อมใช้งาน นอกจากนี้ Variable, float32, และ keras ก็พร้อมใช้งานเช่นกัน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
TensorFlow เบื้องต้นใน Python
คำแนะนำการฝึกหัด
- นิยามตัวแปร
scalarโดยกำหนดค่าเริ่มต้นเป็น 1.0 และชนิดข้อมูลเป็นfloat32 - นิยามฟังก์ชันชื่อ
loss_function()โดยรับscalar,features, และtargetsเป็นอาร์กิวเมนต์ตามลำดับนั้น - ใช้ mean absolute error เป็น loss function
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Initialize a variable named scalar
scalar = ____(1.0, ____)
# Define the model
def model(scalar, features = features):
return scalar * features
# Define a loss function
def loss_function(____, features = features, targets = targets):
# Compute the predicted values
predictions = model(scalar, features)
# Return the mean absolute error loss
return keras.losses.____(targets, predictions)
# Evaluate the loss function and print the loss
print(loss_function(scalar).numpy())