การถดถอยแบบโลจิสติก: การคำนวณความน่าจะเป็นด้วยฟังก์ชันซิกมอยด์

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

  • ใช้ "ตามที่เป็นอยู่" ตัวอย่างเช่น หากโมเดลการคาดคะเนสแปมใช้อีเมลเป็น ป้อนค่า 0.932 และแสดงความน่าจะเป็น 93.2% อีเมลดังกล่าวเป็นจดหมายขยะ

  • แปลงเป็นหมวดหมู่ไบนารีแล้ว เช่น True หรือ False, Spam หรือ Not Spam

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

ฟังก์ชันซิกมอยด์

คุณอาจสงสัยว่าโมเดลการถดถอยเชิงโลจิสติกส์จะแน่ใจได้อย่างไรว่าเอาต์พุตแสดงถึงความน่าจะเป็น โดยแสดงค่าระหว่าง 0 ถึง 1 เสมอ ตามที่เห็น จะมีฟังก์ชันส่วนหนึ่งที่เรียกว่าฟังก์ชันโลจิสติก ซึ่งเอาต์พุตจะมีลักษณะเดียวกันนี้ ฟังก์ชันโลจิสติกมาตรฐาน หรือที่เรียกว่าฟังก์ชัน Sigmoid (Sigmoid หมายถึง "รูปตัว S") มีสูตรดังนี้

\[f(x) = \frac{1}{1 + e^{-x}}\]

รูปที่ 1 แสดงกราฟที่สอดคล้องกันของฟังก์ชัน Sigmoid

เส้นโค้งซิกมอยด์ (รูปตัว S) ที่พล็อตบนระนาบพิกัดคาร์ทีเซียน
         ซึ่งมีศูนย์กลางอยู่ที่ต้นทาง
รูปที่ 1 กราฟของฟังก์ชันซิกมอยด์ เส้นโค้งเข้าใกล้ 0 เป็นค่า x ลดลงเป็นอินฟินิตี้ลบ และ 1 เป็น x จะมีค่าเพิ่มขึ้นแบบไม่รู้จบ

เมื่ออินพุต x เพิ่มขึ้น เอาต์พุตของฟังก์ชัน Sigmoid จะเข้าใกล้ แต่ไม่เคยถึง 1 ในทำนองเดียวกัน เมื่ออินพุตลดลง เอาต์พุตของฟังก์ชัน Sigmoid จะเข้าใกล้แต่ไม่เคยถึง 0

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

ตารางด้านล่างแสดงค่าเอาต์พุตของฟังก์ชัน Sigmoid สำหรับค่าอินพุตในช่วง -7 ถึง 7 สังเกตว่า Sigmoid เข้าใกล้ 0 เร็วเพียงใดเมื่อค่าอินพุตเป็นลบ และเข้าใกล้ 1 เร็วเพียงใดเมื่อค่าอินพุตเป็นบวก

อย่างไรก็ตาม ไม่ว่าค่าอินพุตจะมากหรือน้อยเพียงใด เอาต์พุตจะมากกว่า 0 และน้อยกว่า 1 เสมอ

อินพุต เอาต์พุต Sigmoid
-7 0.001
-6 0.002
-5 0.007
-4 0.018
-3 0.047
-2 0.119
-1 0.269
0 0.50
1 0.731
2 0.881
3 0.952
4 0.982
5 0.993
6 0.997
7 0.999

การแปลงเอาต์พุตเชิงเส้นโดยใช้ฟังก์ชัน Sigmoid

สมการต่อไปนี้แสดงส่วนประกอบเชิงเส้นของโลจิสติกส์ โมเดลการถดถอย:

\[z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N\]

where:

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

ในการรับการคาดการณ์การถดถอยแบบโลจิสติก ระบบจะส่งค่า z ไปยัง ฟังก์ชันซิกมอยด์ จะแสดงค่า (ความน่าจะเป็น) ระหว่าง 0 ถึง 1 ดังนี้

