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

หลายๆ ปัญหาต้องการค่าประมาณความน่าจะเป็นที่เป็นเอาต์พุต การถดถอยแบบโลจิสติกส์คือ กลไกที่มีประสิทธิภาพมากในการคำนวณความน่าจะเป็น ในทางปฏิบัติ คุณจะใช้ความน่าจะเป็นที่ได้จากการส่งกลับในเกณฑ์ใดหัวข้อหนึ่งต่อไปนี้ มี 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 บันทึกว่าซิกมอยด์ใกล้จะถึง 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\]

โดยมี

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

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

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

โดยมี

  • 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 จุดที่ไฮไลต์ ขวา: เส้นโค้งซิกมอยด์ที่มี 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