การถดถอยเชิงเส้น: การไล่ระดับสี

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

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

  1. คำนวณการสูญเสียตามน้ำหนักและน้ำหนักปัจจุบัน

  2. กำหนดทิศทางการเคลื่อนไหวน้ำหนักและความเอนเอียงที่ช่วยลดการสูญเสีย

  3. ปรับค่าน้ำหนักและความเอนเอียงเพียงเล็กน้อยในทิศทางที่ช่วยลด การสูญเสีย

  4. กลับไปยังขั้นตอนที่ 1 และทำขั้นตอนนี้ซ้ำจนกว่าโมเดลจะไม่สามารถลด การสูญเสียต่อไป

แผนภาพด้านล่างแสดงขั้นตอนการไล่ระดับสีแบบวนซ้ำที่ดำเนินการเพื่อหา น้ำหนักและความลำเอียงที่ทำให้โมเดลมีการสูญเสียต่ำสุด

รูปที่ 12 ภาพประกอบของกระบวนการไล่ระดับสี

รูปที่ 12 การไล่ระดับสีคือกระบวนการทำซ้ำเพื่อหาค่าน้ำหนัก และการให้น้ำหนักพิเศษที่ทำให้โมเดลมีการสูญเสียน้อยที่สุด

คลิกไอคอนบวกเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับคณิตศาสตร์ที่อยู่เบื้องหลังการไล่ระดับสี

ที่ระดับคอนกรีต เราสามารถเดินผ่านขั้นตอนการไล่ระดับสี ใช้ชุดข้อมูลขนาดเล็กที่มีตัวอย่าง 7 รายการสำหรับความหนักของรถในหน่วยปอนด์ และไมล์ต่อแกลลอน:

ปอนด์ใน 1,000 วินาที (ฟีเจอร์) ไมล์ต่อแกลลอน (ป้ายกำกับ)
3.5 18
3.69 15
3.44 18
3.43 16
4.34 15
4.42 14
2.37 24
  1. โมเดลนี้จะเริ่มการฝึกโดยตั้งค่าน้ำหนักและน้ำหนักให้เป็น 0 ดังนี้
  2. $$ \small{Weight:\ 0} $$ $$ \small{Bias:\ 0} $$ $$ \small{y = 0 + 0(x_1)} $$
  3. คำนวณการสูญเสีย MSE ด้วยพารามิเตอร์รูปแบบปัจจุบัน ดังนี้
  4. $$ \small{Loss = \frac{(18-0)^2 + (15-0)^2 + (18-0)^2 + (16-0)^2 + (15-0)^2 + (14-0)^2 + (24-0)^2}{7}} $$ $$ \small{Loss= 303.71} $$
  5. คำนวณความชันของแทนเจนต์ต่อฟังก์ชันการสูญเสียที่น้ำหนักแต่ละน้ำหนัก และอคติด้วย
  6. $$ \small{Weight\ slope: -119.7} $$ $$ \small{Bias\ slope: -34.3} $$

    คลิกไอคอนบวกเพื่อเรียนรู้เกี่ยวกับการคำนวณความชัน

    เพื่อหาความชันของเส้นสัมผัสเส้นโค้งกับน้ำหนักและ เราจะนำอนุพันธ์ของฟังก์ชันการหายไป ตามน้ำหนักและความลำเอียง แล้วแก้โจทย์ สมการ

    เราจะเขียนสมการสำหรับการคาดคะเนดังนี้
    $ f_{w,b}(x) = (w*x)+b $

    เราจะเขียนค่าจริงเป็น $ y $

    เราจะคำนวณ MSE โดยใช้:
    $ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $
    โดยที่ $i$ แสดงถึงตัวอย่างการฝึก $ith$ และ $M$ แสดงถึง จำนวนตัวอย่าง

    อนุพันธ์น้ำหนัก

    อนุพันธ์ของฟังก์ชันการสูญเสียที่เกี่ยวข้องกับน้ำหนักเขียนได้ในรูปแบบ:
    $ \frac{\partial }{\partial w} \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $

    และประเมินผลเพื่อ
    $ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)}) * 2x_{(i)} $

    ก่อนอื่น เราหาผลรวมค่าที่คาดการณ์แต่ละค่าลบด้วยค่าจริง แล้วคูณด้วย 2 คูณค่าจุดสนใจ จากนั้นเราจะหารผลบวกด้วยจำนวนตัวอย่าง ผลลัพธ์คือความชันของเส้นสัมผัสกับค่า ของน้ำหนัก

    ถ้าเราแก้สมการนี้โดยให้น้ำหนักและความลำเอียงเท่ากับ 0 เราได้ -119.7 สำหรับความชันของเส้น

    อนุพันธ์เกี่ยวกับอคติ

    อนุพันธ์ของฟังก์ชันการสูญหายเมื่อเทียบกับฟังก์ชัน ความลำเอียงจะถูกเขียนเป็น:
    $ \frac{\partial }{\partial b} \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $

    และประเมินผลเพื่อ
    $ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)}) * 2 $

    ก่อนอื่น เราหาผลรวมค่าที่คาดการณ์แต่ละค่าลบด้วยค่าจริง แล้วคูณด้วย 2 จากนั้นหารผลรวมด้วย จำนวนตัวอย่าง ผลที่ได้คือความชันของเส้น แทนเจนต์กับค่าของการให้น้ำหนักพิเศษ

    ถ้าเราแก้สมการนี้โดยให้น้ำหนักและความลำเอียงเท่ากับ 0 เราได้ -34.3 สำหรับความชันของเส้น

  7. เลื่อนไปเล็กน้อยในทิศทางของความชันเชิงลบเพื่อให้ได้ น้ำหนักและความเอนเอียงในลำดับต่อไป สำหรับตอนนี้ เราจะกำหนด "มีน้อย" เป็น 0.01:
  8. $$ \small{New\ weight = old\ weight - (small\ amount * weight\ slope)} $$ $$ \small{New\ bias = old\ bias - (small\ amount * bias\ slope)} $$ $$ \small{New\ weight = 0 - (0.01)*(-119.7)} $$ $$ \small{New\ bias = 0 - (0.01)*(-34.3)} $$ $$ \small{New\ weight = 1.2} $$ $$ \small{New\ bias = 0.34} $$

