การถดถอยเชิงเส้น

โมดูลนี้จะอธิบายแนวคิดการถดถอยเชิงเส้น

การถดถอยเชิงเส้นเป็นเทคนิคทางสถิติที่ใช้ค้นหาความสัมพันธ์ระหว่างตัวแปร ในบริบทของ ML การถดถอยเชิงเส้นจะค้นหาความสัมพันธ์ระหว่างฟีเจอร์กับป้ายกํากับ

ตัวอย่างเช่น สมมติว่าเราต้องการทำนายประสิทธิภาพการประหยัดเชื้อเพลิงของรถยนต์เป็นไมล์ต่อแกลลอนโดยอิงตามน้ำหนักของรถ และเรามีชุดข้อมูลต่อไปนี้

ปอนด์เป็นพันๆ (ฟีเจอร์) ไมล์ต่อแกลลอน (ป้ายกำกับ)
3.5 18
3.69 15
3.44 18
3.43 16
4.34 15
4.42 14
2.37 24

หากเราพล็อตจุดเหล่านี้ เราจะได้กราฟดังต่อไปนี้

รูปที่ 1 จุดข้อมูลแสดงแนวโน้มที่ลาดลงจากซ้ายไปขวา

รูปที่ 1 น้ำหนักของรถ (เป็นปอนด์) เทียบกับอัตราการสิ้นเปลืองน้ำมันต่อระยะทาง 1 แกลลอน โดยทั่วไปแล้ว เมื่อรถยนต์มีน้ำหนักมากขึ้น อัตราการสิ้นเปลืองน้ำมันต่อระยะทาง 100 กิโลเมตรก็จะลดลง

เราสามารถสร้างโมเดลของเราเองโดยการลากเส้นที่พอดีที่สุดผ่านจุดต่างๆ ดังนี้

รูปที่ 2 จุดข้อมูลที่มีเส้นค่าสัมประสิทธิ์การถดถอยดีที่สุดแสดงถึงโมเดล

รูปที่ 2 เส้นค่าประมาณที่เหมาะสมที่สุดที่วาดผ่านข้อมูลจากรูปภาพก่อนหน้า

สมการการถดถอยเชิงเส้น

ในแง่พีชคณิต โมเดลจะกำหนดเป็น $ y = mx + b $ โดยที่

  • $ y $ คือไมล์ต่อแกลลอน ซึ่งเป็นค่าที่เราต้องการคาดการณ์
  • $ m $ คือความชันของเส้น
  • $ x $ คือค่าปอนด์ซึ่งเป็นค่าอินพุตของเรา
  • $ b $ คือจุดตัดแกน y

ใน ML เราจะเขียนสมการของโมเดลการถดถอยเชิงเส้นดังนี้

$$ y' = b + w_1x_1 $$

where:

  • $ y' $ คือป้ายกำกับที่คาดการณ์ไว้ ซึ่งเป็นเอาต์พุต
  • $ b $ คือค่ากําหนดล่วงหน้าของโมเดล ความลำเอียงเป็นแนวคิดเดียวกับจุดตัด y ในสมการเชิงพีชคณิตของเส้น ใน ML บางครั้งความลำเอียงจะเรียกว่า $ w_0 $ ความลำเอียงเป็นพารามิเตอร์ของโมเดลและคำนวณในระหว่างการฝึก
  • $ w_1 $ คือน้ำหนักของฟีเจอร์ น้ำหนักมีแนวคิดเหมือนกับความชัน $ m $ ในสมการเชิงพีชคณิตของเส้น น้ำหนักเป็นพารามิเตอร์ของโมเดลและจะคำนวณระหว่างการฝึก
  • $ x_1 $ คือฟีเจอร์ ซึ่งเป็นข้อมูลเข้า

ในระหว่างการฝึก โมเดลจะคํานวณน้ำหนักและค่ากําหนดซึ่งสร้างโมเดลที่ดีที่สุด

รูปที่ 3 สมการ y' = b + w1x1 โดยแต่ละองค์ประกอบมีคำอธิบายประกอบเกี่ยวกับวัตถุประสงค์

รูปที่ 3 การนําเสนอแบบคณิตศาสตร์ของรูปแบบเชิงเส้น

