ฟังก์ชั่นการสูญเสียใดควรใช้เพื่อให้ได้ลักษณนามไบนารีที่มีความแม่นยำสูงหรือสูง


11

ฉันกำลังพยายามสร้างตัวตรวจจับวัตถุที่เกิดขึ้นน้อยมาก (ในภาพ) วางแผนที่จะใช้ตัวแยกประเภทไบนารี CNN ที่ใช้ในหน้าต่างแบบเลื่อน / ปรับขนาด ฉันได้สร้างชุดการฝึกอบรมและการทดสอบเชิงลบ 1: 1 ที่สมดุล (เป็นสิ่งที่ถูกต้องหรือไม่ที่จะทำในกรณีเช่นนี้ btw?) และตัวจําแนกทำดีในชุดทดสอบในแง่ของความถูกต้อง ตอนนี้ฉันต้องการควบคุมการจำ / ความแม่นยำของตัวจําแนกของฉันดังนั้นตัวอย่างเช่นมันจะไม่ติดฉลากผิดที่เกิดขึ้นในชั้นเรียนส่วนใหญ่มากเกินไป

วิธีแก้ปัญหาที่ชัดเจน (สำหรับฉัน) คือการใช้การสูญเสียแบบโลจิสติกส์เดียวกันซึ่งตอนนี้ใช้ แต่ข้อผิดพลาดน้ำหนักประเภท I และ Type II แตกต่างกันโดยการคูณการสูญเสียในหนึ่งในสองกรณีในค่าคงที่บางอย่างซึ่งสามารถปรับได้ ถูกต้องหรือไม่

ป.ล. ในความคิดที่สองนี่เทียบเท่ากับการยกน้ำหนักตัวอย่างการฝึกอบรมมากกว่าตัวอย่างอื่น เพียงแค่เพิ่มคลาสที่มากกว่าหนึ่งชั้นจะทำให้ฉันคิดว่าเหมือนกัน


คุณเคยแก้ไขปัญหานี้หรือไม่? ฉันมีวัตถุประสงค์ที่คล้ายกัน ฉันต้องการปรับให้เหมาะสมเพื่อความแม่นยำ (ประเภท 1) และใส่ใจน้อยลงเกี่ยวกับข้อผิดพลาดประเภท 2 ดังนั้นได้พิจารณาสิ่งที่สามารถทำได้เกี่ยวกับฟังก์ชันการสูญเสีย
Jonathan Shore

คำตอบ:


6

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

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

ฉันใช้คลาสของชนกลุ่มน้อยเป็นคลาสบวกนี่เป็นวิธีการตั้งชื่อแบบดั้งเดิม ดังนั้นความแม่นยำและการเรียกคืนตามที่กล่าวไว้ด้านล่างจึงเป็นความแม่นยำและการเรียกคืนของชนกลุ่มน้อย

  • หากสิ่งสำคัญเพียงอย่างเดียวคือการระบุระเบียนของชนกลุ่มน้อยทั้งหมดคุณสามารถเรียกคืนได้ คุณกำลังยอมรับผลบวกที่ผิดพลาดมากขึ้น
  • การเพิ่มประสิทธิภาพความแม่นยำเท่านั้นจะเป็นความคิดที่แปลกมาก คุณจะบอกลักษณนามของคุณว่าไม่มีปัญหาในการตรวจสอบคลาสของชนกลุ่มน้อย วิธีที่ง่ายที่สุดในการมีความแม่นยำสูงคือการประกาศอย่างรอบคอบในเรื่องชนกลุ่มน้อย
  • หากคุณต้องการความแม่นยำและการเรียกคืนคุณสามารถใช้การวัด F มันคือค่าเฉลี่ยฮาร์มอนิกระหว่างความแม่นยำและความจำ
  • หากคุณทราบต้นทุนการจำแนกประเภทที่เป็นรูปธรรมในทั้งสองทิศทาง (และผลกำไรของการจำแนกประเภทที่ถูกต้องหากพวกเขาแตกต่างกันในแต่ละชั้นเรียน) คุณสามารถใส่ทุกอย่างไว้ในฟังก์ชันการสูญเสียและปรับให้เหมาะสม

3

คุณกำลังตั้งสมมติฐานหลายอย่าง เป็นการดีที่สุดที่จะคิดถึงเป้าหมายสูงสุดในแง่ทั่วไปจากนั้นกำหนดกลยุทธ์ที่ตรงกับเป้าหมายนั้น ตัวอย่างเช่นคุณต้องการการจำแนกแบบบังคับทางเลือกจริง ๆ หรือไม่และเป็นอัตราส่วนต่อสัญญาณรบกวนที่ใหญ่พอที่จะรองรับ (ตัวอย่างที่ดี: การจดจำเสียงและภาพ) หรืออัตราส่วนสัญญาณต่อสัญญาณรบกวนอยู่ในระดับต่ำหรือคุณมีความสนใจในแนวโน้ม ? สำหรับหลังการประเมินความเสี่ยงสำหรับคุณ ตัวเลือกเป็นกุญแจสำคัญและกำหนดความแม่นยำในการทำนายที่คุณเลือก สำหรับความคิดเห็นเพิ่มเติมเกี่ยวกับเรื่องนี้โปรดดูที่http://www.fharrell.com/2017/01/classification-vs-prediction.htmlและhttp://www.fharrell.com/2017/03/damage-caused-by-classification .html