\[y' = \frac{1}{1 + e^{-z}}\]

where:

  • y' คือเอาต์พุตของโมเดลการถดถอยแบบโลจิสติก
  • z คือเอาต์พุตเชิงเส้น (ตามที่คํานวณในสมการก่อนหน้า)

คลิกที่นี่เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับอัตราส่วนโอกาสเชิงลอจิก

ในสมการ $z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N$ นั้น z จะเรียกว่า Log-Odds เนื่องจากหากคุณเริ่มต้นด้วยฟังก์ชัน Sigmoid ต่อไปนี้ (โดยที่ $y$ คือเอาต์พุตของโมเดลการถดถอยเชิงโลจิสติก ซึ่งแสดงถึงค่าความน่าจะเป็น)

$$y = \frac{1}{1 + e^{-z}}$$

แล้วแก้โจทย์ด้วย z

$$ z = \log\left(\frac{y}{1-y}\right) $$

จากนั้น z หมายถึงบันทึกของอัตราส่วนของความน่าจะเป็น ของผลลัพธ์ที่เป็นไปได้ 2 รายการ ได้แก่ y และ 1 – y

รูปที่ 2 แสดงวิธีเปลี่ยนรูปแบบเอาต์พุตเชิงเส้นเป็นเอาต์พุตการประมาณเชิงเส้นโลจิสติกโดยใช้การคํานวณเหล่านี้

ซ้าย: เส้นที่มีจุด (-7.5, -10), (-2.5, 0) และ (0, 5) ที่ไฮไลต์ ขวา: เส้นโค้งซิกมอยด์ที่มีการเปลี่ยนรูปแบบที่สอดคล้องกัน
         จุด (-10, 0.00004), (0, 0.5) และ (5, 0.9933)
รูปที่ 2 ซ้าย: กราฟของฟังก์ชันเชิงเส้น z = 2x + 5 ด้วย 3 จุดที่ไฮไลต์ ขวา: เส้นโค้ง Sigmoid ที่มีจุด 3 จุดเดียวกันซึ่งไฮไลต์ไว้หลังจากเปลี่ยนรูปแบบด้วยฟังก์ชัน Sigmoid

ในรูปที่ 2 สมการเชิงเส้นกลายเป็นอินพุตไปยังฟังก์ชันซิกมอยด์ ซึ่งจะบิดเส้นตรงให้เป็นรูปตัว S โปรดสังเกตว่าสมการเชิงเส้น จะแสดงค่า z ที่มีขนาดใหญ่หรือเล็กมากได้ แต่เอาต์พุตของ sigmoid y' จะอยู่ระหว่าง 0 ถึง 1 เสมอ เช่น สี่เหลี่ยมจัตุรัสสีเหลืองในกราฟด้านซ้ายมีค่า z เป็น –10 แต่ฟังก์ชัน Sigmoid ในกราฟด้านขวาจับคู่ –10 นั้นให้เป็นค่า y' ที่ 0.00004

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

โมเดลการถดถอยเชิงลอจิสติกที่มี 3 ฟีเจอร์มีน้ำหนักและค่ากําหนดดังนี้

\[\begin{align} b &= 1 \\ w_1 &= 2 \\ w_2 &= -1 \\ w_3 &= 5 \end{align} \]

ได้มาจากค่าอินพุตต่อไปนี้

\[\begin{align} x_1 &= 0 \\ x_2 &= 10 \\ x_3 &= 2 \end{align} \]

ตอบคำถาม 2 ข้อต่อไปนี้

1. ค่าของ z สำหรับค่าอินพุตเหล่านี้คืออะไร
–1
0
0.731
1
ถูกต้อง สมการเชิงเส้นที่กําหนดโดยน้ำหนักและค่ากําหนดคือ z = 1 + 2x1 – x2 + 5 x3 กำลังเสียบปลั๊ก ค่าที่ป้อนในสมการจะทำให้ z = 1 + (2)(0) - (10) + (5)(2) = 1
2. การคาดการณ์การถดถอยแบบโลจิสติกส์สำหรับค่าอินพุตเหล่านี้คืออะไร
0.268
0.5
0.731

ตามที่คำนวณในข้อ 1 ข้างต้น โอกาสในบันทึกสำหรับค่าอินพุตคือ 1 การเสียบค่า z นั้นเข้ากับฟังก์ชัน sigmoid

\(y = \frac{1}{1 + e^{-z}} = \frac{1}{1 + e^{-1}} = \frac{1}{1 + 0.367} = \frac{1}{1.367} = 0.731\)

1
โปรดทราบว่าเอาต์พุตของฟังก์ชัน Sigmoid จะมากกว่า 0 และน้อยกว่า 1 เสมอ