ในตัวอย่างนี้ เราจะคํานวณน้ำหนักและค่าเบี่ยงเบนจากเส้นที่เราวาด ความเบี่ยงเบนคือ 30 (จุดที่เส้นตัดกับแกน y) และน้ำหนักคือ -3.6 (ความชันของเส้น) โมเดลจะกําหนดเป็น $ y' = 30 + (-3.6)(x_1) $ และเราสามารถใช้โมเดลนี้ในการคาดการณ์ ตัวอย่างเช่น เมื่อใช้รูปแบบนี้ รถที่มีน้ำหนัก 4,000 ปอนด์จะมีความประหยัดเชื้อเพลิงที่คาดการณ์ไว้ 15.6 ไมล์ต่อแกลลอน

รูปที่ 4 กราฟเดียวกับรูปที่ 2 โดยไฮไลต์จุด (4, 15.6)

รูปที่ 4 เมื่อใช้โมเดลนี้ รถยนต์ที่มีน้ำหนัก 4,000 ปอนด์จะมีอัตราการสิ้นเปลืองเชื้อเพลิงที่คาดการณ์ไว้ 15.6 ไมล์ต่อแกลลอน

โมเดลที่มีหลายฟีเจอร์

แม้ว่าตัวอย่างในส่วนนี้จะใช้เพียง 1 ฟีเจอร์เท่านั้น ซึ่งเป็นน้ำหนักของรถ แต่โมเดลที่ซับซ้อนกว่านั้นอาจใช้หลายฟีเจอร์ โดยแต่ละฟีเจอร์จะมีน้ำหนักแยกกัน ($ w_1 $, $ w_2 $ ฯลฯ) เช่น โมเดลที่ใช้ฟีเจอร์ 5 รายการจะเขียนดังนี้

$ y' = b + w_1x_1 + w_2x_2 + w_3x_3 + w_4x_4 + w_5x_5 $

เช่น โมเดลที่คาดการณ์ระยะทางต่อลิตรอาจใช้ฟีเจอร์เพิ่มเติม เช่น ต่อไปนี้

  • ความจุเครื่องยนต์
  • การเร่งความเร็ว
  • จำนวนกระบอกสูบ
  • แรงม้า

รูปแบบนี้จะเขียนดังนี้

รูปที่ 5 สมการการถดถอยเชิงเส้นที่มี 5 ฟีเจอร์

รูปที่ 5 โมเดลที่มี 5 ฟีเจอร์เพื่อคาดการณ์อัตราการสิ้นเปลืองน้ำมันต่อระยะทาง 100 กม. ของรถยนต์

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

รูปที่ 6 การกระจัดเป็นลูกบาศก์เซนติเมตรที่แสดงเป็นกราฟเทียบกับไมล์ต่อแกลลอนแสดงความสัมพันธ์เชิงเส้นแบบลบ

รูปที่ 6 ปริมาตรกระบอกสูบของเครื่องยนต์เป็นลูกบาศก์เซนติเมตรและอัตราการสิ้นเปลืองน้ำมันต่อระยะทาง 1 แกลลอน เมื่อเครื่องยนต์ของรถยนต์มีขนาดใหญ่ขึ้น โดยทั่วไปอัตราการสิ้นเปลืองน้ำมันต่อระยะทาง 100 กิโลเมตรจะลดลง

รูปที่ 7 การเร่งจาก 0 เป็น 60 วินาทีในกราฟเทียบกับไมล์ต่อแกลลอนแสดงความสัมพันธ์เชิงเส้นบวก

รูปที่ 7 ความเร่งของรถและอัตราสิ้นเปลืองน้ำมันเชื้อเพลิงไมล์ต่อแกลลอน เมื่อรถเร่งความเร็วได้ช้าลง โดยทั่วไปอัตราการสิ้นเปลืองน้ำมันต่อระยะทาง 100 กิโลเมตรก็จะเพิ่มขึ้น

รูปที่ 8 กราฟแรงม้าเทียบกับไมล์ต่อแกลลอนแสดงความสัมพันธ์เชิงเส้นแบบลบ

รูปที่ 8 แรงม้าของรถยนต์และอัตราสิ้นเปลืองน้ำมันเชื้อเพลิงไมล์ต่อแกลลอน เมื่อแรงม้าของรถยนต์เพิ่มขึ้น โดยทั่วไปอัตราการสิ้นเปลืองน้ำมันต่อระยะทาง 100 กิโลเมตรก็จะลดลง

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

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