เรียงลงใน ML: การถดถอยเชิงเส้น

เป็นที่ทราบกันดีว่าคริกเก็ต (แมลงสายพันธุ์ต่างๆ) ร้องเพลงบ่อยกว่าในวันที่อากาศร้อนกว่า ในช่วงหลายทศวรรษที่ผ่านมา นักวิทยาศาสตร์มืออาชีพและมือสมัครเล่นได้จัดทําแคตตาล็อกข้อมูลเกี่ยวกับเสียงร้องต่อนาทีและอุณหภูมิ คุณป้า Ruth จะให้ฐานข้อมูลคริกเก็ตเป็นของขวัญให้คุณ และขอให้คุณมาเรียนรู้โมเดลในการพยากรณ์ความสัมพันธ์นี้เป็นของขวัญวันเกิด คุณต้องการสํารวจความสัมพันธ์นี้โดยใช้ข้อมูลนี้

ก่อนอื่นให้ตรวจสอบข้อมูลโดยพล็อตข้อมูลดังกล่าว ดังนี้

ข้อมูลดิบของเสียงร้อง/นาที (แกน x) กับอุณหภูมิ (แกน Y)

รูปที่ 1 ความถี่เป็นนาทีต่อนาทีและอุณหภูมิเป็นเซลเซียส

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

เส้นที่ดีที่สุดที่จะสร้างความสัมพันธ์ของเสียงร้อง/นาที (แกน x) กับอุณหภูมิ (แกน Y)

รูปที่ 2 ความสัมพันธ์แบบเชิงเส้น

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

$$ y = mx + b $$

ที่ไหน:

  • \(y\) อุณหภูมิเป็นเซลเซียส ซึ่งเป็นค่าที่เราพยายามคาดการณ์
  • \(m\) คือความลาดชันของเส้น
  • \(x\) คือจํานวนของเสียงร้องต่อนาที ค่าของฟีเจอร์การป้อนข้อมูลของเรา
  • \(b\) คือจุดตัดแกน Y

ตามแบบแผนของแมชชีนเลิร์นนิง คุณจะเขียนสมการสําหรับโมเดลที่แตกต่างกันเล็กน้อยได้ ดังนี้

$$ y' = b + w_1x_1 $$

ที่ไหน:

  • \(y'\) คือป้ายกํากับที่คาดการณ์ไว้ (เอาต์พุตที่ต้องการ)
  • \(b\) คือการให้น้ําหนักพิเศษ (ส่วนตัดแกน y) ซึ่งบางครั้งเรียกว่า \(w_0\)
  • \(w_1\) เป็นน้ําหนักของฟีเจอร์ 1 น้ําหนักคือแนวคิดเดียวกับ "slope" \(m\) ในสมการดั้งเดิมของเส้น
  • \(x_1\) เป็นฟีเจอร์ (อินพุตที่รู้จัก)

หากต้องการอนุมาน (คาดการณ์) อุณหภูมิ \(y'\) สําหรับค่า Chip ต่อนาที \(x_1\)เพียงใช้ค่า \(x_1\) แทนรูปแบบนี้

แม้ว่าโมเดลนี้จะใช้เพียงฟีเจอร์เดียว แต่โมเดลที่มีความซับซ้อนกว่าอาจใช้งานในฟีเจอร์หลายรายการ โดยแต่ละรายการมีน้ําหนักแยกต่างหาก (\(w_1\), \(w_2\)ฯลฯ) ตัวอย่างเช่น โมเดลที่ใช้ฟีเจอร์ 3 รายการอาจมีลักษณะดังต่อไปนี้

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