ปัญหาส่วนใหญ่เกี่ยวข้องกับการตัดสินใจและการตัดสินใจที่เหมาะสมมาจากการประเมินความเสี่ยงควบคู่กับฟังก์ชั่นการสูญเสีย / ต้นทุน / ยูทิลิตี้

หนึ่งในแง่มุมที่ดีที่สุดของวิธีการประมาณความเสี่ยง (ความน่าจะเป็น) คือมันจัดการกับโซนสีเทาซึ่งเป็นความผิดพลาดในการจำแนกหรือตัดสินใจโดยไม่ได้รับข้อมูลเพิ่มเติม และจากนั้นก็มีความจริงที่ว่าการประมาณความน่าจะเป็นไม่จำเป็นต้องมี (แม้แต่ไม่อนุญาต) หนึ่งถึง "สมดุล" ผลลัพธ์ที่ได้โดยการจัดการตัวอย่างเทียม


1

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

j=1Jlog{1+exp[f(xj)]}+k=1Klog{1+exp[f(xk)]}
jkf()x
j=1Jlog{1+exp[f(xj)]}+k=1Kwlog{1+exp[f(xk)]}
สำหรับบาง 1 ฟังก์ชั่นการสูญเสียนี้จะลดลงจากการใช้งานซอฟแวร์ของการถดถอยโลจิสติกถ่วงน้ำหนัก แต่คุณยังจะมาถึงคำตอบเดียวกันโดย upweighting กรณีเชิงลบของคุณโดยปัจจัยของและกระชับถดถอยโลจิสติกมาตรฐาน (ตัวอย่างเช่นถ้าแล้วคุณสร้าง 2 สำเนาของแต่ละอินสแตนซ์เชิงลบและพอดี) บางรายละเอียดเพิ่มเติมเกี่ยวกับชนิดของวิธีการนี้ที่นี่ และมีคำเตือนทั่วไปเกี่ยวกับสิ่งที่เกิดขึ้นกับข้อผิดพลาดมาตรฐานของพารามิเตอร์ที่นี่แต่สิ่งนี้อาจไม่น่าเป็นห่วงหากคุณคาดการณ์เพียงอย่างเดียวw>1ww=2

แต่นั่นจะไม่เป็นตัวประมาณโอกาสสูงสุดอีกต่อไป - ไม่มีสถิติ
Frank Harrell

1
เห็นด้วย แต่ฉันไม่มั่นใจว่ามันสำคัญหากการอนุมานเชิงสถิติเกี่ยวกับพารามิเตอร์ในการถดถอยโลจิสติกไม่ใช่เป้าหมายที่ต้องการ (การกล่าวถึง OP ของการใช้ CNN ไม่ใช่ ML-based เช่นกัน) แน่นอนผลลัพธ์ส่วนใหญ่ / ทั้งหมดที่อนุมานจากวิธีการถ่วงน้ำหนักนี้จะถูกเพิกเฉยได้ดีที่สุด แต่แบบจำลองและคะแนนความเสี่ยงที่เกิดขึ้นยังคงสามารถนำไปใช้กับชุดการตรวจสอบที่มีผลลัพธ์ที่ต้องการเช่นการเลือกปฏิบัติ / การสอบเทียบที่ดี
Travis Gerke

1
ไม่คุณจะรบกวนการปรับเทียบของโมเดลและจะได้ค่าประมาณพารามิเตอร์ที่มีเสียงดังมากขึ้นด้วยวิธีการข้างต้น MLE มีอยู่ด้วยเหตุผลที่ดีมาก
Frank Harrell

พิจารณากรณีเล็ก ๆ น้อย ๆ ของการเป็นกังวลมากเกี่ยวกับการจำแนกประเภททางเดียว แต่ไม่อื่น ๆ - เช่นการสูญเสียเป็นศูนย์สำหรับหนึ่งในทิศทาง แบบจำลองที่ดีที่สุดสำหรับการสูญเสียนั้นจะทำนายเฉพาะระดับของความกังวล แม้ว่ามันจะเป็นโมเดลที่น่ากลัว แต่ก็สามารถบรรลุวัตถุประสงค์ได้ มันเป็นสิ่งสำคัญที่จะเข้าใจวัตถุประสงค์และไม่เชื่อมั่นในแนวคิดเชิงทฤษฎี (MLE) โดยไม่เข้าใจวัตถุประสงค์ ตามที่ระบุไว้โดย TravisGerke หากความสำคัญอยู่ที่การคาดการณ์มากกว่าการสร้างแบบจำลองวิธีการของเขาก็ค่อนข้างมีประโยชน์ มันดีกว่าการสุ่มตัวอย่างจากคนส่วนใหญ่อย่างแน่นอน
Statseeker
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.