การถดถอยเชิงเส้น: ค่าการสูญเสีย

Loss คือเมตริกเชิงตัวเลขที่อธิบายว่าการคาดการณ์ของโมเดลผิดพลาดมากน้อยเพียงใด การสูญเสียจะวัดระยะห่างระหว่างการคาดการณ์ของโมเดลกับป้ายกำกับจริง เป้าหมายของการฝึกโมเดลคือการลด Loss ให้น้อยที่สุด ซึ่งก็คือการลด Loss ให้เหลือค่าที่ต่ำที่สุดเท่าที่จะเป็นไปได้

ในรูปภาพต่อไปนี้ คุณจะเห็นภาพการสูญเสียเป็นลูกศรที่วาดจากจุดข้อมูลไปยังโมเดล ลูกศรแสดงให้เห็นว่าการคาดการณ์ของโมเดลอยู่ห่างจากค่าจริงมากน้อยเพียงใด

รูปที่ 9 เส้นการสูญเสียจะเชื่อมต่อจุดข้อมูลกับ
โมเดล

รูปที่ 9 การสูญเสียจะวัดจากค่าจริงไปยังค่าที่คาดการณ์

ระยะทางที่สูญเสีย

ในสถิติและแมชชีนเลิร์นนิง การสูญเสียจะวัดความแตกต่างระหว่างค่าที่คาดการณ์และค่าจริง Loss จะเน้นที่ระยะห่างระหว่างค่า ไม่ใช่ทิศทาง ตัวอย่างเช่น หากโมเดลคาดการณ์เป็น 2 แต่ค่าจริงคือ 5 เราไม่สนใจว่าการสูญเสียจะเป็นค่าลบ ($ 2-5=-3 $) แต่เราสนใจว่าระยะห่างระหว่างค่าคือ $ 3 $ ดังนั้นวิธีการทั้งหมดในการคำนวณการสูญเสียจึงนำเครื่องหมายออก

2 วิธีที่พบบ่อยที่สุดในการนำลายเซ็นออกมีดังนี้

  • ใช้ค่าสัมบูรณ์ของความแตกต่างระหว่างค่าจริงกับค่าที่คาดการณ์
  • ยกกำลังสองความแตกต่างระหว่างค่าจริงกับการคาดการณ์

ประเภทของการสูญเสีย

ในการถดถอยเชิงเส้น จะมี Loss หลักๆ 4 ประเภท ซึ่งสรุปไว้ในตารางต่อไปนี้

ประเภทการสูญเสีย คำจำกัดความ สมการ
การสูญเสีย L1 ผลรวมของค่าสัมบูรณ์ของความแตกต่าง ระหว่างค่าที่คาดการณ์กับค่าจริง $ ∑ | ค่าจริง - ค่าที่คาดการณ์ | $
ค่าเฉลี่ยความคลาดเคลื่อนสัมบูรณ์ (MAE) ค่าเฉลี่ยของการสูญเสีย L1 ในชุดตัวอย่าง *N* $ \frac{1}{N} ∑ | ค่าจริง - ค่าที่คาดการณ์ | $
L2 loss ผลรวมของส่วนต่างกำลังสอง ระหว่างค่าที่คาดการณ์และค่าจริง $ ∑(ค่าจริง - ค่าที่คาดการณ์)^2 $
ความคลาดเคลื่อนเฉลี่ยกำลังสอง (MSE) ค่าเฉลี่ยของความสูญเสีย L2 ในชุดตัวอย่าง *N* $ \frac{1}{N} ∑ (ค่าจริง - ค่าที่คาดการณ์)^2 $

ความแตกต่างด้านฟังก์ชันระหว่างการสูญเสีย L1 กับการสูญเสีย L2 (หรือระหว่าง MAE กับ MSE) คือการยกกำลังสอง เมื่อความแตกต่างระหว่างการคาดการณ์กับป้ายกำกับมีมาก การยกกำลังสองจะทำให้ค่า Loss มากยิ่งขึ้น เมื่อความแตกต่างมีน้อย (น้อยกว่า 1) การยกกำลังสองจะทำให้การสูญเสียยิ่งน้อยลง

