Overfitting: การปรับมาตรฐาน L2

Regularization แบบ L2 เป็นเมตริก Regularization ที่ได้รับความนิยม ซึ่งใช้สูตรต่อไปนี้

$$L_2\text{ regularization } = {w_1^2 + w_2^2 + ... + w_n^2}$$

เช่น ตารางต่อไปนี้แสดงการคํานวณการถ่วงน้ำหนัก L2 ของโมเดลที่มีน้ำหนัก 6 รายการ

ค่า ค่ายกกำลัง 2
w1 0.2 0.04
w2 -0.5 0.25
w3 5.0 25.0
w4 -1.2 1.44
w5 0.3 0.09
w6 -0.1 0.01
    26.83 = ทั้งหมด

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

  • น้ำหนักเดียว (w3) คิดเป็นสัดส่วนประมาณ 93% ของความซับซ้อนทั้งหมด
  • ส่วนน้ำหนักอีก 5 รายการที่เหลือมีสัดส่วนรวมกันเพียงประมาณ 7% ของความซับซ้อนทั้งหมด

การปรับ L2 จะกระตุ้นให้น้ำหนักเข้าใกล้ 0 แต่จะไม่ทำให้น้ำหนักเป็น 0 ทั้งหมด

แบบฝึกหัด: ทดสอบความเข้าใจ

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

อัตราการถ่วงน้ำหนัก (lambda)

ดังที่กล่าวไว้ข้างต้น การฝึกอบรมพยายามลดการสูญเสียและความซับซ้อนบางส่วน ดังนี้

$$\text{minimize(loss} + \text{ complexity)}$$

นักพัฒนาโมเดลจะปรับผลกระทบโดยรวมของความซับซ้อนต่อการฝึกโมเดลโดยคูณค่าด้วยสเกลาร์ที่เรียกว่าอัตราการปรับสมดุล โดยปกติแล้วอักษรกรีก λ จะหมายถึงอัตราการปรับให้เหมาะสม

กล่าวคือ นักพัฒนาโมเดลมีเป้าหมายดังต่อไปนี้

$$\text{minimize(loss} + \lambda \text{ complexity)}$$

อัตราการจัดระเบียบสูง

  • เพิ่มความสําคัญของการปรับให้เหมาะสม จึงช่วยลดโอกาสที่ระบบจะปรับให้เหมาะสมมากเกินไป
  • มีแนวโน้มที่จะสร้างฮิสโตแกรมของน้ำหนักโมเดลที่มีลักษณะต่อไปนี้
    • การแจกแจงแบบปกติ
    • น้ำหนักเฉลี่ย 0

อัตราการทำให้ถูกต้องต่ำ

  • ลดอิทธิพลของการปรับให้เหมาะสม ซึ่งจะเพิ่มโอกาสที่ระบบจะปรับให้เหมาะสมมากเกินไป
  • มีแนวโน้มที่จะสร้างฮิสโตแกรมของน้ำหนักโมเดลที่มีการแจกแจงแบบราบ

เช่น ฮิสโตแกรมของน้ำหนักโมเดลสำหรับอัตราการปรับให้เป็นปกติสูงอาจมีลักษณะดังที่แสดงในรูปที่ 18

รูปที่ 18 ฮิสโตแกรมของน้ำหนักของโมเดลที่มีค่าเฉลี่ยเป็น 0 และการแจกแจงแบบปกติ
รูปที่ 18 ฮิสโตแกรมน้ำหนักสำหรับอัตราการปรับให้เหมาะสมสูง ค่าเฉลี่ยคือ 0 การแจกแจงปกติ

 

ในทางตรงกันข้าม อัตราการปรับให้เป็นปกติที่ต่ำมักจะให้ฮิสโตแกรมที่ราบเรียบกว่า ดังที่แสดงในรูปที่ 19

รูปที่ 19 ฮิสโตแกรมของน้ำหนักของโมเดลที่มีค่าเฉลี่ยเป็น 0 ซึ่งอยู่ตรงกลางระหว่างการแจกแจงแบบราบและการแจกแจงแบบปกติ
รูปที่ 19 ฮิสโตแกรมน้ำหนักสำหรับอัตราการปรับให้เหมาะสมต่ำ ค่ามัธยฐานอาจเป็น 0 หรือไม่ก็ได้

 

การเลือกอัตราการจัดระเบียบ

อัตราการปรับให้เป็นปกติที่เหมาะสมจะสร้างโมเดลที่ทํานายข้อมูลใหม่ซึ่งไม่เคยเห็นมาก่อนได้ดี แต่ค่าที่เหมาะสมนั้นขึ้นอยู่กับข้อมูล คุณจึงต้องทำการ tuning

การหยุดก่อนกำหนด: ทางเลือกในการทำให้โมเดลมีสมรรถภาพมากขึ้นโดยอิงตามความซับซ้อน

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

แม้ว่าการหยุดก่อนกำหนดมักจะเพิ่มการสูญเสียในการฝึก แต่ก็สามารถลดการสูญเสียในชุดทดสอบได้

การหยุดกลางคันเป็นรูปแบบการปรับให้เป็นมาตรฐานที่รวดเร็ว แต่ไม่ค่อยมีประสิทธิภาพสูงสุด โมเดลที่ได้จะไม่ดีเท่ากับโมเดลที่ได้รับการฝึกอย่างละเอียดในอัตราการปรับให้เป็นปกติที่เหมาะสม

การหาจุดสมดุลระหว่างอัตราการเรียนรู้กับอัตราการปรับให้เหมาะสม

อัตราการเรียนรู้และอัตราการปรับสมดุลมีแนวโน้มที่จะดึงน้ำหนักไปในทิศทางตรงกันข้าม อัตราการเรียนรู้ที่สูงมักจะดึงน้ำหนักออกจาก 0 ส่วนอัตราการปรับให้เหมาะสมที่สูงจะดึงน้ำหนักเข้าหา 0

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

เป้าหมายของคุณคือค้นหาจุดสมดุลระหว่างอัตราการเรียนรู้กับอัตราการควบคุม ซึ่งอาจเป็นเรื่องยาก ที่แย่ที่สุดคือ เมื่อคุณพบจุดสมดุลที่หายากนั้นแล้ว คุณอาจต้องเปลี่ยนอัตราการเรียนรู้ในท้ายที่สุด และเมื่อเปลี่ยนอัตราการเรียนรู้ คุณจะต้องค้นหาอัตราการปรับสมดุลที่เหมาะสมอีกครั้ง