การถดถอยแบบโลจิสติก: การสูญเสียและการทำให้เป็นมาตรฐาน

การถดถอยแบบโลจิสติก จะได้รับการฝึกโดยใช้กระบวนการเดียวกับโมเดลการถดถอยเชิงเส้น โดยมีข้อแตกต่างที่สำคัญ 2 ประการดังนี้

  • โมเดลการถดถอยแบบโลจิสติกใช้ Log Loss เป็น Loss Function แทน Squared Loss
  • การใช้Regularization เป็นสิ่งสำคัญในการป้องกันOverfitting

ส่วนต่อไปนี้จะอธิบายข้อควรพิจารณาทั้ง 2 ข้อนี้อย่างละเอียด

การสูญเสียของบันทึก

ในโมดูลการถดถอยเชิงเส้น คุณใช้การสูญเสียกำลังสอง (หรือที่เรียกว่า การสูญเสีย L2) เป็น ฟังก์ชันการสูญเสีย Squared Loss เหมาะสำหรับโมเดลเชิงเส้น ซึ่งอัตราการเปลี่ยนแปลงของค่าเอาต์พุตคงที่ เช่น เมื่อพิจารณารูปแบบเชิงเส้น $y' = b + 3x_1$ ทุกครั้งที่คุณเพิ่มค่าอินพุต $x_1$ ขึ้น 1 ค่าเอาต์พุต $y'$ จะเพิ่มขึ้น 3

อย่างไรก็ตาม อัตราการเปลี่ยนแปลงของโมเดลการถดถอยแบบโลจิสติกไม่คงที่ ดังที่เห็นในการคำนวณความน่าจะเป็น เส้นโค้งsigmoidมีรูปร่างเป็นตัว S ไม่ใช่เส้นตรง เมื่อค่าลอการิทึมของอัตราส่วนความเป็นไป ($z$) ใกล้ 0 การเพิ่มค่า $z$ เพียงเล็กน้อยจะส่งผลให้ค่า $y$ เปลี่ยนแปลงมากกว่าเมื่อ $z$ เป็นจำนวนบวกหรือลบที่มาก ตารางต่อไปนี้แสดงเอาต์พุตของฟังก์ชันซิกมอยด์ สำหรับค่าอินพุตตั้งแต่ 5 ถึง 10 รวมถึงความแม่นยำที่เกี่ยวข้อง ซึ่งจำเป็นต่อการบันทึกความแตกต่างในผลลัพธ์

อินพุต เอาต์พุตโลจิสติกส์ ความแม่นยำที่ต้องการ
5 0.993 3
6 0.997 3
7 0.999 3
8 0.9997 4
9 0.9999 4
10 0.99998 5

หากคุณใช้การสูญเสียกำลังสองเพื่อคำนวณข้อผิดพลาดสำหรับฟังก์ชัน Sigmoid เมื่อเอาต์พุตเข้าใกล้ 0 และ 1 มากขึ้นเรื่อยๆ คุณจะต้องใช้หน่วยความจำมากขึ้นเพื่อรักษาความแม่นยำที่จำเป็นต่อการติดตามค่าเหล่านี้

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

$\text{Log Loss} = -\frac{1}{N}\sum_{i=1}^{N} [y_i\log(y_i') + (1 - y_i)\log(1 - y_i')]$

ที่ไหน

  • \(N\) คือจำนวนตัวอย่างที่มีป้ายกำกับในชุดข้อมูล
  • \(i\) คือดัชนีของตัวอย่างในชุดข้อมูล (เช่น \((x_3, y_3)\) คือตัวอย่างที่ 3 ในชุดข้อมูล)
  • \(y_i\) คือป้ายกำกับสำหรับตัวอย่างที่ \(i\)เนื่องจากเป็นการถดถอยแบบโลจิสติก \(y_i\) จึงต้องเป็น 0 หรือ 1
  • \(y_i'\) คือการคาดการณ์ของโมเดลสำหรับตัวอย่างที่ \(i\) (ค่าระหว่าง 0 ถึง 1) เมื่อพิจารณาชุดฟีเจอร์ใน \(x_i\)

การทำให้เป็นปกติในการถดถอยแบบโลจิสติก

Regularization ซึ่งเป็นกลไกสำหรับลงโทษความซับซ้อนของโมเดลระหว่างการฝึก เป็นสิ่งสำคัญอย่างยิ่งในการสร้างโมเดลการถดถอยแบบโลจิสติก หากไม่มีการปรับค่าปกติ ลักษณะการ渐近ของการถดถอยแบบโลจิสติกจะทำให้การสูญเสียเข้าใกล้ 0 ในกรณีที่โมเดลมีฟีเจอร์จำนวนมาก ด้วยเหตุนี้ โมเดลการถดถอยแบบโลจิสติกส่วนใหญ่จึงใช้กลยุทธ์ใดกลยุทธ์หนึ่งต่อไปนี้เพื่อลดความซับซ้อนของโมเดล