ใช้น้ำหนักและน้ำหนักใหม่ในการคำนวณการขาดทุนและการทำซ้ำ กำลังทำให้เสร็จสมบูรณ์ กระบวนการสำหรับการทำซ้ำ 6 ครั้ง เราจะได้ค่าน้ำหนัก ความลำเอียงดังต่อไปนี้ และการสูญเสีย:

การทำซ้ำ น้ำหนัก การให้น้ำหนักพิเศษ การสูญเสีย (MSE)
1 0 0 303.71
2 1.2 0.34 170.67
3 2.75 บาท 0.59 67.3
4 3.17 0.72 50.63
5 3.47 0.82 42.1
6 3.68 0.9 37.74

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

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

เส้นโค้งการบรรจบกันของโมเดลและการสูญเสีย

เมื่อฝึกโมเดล คุณมักจะดูการสูญเสีย เส้นโค้งเพื่อระบุว่าโมเดลมี เคยสนทนา กราฟการสูญเสียแสดง ว่าการสูญเสียจะเปลี่ยนแปลงอย่างไรเมื่อโมเดลฝึก ต่อไปนี้เป็นตัวอย่างการสูญเสียที่เกิดขึ้นโดยทั่วไป จะมีลักษณะเป็นเส้นโค้ง การสูญเสียจะอยู่บนแกน Y และการทำซ้ำจะอยู่บนแกน X:

รูปที่ 13 กราฟของเส้นโค้งการสูญเสียที่แสดงการลดลงสูงชันตามด้วยการลดลงเล็กน้อย

รูปที่ 13 กราฟค่าสูญเสีย แสดงโมเดลบรรจบกันรอบๆ คะแนนปีที่ 1,000

คุณจะเห็นได้ว่าการสูญเสียลดลงอย่างมากในช่วง 2-3 ครั้งแรก แล้วค่อยๆ ลดลงก่อนที่จะค่อยๆ แยกเป็นพันๆ ประมาณครั้งที่ 1,000 ทำเครื่องหมาย หลังทำซ้ำๆ 1,000 ครั้ง เรามั่นใจได้เลยว่าโมเดล แปลงแล้ว

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

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

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

รูปที่ 14 เส้นโค้งการสูญเสียและกราฟที่สอดคล้องกันของโมเดล ซึ่งเอียงออกจากจุดข้อมูล

รูปที่ 14 เส้นโค้งการสูญเสียและสแนปชอตของโมเดลที่จุดเริ่มต้นของ ขั้นตอนการฝึกอบรม

ที่ช่วงการไล่ระดับสีที่ 400 เราจะเห็นว่าการไล่ระดับสีพบ และน้ำหนักและความลำเอียงที่ทำให้โมเดลดีขึ้น

รูปที่ 15 เส้นโค้งการสูญเสียและกราฟที่สอดคล้องกันของโมเดล ซึ่งจะตัดผ่านจุดข้อมูลแต่ไม่ตัดในมุมที่ดีที่สุด

รูปที่ 15 เส้นโค้งการสูญเสียและภาพรวมของโมเดลเกี่ยวกับช่วงกลางของการฝึก

