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

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

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

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

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

ฟังก์ชัน Sigmoid

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

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

ที่ไหน

  • f(x) คือเอาต์พุตของฟังก์ชันซิคมอยด์
  • e คือจำนวนของออยเลอร์: ค่าคงที่ทางคณิตศาสตร์ ≈ 2.71828
  • x คืออินพุตของฟังก์ชัน Sigmoid

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

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

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

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

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

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

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

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

ที่ไหน

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

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

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

ที่ไหน

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

คลิกที่นี่เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับ log-odds

ในสมการ $z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N$ z เรียกว่าลอการิทึมของอัตราส่วนออดส์ เนื่องจากหากคุณเริ่มต้นด้วย ฟังก์ชันซิกมอยด์ต่อไปนี้ (โดย $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 จุด ขวา: เส้นโค้งซิกมอยด์ที่มีจุด 3 จุดเดียวกัน ไฮไลต์หลังจากแปลงด้วยฟังก์ชันซิกมอยด์

ในรูปที่ 2 สมการเชิงเส้นจะกลายเป็นอินพุตของฟังก์ชันซิกมอยด์ ซึ่งจะทำให้เส้นตรงโค้งเป็นรูปตัว S โปรดสังเกตว่าสมการเชิงเส้น สามารถให้ค่า z ที่ใหญ่มากหรือเล็กมากได้ แต่เอาต์พุตของฟังก์ชัน ซิกมอยด์ y' จะอยู่ระหว่าง 0 ถึง 1 เสมอ ตัวอย่างเช่น สี่เหลี่ยมสีเหลืองในกราฟด้านซ้ายมีค่า z เป็น -10 แต่ฟังก์ชันซิกมอยด์ในกราฟด้านขวาจะแปลงค่า -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 ลงในฟังก์ชันซิกมอยด์

\(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 เสมอ