เมื่อประมวลผลตัวอย่างหลายรายการพร้อมกัน เราขอแนะนำให้หาค่าเฉลี่ยของความสูญเสีย ในตัวอย่างทั้งหมด ไม่ว่าจะใช้ MAE หรือ MSE

ตัวอย่างการคำนวณการสูญเสีย

เราจะคำนวณการสูญเสีย L2 สำหรับตัวอย่างเดียวโดยใช้เส้นที่เหมาะสมที่สุดก่อนหน้า จาก เส้นที่เหมาะสมที่สุด เราได้ค่าต่อไปนี้สำหรับน้ำหนักและอคติ

  • $ \small{Weight: -4.6} $
  • $ \small{Bias: 34} $

หากโมเดลคาดการณ์ว่ารถยนต์ที่มีน้ำหนัก 2,370 ปอนด์จะวิ่งได้ 23.1 ไมล์ต่อแกลลอน แต่ในความเป็นจริงวิ่งได้ 26 ไมล์ต่อแกลลอน เราจะคำนวณค่า Loss 2 ดังนี้

ค่า สมการ ผลลัพธ์
การคาดการณ์

$\small{bias + (weight * feature\ value)}$

$\small{34 + (-4.6*2.37)}$

$\small{23.1}$
มูลค่าที่แท้จริง $ \small{ label } $ $ \small{ 26 } $
การสูญเสีย L2

$ \small{ (ค่าจริง - ค่าที่คาดการณ์)^2 } $

$\small{ (26 - 23.1)^2 }$

$\small{8.41}$

ในตัวอย่างนี้ การสูญเสีย L2 สำหรับจุดข้อมูลเดียวคือ 8.41

การเลือกการสูญเสีย

การตัดสินใจว่าจะใช้ MAE หรือ MSE อาจขึ้นอยู่กับชุดข้อมูลและวิธีที่คุณ ต้องการจัดการกับการคาดการณ์บางอย่าง โดยปกติแล้ว ค่าฟีเจอร์ส่วนใหญ่ในชุดข้อมูลจะ อยู่ในช่วงที่แตกต่างกัน ตัวอย่างเช่น โดยปกติแล้วรถยนต์จะมีน้ำหนักระหว่าง 2,000 ถึง 5,000 ปอนด์ และวิ่งได้ระหว่าง 8 ถึง 50 ไมล์ต่อแกลลอน รถยนต์ที่มีน้ำหนัก 8,000 ปอนด์ หรือรถยนต์ที่วิ่งได้ 100 ไมล์ต่อแกลลอนอยู่นอกช่วงปกติและถือเป็นค่าผิดปกติ

ค่าผิดปกติยังหมายถึงความคลาดเคลื่อนของการคาดการณ์ของโมเดลจากค่าจริง ได้ด้วย เช่น 3,000 ปอนด์อยู่ในช่วงน้ำหนักรถยนต์ทั่วไป และ 40 ไมล์ต่อแกลลอนอยู่ในช่วงประสิทธิภาพการใช้เชื้อเพลิงทั่วไป อย่างไรก็ตาม รถยนต์หนัก 3,000 ปอนด์ที่วิ่งได้ 40 ไมล์ต่อแกลลอนจะเป็นค่าผิดปกติในแง่ของการคาดการณ์ของโมเดล เนื่องจากโมเดลจะคาดการณ์ว่ารถยนต์หนัก 3,000 ปอนด์จะวิ่งได้ประมาณ 20 ไมล์ต่อแกลลอน