และที่ประมาณวันที่ 1,000 เราจะเห็นได้ว่าโมเดลได้มาบรรจบกัน ในการสร้างโมเดลที่มีการสูญเสียน้อยที่สุดที่เป็นไปได้

รูปที่ 16 เส้นโค้งการสูญเสียและกราฟที่สอดคล้องกันของโมเดล ซึ่งเหมาะกับข้อมูลพอดี

รูปที่ 16 เส้นโค้งการสูญเสียและสแนปชอตของโมเดลในช่วงท้ายของการฝึก ขั้นตอนได้

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

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

ฟังก์ชันการบรรจบกันและฟังก์ชันนูน

ฟังก์ชันการสูญเสียการติดตั้งสำหรับโมเดลเชิงเส้นมักจะสร้าง Conv. เป็นผลมาจาก คุณสมบัตินี้ เมื่อโมเดลการถดถอยเชิงเส้นมาบรรจบกัน เราจะทราบว่าโมเดลมี พบน้ำหนักและความลำเอียงที่ทำให้สูญเสียค่าต่ำสุด

หากเราสร้างกราฟพื้นที่การสูญเสียสำหรับโมเดลที่มีคุณลักษณะหนึ่ง เราจะเห็น รูปร่างนูน ต่อไปนี้คือพื้นที่การสูญเสียหน่วยไมล์ต่อแกลลอนชุดข้อมูล ที่ใช้ในตัวอย่างก่อนหน้านี้ น้ำหนักอยู่บนแกน x ส่วนการให้น้ำหนักพิเศษอยู่ที่แกน Y และการสูญเสียจะอยู่ในแกน z:

รูปที่ 17 กราฟ 3 มิติของพื้นผิวการสูญเสีย

รูปที่ 17 พื้นผิวที่สูญเสียไปซึ่งแสดงรูปร่างนูน

ในตัวอย่างนี้ น้ำหนัก -5.44 และน้ำหนักที่ 35.94 ทำให้เกิดการสูญเสียต่ำสุด เวลา 5.54:

รูปที่ 18 กราฟ 3 มิติของพื้นผิวการสูญเสีย โดยมี (-5.44, 35.94, 5.54) อยู่ด้านล่าง

รูปที่ 18 พื้นผิวการสูญเสียแสดงค่าน้ำหนักและอคติที่เกิดขึ้น การสูญเสียสิทธิ์น้อยที่สุด

โมเดลเชิงเส้นจะบรรจบกันเมื่อพบการสูญเสียขั้นต่ำ ดังนั้นข้อมูลเพิ่มเติม การทำซ้ำจะทำให้การไล่ระดับสีลดลงเพื่อย้ายค่าน้ำหนักและค่าความเอียงใน จำนวนเงินขั้นต่ำมากๆ ถ้าเราแสดงค่าน้ำหนักและจุดที่ให้น้ำหนักพิเศษ ในช่วงที่ไล่ระดับสีลงมา จุดจะดูเหมือนลูกบอลกลิ้งลงเขา ในที่สุดก็หยุดที่จุดที่ไม่มีความลาดลงด้านล่างแล้ว

รูปที่ 19 พื้นผิวการสูญเสียความนูนแบบ 3 มิติที่มีจุดลงแบบไล่ระดับสีจะย้ายไปยังจุดต่ำสุด

รูปที่ 19 กราฟการสูญเสียแสดงจุดไล่ระดับสีที่หยุดลงที่ต่ำสุด จุดบนกราฟ

โปรดสังเกตว่าจุดสูญเสียสีดำจะสร้างรูปร่างของเส้นโค้งการสูญเสีย การลดลงสูงชันก่อนที่จะค่อยๆ เลื่อนลงไปจนไปถึงจุดต่ำสุด บนพื้นผิวที่สูญเสียไป

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

การใช้ค่าน้ำหนักและความลำเอียงที่ก่อให้เกิดการสูญเสียค่าต่ำสุดในกรณีนี้ น้ำหนัก -5.44 และให้น้ำหนักกับ 35.94 เราสามารถสร้างกราฟโมเดลเพื่อดูว่า เหมาะสมสำหรับข้อมูล

รูปที่ 20 กราฟของปอนด์ในหน่วย 1, 000 วินาทีเทียบกับไมล์ต่อแกลลอน พร้อมโมเดลที่ตรงกับข้อมูล

รูปที่ 20 โมเดลสร้างกราฟโดยใช้ค่าน้ำหนักและความลำเอียงที่เกิดขึ้น การสูญเสียสิทธิ์น้อยที่สุด

รูปแบบนี้จึงเป็นโมเดลที่ดีที่สุดสำหรับชุดข้อมูลนี้ เนื่องจากไม่มีน้ำหนักและความลำเอียงอื่นๆ จะสร้างโมเดลที่มีการสูญเสียต่ำ