การคาดการณ์การถดถอยแบบโลจิสติกส์ไม่ควรเป็นกลาง โดยการ
"ค่าเฉลี่ยของการคาดคะเน" ≈ "โดยเฉลี่ยของการสังเกตการณ์"
การให้น้ําหนักการคาดการณ์ คือปริมาณที่วัดว่า 2 ค่าเฉลี่ยนี้ห่างกันเพียงใด โดยการ
การให้น้ําหนักการคาดการณ์ที่ไม่เป็น 0 ข้อผิดพลาดจะบอกให้ทราบว่าข้อบกพร่องดังกล่าวเกิดขึ้นที่โมเดลใดของคุณ เนื่องจากระบุว่าโมเดลไม่ถูกต้องเกี่ยวกับความถี่ที่เกิดป้ายกํากับเชิงบวก
ตัวอย่างเช่น สมมติว่าเราทราบว่าโดยเฉลี่ยแล้ว 1% ของอีเมลทั้งหมดเป็นสแปม หากเราไม่ทราบข้อมูลเกี่ยวกับอีเมลใดเลย เราก็อาจคาดการณ์ได้ว่าอีเมลนั้นอาจเป็นสแปม 1% ในทํานองเดียวกัน โมเดลสแปมที่ดีควรคาดการณ์โดยเฉลี่ยว่าอีเมลมีแนวโน้มที่จะเป็นสแปม 1% (กล่าวคือ หากเราประเมินแนวโน้มที่คาดการณ์ว่าอีเมลแต่ละฉบับ จะเป็นสแปมโดยเฉลี่ย ผลลัพธ์ควรเป็น 1%) แต่หากเป็นการคาดการณ์โดยเฉลี่ย มีความเป็นไปได้สูงว่าสแปมจะปรากฏถึง 20% เราจึงสรุปได้ว่าการคาดการณ์ดังกล่าวการให้น้ําหนักพิเศษกับการคาดการณ์
สาเหตุที่เป็นไปได้ของการให้น้ําหนักพิเศษในการคาดการณ์มีดังนี้
- ชุดฟีเจอร์ไม่สมบูรณ์
- ชุดข้อมูลที่มีเสียงดัง
- ไปป์ไลน์ข้อบกพร่อง
- ตัวอย่างการฝึกอบรมการให้น้ําหนักพิเศษ
- การปรับรูปแบบให้แรงเกินไป
คุณอาจอยากแก้ไขการให้น้ําหนักพิเศษในการคาดการณ์ด้วยการประมวลผลหลังโมเดลที่เรียนรู้ กล่าวคือ โดยการเพิ่มเลเยอร์การปรับเทียบ ซึ่งจะปรับเอาต์พุตของโมเดลเพื่อลดอคติการคาดการณ์ ตัวอย่างเช่น หากโมเดลของคุณมีการให้น้ําหนัก +3% คุณสามารถเพิ่มเลเยอร์การปรับเทียบที่จะลดการคาดการณ์ค่าเฉลี่ยลง 3% อย่างไรก็ตาม การเพิ่มเลเยอร์การปรับเทียบเป็นแนวคิดที่ไม่เหมาะสมด้วยเหตุผลดังต่อไปนี้
- คุณจะแก้อาการแทนสาเหตุ
- คุณได้สร้างระบบที่เปราะบางมากขึ้นแล้ว ตอนนี้คุณต้องอัปเดตอยู่เสมอ
หากเป็นไปได้ ให้หลีกเลี่ยงการปรับเทียบเลเยอร์ โปรเจ็กต์ที่ใช้เลเยอร์การปรับเทียบมักจะเป็นแบบที่เชื่อถือได้ โดยใช้เลเยอร์การปรับเทียบเพื่อแก้ไข ไซนของโมเดลทั้งหมด ท้ายที่สุด การดูแลรักษาเลเยอร์การปรับเทียบอาจกลายเป็นฝันร้าย
การให้น้ําหนักที่เก็บข้อมูลและการคาดการณ์
การถดถอยแบบโลจิสติกจะคาดการณ์ค่า ระหว่าง 0 ถึง 1 อย่างไรก็ตาม ตัวอย่างทั้งหมดที่มีป้ายกํากับเป็น 0 (เช่น " "ไม่ใช่สแปม") หรือ 1 (เช่น "spam") ดังนั้น เมื่อประเมินการให้น้ําหนักการคาดการณ์ คุณจะกําหนดการให้น้ําหนักการคาดการณ์ได้อย่างแม่นยําโดยอิงตามตัวอย่างเดียวเท่านั้น คุณต้องตรวจสอบการให้น้ําหนักการคาดการณ์ในตัวอย่าง "bucket" ตัวอย่าง กล่าวคือ การให้น้ําหนักเชิงคาดการณ์สําหรับการถดถอยแบบโลจิสติกส์จะทําได้ดีเมื่อจัดกลุ่มตัวอย่างเข้าด้วยกันเพียงเท่านั้นเพื่อให้สามารถเปรียบเทียบค่าที่คาดการณ์ไว้ (เช่น 0.392) กับค่าที่สังเกตได้ (เช่น 0.394)
คุณสามารถสร้างที่เก็บข้อมูลได้ด้วยวิธีต่อไปนี้
- แจกแจงการคาดการณ์เป้าหมายเป็นเชิงเส้น
- การคิดเชิงปริมาณ
ลองพิจารณาพล็อตการปรับเทียบต่อไปนี้จากโมเดลที่เฉพาะเจาะจง แต่ละจุดแสดงถึงที่เก็บข้อมูลที่มีค่า 1,000 แกนต่างๆ มีความหมายดังต่อไปนี้
- แกน x แสดงค่าเฉลี่ยของค่าที่โมเดลคาดการณ์สําหรับที่เก็บข้อมูลนั้น
- แกน Y แสดงค่าเฉลี่ยที่แท้จริงของชุดข้อมูลในที่เก็บข้อมูลนั้น
แกนทั้ง 2 แกนเป็นสเกลลอการิทึม
รูปที่ 8 เส้นโค้งการให้น้ําหนักการให้น้ําหนักตามการคาดการณ์ (สเกลลอการิทึม)
เหตุใดการคาดการณ์จึงแย่มากสําหรับรูปแบบบางส่วนเท่านั้น ตัวอย่างความเป็นไปได้มีดังนี้