เมื่อเลือกฟังก์ชันการสูญเสียที่ดีที่สุด ให้พิจารณาว่าคุณต้องการให้โมเดลจัดการกับค่าผิดปกติอย่างไร เช่น MSE จะย้ายโมเดลไปทางค่าที่ผิดปกติมากขึ้น ในขณะที่ MAE จะไม่ทำ การสูญเสีย L2 จะทำให้เกิดค่าปรับที่สูงกว่ามากสำหรับค่าผิดปกติเมื่อเทียบกับการสูญเสีย L1 ตัวอย่างเช่น รูปภาพต่อไปนี้แสดงโมเดลที่ฝึกโดยใช้ MAE และโมเดลที่ฝึกโดยใช้ MSE เส้นสีแดงแสดงถึงโมเดลที่ได้รับการฝึกอย่างเต็มที่ ซึ่งจะใช้ในการคาดการณ์ ค่าที่ผิดปกติจะใกล้เคียงกับ โมเดลที่ฝึกด้วย MSE มากกว่าโมเดลที่ฝึกด้วย MAE

รูปที่ 10 โมเดลจะเอนเอียงไปทางค่าที่ผิดปกติมากขึ้น

รูปที่ 10 โมเดลที่ฝึกด้วย MSE จะทำให้โมเดลเข้าใกล้ค่าผิดปกติมากขึ้น

รูปที่ 11 โมเดลจะเอียงออกจากค่าผิดปกติมากขึ้น

รูปที่ 11 โมเดลที่ฝึกด้วย MAE จะอยู่ห่างจากค่าผิดปกติมากกว่า

โปรดทราบความสัมพันธ์ระหว่างโมเดลกับข้อมูล

  • MSE โมเดลอยู่ใกล้ค่าที่ผิดปกติมากกว่า แต่ไกลจากจุดข้อมูลอื่นๆ ส่วนใหญ่

  • MAE โมเดลอยู่ห่างจากค่าที่ผิดปกติมากขึ้น แต่ใกล้กับจุดข้อมูลอื่นๆ ส่วนใหญ่มากขึ้น

ทดสอบความเข้าใจ

ลองพิจารณาพล็อต 2 แบบต่อไปนี้

แปลงจุด 10 จุด
      เส้นตรงผ่านจุด 6 จุด 2 จุดอยู่เหนือเส้น 1 หน่วย
      และอีก 2 จุดอยู่ใต้เส้น 1 หน่วย แปลงจุด 10 จุด เส้นตรงที่ผ่านจุด 8 จุด
       จุด 1 อยู่เหนือเส้น 2 หน่วย
      อีกจุดอยู่ใต้เส้น 2 หน่วย
ชุดข้อมูลใดใน 2 ชุดที่แสดงในพล็อตก่อนหน้ามีค่าความคลาดเคลื่อนกำลังสองเฉลี่ย (MSE) สูงกว่า
ชุดข้อมูลทางด้านซ้าย
ตัวอย่างทั้ง 6 รายการในบรรทัดนี้ทำให้ขาดทุนรวม 0 ตัวอย่าง 4 รายการที่ไม่อยู่บนเส้นตรงนั้นอยู่ไม่ไกลจากเส้นตรงมากนัก ดังนั้นแม้จะยกกำลังสองออฟเซ็ต ค่าที่ได้ก็ยังคงต่ำอยู่ดี: $MSE = \frac{0^2 + 1^2 + 0^2 + 1^2 + 0^2 + 1^2 + 0^2 + 1^2 + 0^2 + 0^2} {10} = 0.4$
ชุดข้อมูลทางด้านขวา
ตัวอย่างทั้ง 8 รายการในบรรทัดนี้ทำให้ขาดทุนรวม 0 อย่างไรก็ตาม แม้จะมีเพียง 2 จุดที่อยู่นอกเส้น แต่ทั้ง 2 จุดนั้น อยู่ไกลจากเส้นเป็น 2 เท่าของจุดที่อยู่นอกค่าผิดปกติ ในรูปทางซ้าย การสูญเสียแบบยกกำลังสองจะขยายความแตกต่างเหล่านั้น ดังนั้นออฟเซ็ต 2 จะทำให้เกิดการสูญเสียมากกว่าออฟเซ็ต 1 ถึง 4 เท่า: $MSE = \frac{0^2 + 0^2 + 0^2 + 2^2 + 0^2 + 0^2 + 0^2 + 2^2 + 0^2 + 0^2} {10} = 0.8$