เมื่อคุณได้พิจารณาแล้วว่าการจับคู่ Logit ที่ต่อต้านข้อเท็จจริง (CLP) เป็นเทคนิคที่เหมาะสมสำหรับกรณีการใช้งานของคุณ คุณสามารถนำไปใช้ได้โดยทำตามขั้นตอนต่อไปนี้:
- สร้างอินสแตนซ์ของ
CounterfactualPackedInputs
ด้วยข้อมูลต้นฉบับและข้อมูลที่ไม่เป็นจริง - วัด อัตราการพลิกและจำนวนการพลิกเพื่อพิจารณาว่าจำเป็นต้องมีการแทรกแซงหรือไม่
- หากจำเป็นต้องมีการแทรกแซง ให้ส่ง ข้อมูลอินพุตดั้งเดิม ข้อมูลเชิงข้อเท็จจริง โมเดลดั้งเดิม และการสูญเสียข้อโต้แย้งไปยังโมเดลเชิงข้อเท็จจริง
- ประเมินผลกระทบของ CLP โดยการวัดอัตราการพลิกและจำนวนการพลิก
หากต้องการดูตัวอย่างการใช้ CLP กับโมเดล Keras โปรดดู บทช่วยสอนการใช้ Counterfactual Logit Matching กับ Keras
สร้างอินสแตนซ์ของ CounterfactualPackedInputs
หากต้องการสร้างชุดข้อมูลที่ไม่เป็นจริง ให้เริ่มต้นด้วยการกำหนดข้อกำหนดและคุณลักษณะที่คุณต้องการประเมินว่าเมื่อนำออกหรือเปลี่ยนใหม่ อาจเปลี่ยนแปลงการทำนายแบบจำลองของคุณได้
เมื่อคุณเข้าใจข้อกำหนดและคุณสมบัติที่จะประเมินแล้ว คุณจะต้องสร้างอินสแตนซ์ของ CounterfactualPackedInputs
ซึ่งรวมถึงอินพุตดั้งเดิมและข้อมูลที่ไม่เป็นจริง อินพุตดั้งเดิมควรเป็นชุดข้อมูลที่คุณใช้ในการฝึกโมเดล Keras ของคุณ ข้อมูลที่ขัดแย้งกันมีค่า original_x
, counterfactual_x
และ counterfactual_sample_weight
ค่าที่โต้แย้งควรเกือบจะเหมือนกันกับค่าเดิม โดยมีความแตกต่างคือแอตทริบิวต์ที่ละเอียดอ่อนอย่างน้อย 1 รายการจะถูกลบหรือแทนที่ คุณภาพของชุดข้อมูลเชิงข้อเท็จจริงมีความสำคัญ เนื่องจากใช้เพื่อจับคู่ฟังก์ชันการสูญเสียระหว่างค่าดั้งเดิมและค่าเชิงข้อเท็จจริงโดยมีเป้าหมายเพื่อให้มั่นใจว่าการทำนายของแบบจำลองจะไม่เปลี่ยนแปลงเมื่อแอตทริบิวต์ที่ละเอียดอ่อนแตกต่างกัน
สำหรับรายละเอียดเกี่ยวกับวิธีพัฒนาชุดข้อมูลที่เป็นข้อเท็จจริงนี้ โปรดดูสมุดบันทึกเกี่ยวกับ การสร้างชุดข้อมูลที่เป็นข้อเท็จจริงที่กำหนดเอง
วัดจำนวนการพลิกและอัตราการพลิก
การพลิก ถูกกำหนดให้เป็นลักษณนามที่ให้การตัดสินใจที่แตกต่างกันเมื่อแอตทริบิวต์ที่ละเอียดอ่อนที่อ้างอิงในตัวอย่างมีการเปลี่ยนแปลง โดยจะบันทึกสถานการณ์ที่ตัวแยกประเภทเปลี่ยนการทำนายเมื่อมี ไม่มี หรือเปลี่ยนแปลงแอตทริบิวต์ข้อมูลประจำตัว ควรใช้เมตริกที่ต่อเนื่องมากขึ้นในการประเมินมูลค่าที่แท้จริง (คะแนน) ของตัวแยกประเภท
นับพลิก
จำนวนการพลิกจะวัดจำนวนครั้งที่ตัวแยกประเภทให้การตัดสินใจที่แตกต่างกัน หากคำระบุตัวตนในตัวอย่างที่กำหนดมีการเปลี่ยนแปลง
- จำนวนการพลิกกลับโดยรวม : การพลิกคำทำนายทั้งหมดจากบวกไปเป็นลบและในทางกลับกัน
- จำนวนการพลิกการคาดการณ์เชิงบวกเป็นเชิงลบ : จำนวนการพลิกที่ป้ายกำกับการทำนายเปลี่ยนจากบวกเป็นลบ
- จำนวนการพลิกการคาดการณ์เชิงลบเป็นเชิงบวก : จำนวนการพลิกที่ป้ายกำกับการทำนายเปลี่ยนจากลบเป็นบวก
อัตราการพลิก
อัตราการพลิกจะวัดความน่าจะเป็นที่ตัวแยกประเภทให้การตัดสินใจที่แตกต่างกัน หากคำระบุตัวตนในตัวอย่างที่กำหนดมีการเปลี่ยนแปลง
- อัตราการพลิกโดยรวม : จำนวนการพลิกรวมในจำนวนตัวอย่างทั้งหมด
- อัตราการพลิกการคาดการณ์เชิงบวกเป็นลบ : จำนวนการพลิกบวกเป็นลบเหนือตัวอย่างเชิงบวกในชุดข้อมูลที่ไม่เป็นจริง
- อัตราการพลิกการคาดการณ์เชิงลบถึงบวก : จำนวนการพลิกเชิงลบถึงบวกเหนือตัวอย่างเชิงลบในชุดข้อมูลที่เป็นข้อเท็จจริง
หลังจากคำนวณอัตราการพลิกและจำนวนการพลิกด้วย ตัวบ่งชี้ความเป็นธรรม คุณสามารถระบุได้ว่าตัวแยกประเภทกำลังคาดการณ์ที่แตกต่างกันโดยอิงตามแอตทริบิวต์ที่ละเอียดอ่อนภายในข้อมูลหรือไม่ คุณสามารถใช้จำนวนตัวอย่างและช่วงความเชื่อมั่นเพื่อพิจารณาว่าคุณมีข้อมูลเพียงพอที่จะใช้ CLP และสรุปผลจากอัตราการพลิกหรือไม่ อัตราการพลิกและจำนวนการพลิกที่สูงบ่งบอกถึงพฤติกรรมนี้ที่เกิดขึ้น และสามารถใช้เพื่อตัดสินใจว่า CLP เหมาะสมกับกรณีการใช้งานของคุณหรือไม่ การตัดสินใจนี้มีผลเฉพาะกับรุ่นของคุณ และขึ้นอยู่กับปัจจัยต่างๆ เช่น อันตรายที่อาจเกิดขึ้นกับผู้ใช้และผลิตภัณฑ์ที่ใช้โมเดลนั้น
ใช้การจับคู่ Logit ที่ต่อต้านข้อเท็จจริงกับโมเดล Keras ของคุณ
หากต้องการใช้ CLP คุณต้องมีโมเดล Keras ดั้งเดิมที่คุณต้องการแก้ไข ชุดข้อมูลการฝึกดั้งเดิม และชุดข้อมูลที่ไม่เป็นจริง พิจารณาว่าควรใช้ counterfactual loss
ใดในการจับคู่บันทึก ด้วยวิธีนี้ คุณสามารถสร้างโมเดล Counterfactual ด้วยฟังก์ชันการสูญเสียเชิงตรงข้ามและฟังก์ชันการสูญเสียที่ต้องการจากโมเดลดั้งเดิมของคุณ
หลังจากใช้ CLP คุณควรคำนวณอัตราการพลิกและจำนวนการพลิก และการเปลี่ยนแปลงใดๆ ในหน่วยวัดอื่นๆ เช่น ความแม่นยำโดยรวม เพื่อวัดการปรับปรุงที่เกิดจากการใช้เทคนิคนี้