ปรับให้เรียบในโมเดลไร้เดียงสา


13

ตัวทำนายไร้เดียงสาทำการทำนายโดยใช้สูตรนี้:

P(Y=y|X=x)=αP(Y=y)iP(Xi=xi|Y=y)

โดยที่เป็นปัจจัยทำให้ปกติ สิ่งนี้ต้องการประมาณพารามิเตอร์จากข้อมูล ถ้าเราทำเช่นนี้กับ -smoothing เราก็จะได้ค่าประมาณαP(Xi=xi|Y=y)k

P^(Xi=xi|Y=y)=#{Xi=xi,Y=y}+k#{Y=y}+nik

ที่มีค่าเป็นไปได้สำหรับx_iฉันสบายดีกับสิ่งนี้ อย่างไรก็ตามก่อนหน้านี้เรามีniXi

P^(Y=y)=#{Y=y}N

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

คำตอบ:


5

เหตุผลทั่วไปสำหรับการปรับให้เรียบในตอนแรกคือการจัดการเคสที่0 หากสิ่งนี้ยังไม่เสร็จเราจะได้รับทุกครั้งที่เป็นกรณีนี้#{Xi=xi|Y=y}=0P(Y=y|X=x)=0

สิ่งนี้เกิดขึ้นเมื่อตัวอย่างเช่นการจำแนกเอกสารข้อความที่คุณพบคำที่ไม่ได้อยู่ในข้อมูลการฝึกอบรมของคุณหรือไม่ปรากฏในบางคลาส

ในกรณีของความน่าจะเป็นก่อนหน้าคลาสสถานการณ์นี้ไม่ควรเกิดขึ้น ถ้าเป็นเช่นนี้ก็หมายความว่าคุณกำลังพยายามกำหนดวัตถุให้กับชั้นเรียนที่ไม่ได้ปรากฏในข้อมูลการฝึกอบรมP(Y=y)

นอกจากนี้ฉันไม่เคยเจอคำว่า -smoothing Laplace หรือAdditive Smoothingเป็นเรื่องธรรมดามากk


1
เหตุผลในการปรับให้เรียบโดยทั่วไปคือการหลีกเลี่ยงการบีบอัดข้อมูลมากเกินไป กรณีที่จำนวนของบางคลาสเป็นศูนย์เป็นเพียงกรณีของ overfit (ที่เกิดขึ้นจะไม่ดีโดยเฉพาะ) คุณยังอาจต้องการทำให้ความน่าจะเป็นราบรื่นขึ้นเมื่อสังเกตทุก ๆ คลาส ฉันคิดว่าฉันรู้สึกรำคาญกับความไม่สมดุลที่ชัดเจน - การเรียบของ Laplace สอดคล้องกับการสมมติว่ามีข้อสังเกตพิเศษในชุดข้อมูลของคุณ ทำไมคุณไม่สนใจข้อสังเกตเหล่านั้นเมื่อทำการประกอบก่อน
Chris Taylor

ฉันอาจแย้งว่าการทำให้คลาสราบรื่นก่อนเนื่องจาก MLE สำหรับน่าจะดีกว่าการประมาณมาก หากฉันมีเหตุผลที่เชื่อได้ว่าการประเมินชั้นเรียนของฉันนั้นมีความลำเอียงฉันจะกำหนดชุดการตรวจสอบความถูกต้องและปรับแต่งชั้นเรียนของตัวเอง จากประสบการณ์ของฉัน overfitting มีแนวโน้มที่จะมีปัญหาน้อยกับ Bayes ไร้เดียงสา (เมื่อเทียบกับคู่ของพินิจพิเคราะห์ถดถอยถดถอยโลจิสติก) บางทีคุณอาจต้องการการรักษาแบบเบย์หรือมากกว่านั้น? P(Y=y)P(Xi=xi|Y=y)
อัลโต

"สถานการณ์นี้ไม่ควรเกิดขึ้นถ้าเป็นเช่นนี้ก็หมายความว่าคุณกำลังพยายามกำหนดวัตถุให้กับคลาสที่ไม่ได้ปรากฏในข้อมูลการฝึกอบรม" เอ่อ ... ลักษณนามจะกำหนดวัตถุให้กับคลาสที่มันไม่เคยเห็นมาก่อน (เช่นไม่ได้อยู่ในข้อมูลการฝึกอบรม) ได้อย่างไร
Jemenake

@Jemenake ปัญหามักจะถูกเรียกว่าการเรียนรู้ด้วย Zero-shot เช่นดูการเรียนรู้ด้วย Zero-Shot ด้วย Semantic Output Codes
อัลโต

เมื่อเราฝึกแบบจำลองโดยใช้ชุดข้อมูลการฝึกอบรมเราสามารถสร้างคำศัพท์โดยใช้คำศัพท์ที่เกิดขึ้นในชุดข้อมูลการฝึกอบรมดังนั้นทำไมไม่เพียงแค่ลบคำศัพท์ใหม่ที่ไม่ใช่คำศัพท์เมื่อทำการทำนายในชุดทดสอบ?
อะโวคาโด
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.