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