เหตุใด F-Measure จึงเป็นค่าเฉลี่ยฮาร์มอนิกและไม่ใช่ค่าเฉลี่ยเลขคณิตของหน่วยวัดความแม่นยำและการเรียกคืน


88

เมื่อเราคำนวณ F-Measure โดยพิจารณาจากทั้งความแม่นยำและการเรียกคืนเราจะใช้ค่าเฉลี่ยฮาร์มอนิกของการวัดทั้งสองแทนค่าเฉลี่ยเลขคณิตอย่างง่าย

อะไรคือเหตุผลโดยสัญชาตญาณที่อยู่เบื้องหลังการใช้ค่าเฉลี่ยฮาร์มอนิกไม่ใช่ค่าเฉลี่ยธรรมดา


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

1
cse.unsw.edu.au/~teachadmin/info/harmonic3.htmlนี่เป็นแหล่งข้อมูลที่ดีในการทำความเข้าใจ HM
Sudip Bhandari

2
แก้ไขลิงก์ด้านบน: di.unipi.it/~bozzo/The%20Harmonic%20Mean.htmหรือ @ archive.org
stason

คำตอบ:


16

ที่นี่เรามีคำตอบที่ละเอียดแล้ว แต่ฉันคิดว่าข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้จะเป็นประโยชน์สำหรับผู้ชายบางคนที่ต้องการเจาะลึกลงไป (โดยเฉพาะทำไมต้องวัด F)

ตามทฤษฎีการวัดการวัดแบบผสมควรเป็นไปตามคำจำกัดความ 6 ข้อต่อไปนี้:

  1. Connectedness (สามารถสั่งซื้อได้สองคู่) และการขนส่ง (ถ้า e1> = e2 และ e2> = e3 จากนั้น e1> = e3)
  2. ความเป็นอิสระ: สององค์ประกอบมีส่วนทำให้เกิดผลอย่างอิสระต่อประสิทธิผล
  3. เงื่อนไข Thomsen: เนื่องจากการเรียกคืนคงที่ (ความแม่นยำ) เราพบความแตกต่างของประสิทธิผลสำหรับค่าความแม่นยำสองค่า (การเรียกคืน) ดังนั้นความแตกต่างนี้จะไม่สามารถลบหรือย้อนกลับได้โดยการเปลี่ยนค่าคง
  4. ความสามารถในการละลายที่ จำกัด
  5. องค์ประกอบแต่ละส่วนมีความสำคัญ: การแปรผันในขณะที่ปล่อยค่าคงที่อื่น ๆ จะทำให้เกิดการเปลี่ยนแปลงในประสิทธิผล
  6. คุณสมบัติ Archimedean สำหรับแต่ละองค์ประกอบ เป็นเพียงการตรวจสอบให้แน่ใจว่าช่วงเวลาของส่วนประกอบสามารถเทียบเคียงได้

จากนั้นเราจะได้รับและรับฟังก์ชั่นของประสิทธิผล: ใส่คำอธิบายภาพที่นี่

และโดยปกติเราไม่ได้ใช้ประสิทธิภาพ แต่ได้คะแนน F ที่ง่ายกว่ามากเนื่องจาก :
ใส่คำอธิบายภาพที่นี่

ตอนนี้เรามีสูตรทั่วไปของการวัด F:

ใส่คำอธิบายภาพที่นี่

ที่เราสามารถวาง Emphesis เพิ่มเติมเกี่ยวกับการเรียกคืนหรือความแม่นยำโดยการตั้งค่าเบต้าเนื่องจากเบต้าถูกกำหนดไว้ดังนี้:

ใส่คำอธิบายภาพที่นี่

หากเราจำน้ำหนักสำคัญกว่าความแม่นยำ (เลือกที่เกี่ยวข้องทั้งหมด) เราสามารถตั้งค่าเบต้าเป็น 2 และได้ค่า F2 และถ้าเราทำการย้อนกลับและความแม่นยำของน้ำหนักสูงกว่าการจำ (องค์ประกอบที่เลือกมากที่สุดมีความเกี่ยวข้องมากที่สุดตัวอย่างเช่นในสถานการณ์การแก้ไขข้อผิดพลาดทางไวยากรณ์บางอย่างเช่นCoNLL ) เราก็ตั้งค่าเบต้าเป็น 0.5 และรับการวัด F0.5 และเห็นได้ชัดว่าเราสามารถตั้งค่าเบต้าเป็น 1 เพื่อรับหน่วยวัด F1 ที่ใช้กันมากที่สุด (ค่าเฉลี่ยฮาร์มอนิกของความแม่นยำและการเรียกคืน)

ฉันคิดว่าในระดับหนึ่งฉันได้ตอบไปแล้วว่าทำไมเราไม่ใช้ค่าเฉลี่ยเลขคณิต

อ้างอิง:

  1. https://en.wikipedia.org/wiki/F1_score
  2. ความจริงของการวัดค่า F
  3. ข้อมูลย้อนกลับ

100

เพื่ออธิบายให้พิจารณาตัวอย่างเช่นค่าเฉลี่ยของ 30mph และ 40mph คืออะไร? หากคุณขับรถเป็นเวลา 1 ชั่วโมงในแต่ละความเร็วความเร็วเฉลี่ยในช่วง 2 ชั่วโมงนั้นเป็นค่าเฉลี่ยเลขคณิต 35 ไมล์ต่อชั่วโมง

อย่างไรก็ตามหากคุณขับรถเป็นระยะทางเท่ากันในแต่ละความเร็วเช่น 10 ไมล์ความเร็วเฉลี่ยที่มากกว่า 20 ไมล์จะเป็นค่าเฉลี่ยฮาร์มอนิกที่ 30 และ 40 ประมาณ 34.3 ไมล์ต่อชั่วโมง

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

ความแม่นยำและการจำทั้งสองมีผลบวกจริงในตัวเศษและตัวส่วนต่างกัน ในการหาค่าเฉลี่ยพวกมันจึงสมเหตุสมผลที่จะหาค่าเฉลี่ยซึ่งกันและกันดังนั้นค่าเฉลี่ยฮาร์มอนิก


7
ขอบคุณนั่นเป็นข้อโต้แย้งที่ดีว่าเหตุใดจึงได้รับการสนับสนุนจากทฤษฎี คำตอบของฉันมีมากกว่าในด้านการปฏิบัติ
มี QUIT - Anony-Mousse

78

เนื่องจากเป็นการลงโทษค่านิยมมากขึ้น

พิจารณาวิธีการเล็กน้อย (เช่นคืนคลาส A เสมอ) มีองค์ประกอบข้อมูลที่ไม่มีที่สิ้นสุดของคลาส B และองค์ประกอบเดียวของคลาส A:

Precision: 0.0
Recall:    1.0

เมื่อหาค่าเฉลี่ยเลขคณิตมันจะถูกต้อง 50% แม้จะเป็นผลลัพธ์ที่เลวร้ายที่สุดก็ตาม! ด้วยค่าเฉลี่ยฮาร์มอนิกการวัด F1 คือ 0

Arithmetic mean: 0.5
Harmonic mean:   0.0

กล่าวอีกนัยหนึ่งคือการมี F1 ที่สูงคุณต้องมีทั้งความแม่นยำสูงและจำได้


เมื่อการเรียกคืนเป็น 0.0 ความแม่นยำจะต้องมากกว่า 0.0 ใช่ไหม แต่ฉันเข้าใจในตัวอย่างของคุณ อธิบายได้ดี - ขอบคุณ
London guy

1
ในตัวอย่างของคุณความแม่นยำสำหรับคลาส A คือ 0.5 แทนที่จะเป็น 0 และการเรียกคืนคลาส A คือ 1 ความแม่นยำสำหรับคลาส B คือ 0 และการเรียกคืนคลาส B คือ 0 ตามที่เราต้องการ ฉันถือว่าคลาสที่สมดุลของคุณหมายถึงป้ายกำกับที่แท้จริงคือ A และ B แต่ละรายการใช้กับ 50% ของข้อมูล
เขียว

มาสร้างองค์ประกอบที่ไม่มีที่สิ้นสุดของคลาส B และองค์ประกอบเดียวของคลาส A มันจะไม่เปลี่ยนคณิตศาสตร์หลัง F1
มี QUIT - Anony-Mousse

2
ไม่ใช่แค่การฮิวริสติกเพื่อเลือกความสมดุลเพิ่มเติม ค่าเฉลี่ยฮาร์มอนิกมีวิธีเดียวที่เหมาะสมเมื่อพิจารณาจากหน่วยของอัตราส่วนเหล่านี้ ค่าเฉลี่ยคงไม่มีความหมายในการเปรียบเทียบ
Sean Owen

คำพูด "ฮิวริสติก" ตรงไหนและความคิดเห็นของคุณแตกต่างจากคำตอบของฉันตรงไหน? แต่: การวัดค่า F เป็นฮิวริสติกที่ถือว่าความแม่นยำและการจำมีความสำคัญเท่าเทียมกัน นั่นคือเหตุผลที่ต้องเลือกคำศัพท์เบต้า - โดยทั่วไปคำศัพท์หนึ่งจะใช้ beta = 1
Has QUIT - Anony-Mousse

30

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

นี่คือค่าเฉลี่ยเลขคณิต

ใส่คำอธิบายภาพที่นี่

นี่คือค่าเฉลี่ยฮาร์มอนิก

ใส่คำอธิบายภาพที่นี่


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

26

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

ความแม่นยำและการเรียกคืนนั้นต่างกัน "ตามธรรมชาติ" เนื่องจากตัวเศษเหมือนกันและตัวส่วนต่างกัน เศษส่วนมีความสมเหตุสมผลมากกว่าที่จะหาค่าเฉลี่ยโดยค่าเฉลี่ยเลขคณิตเมื่อมีตัวส่วนเดียวกัน

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

กล่าวอีกนัยหนึ่ง F-measure เหมาะเมื่อ:

  1. ความผิดพลาดก็แย่พอ ๆ กันไม่ว่าจะเป็นผลบวกลวงหรือผลลบเท็จ
  2. จำนวนข้อผิดพลาดจะวัดเทียบกับจำนวนผลบวกจริง
  3. เชิงลบที่แท้จริงนั้นไม่น่าสนใจ

จุดที่ 1 อาจเป็นจริงหรือไม่ก็ได้มีรูปแบบการถ่วงน้ำหนักของการวัดค่า F ที่สามารถใช้ได้หากสมมติฐานนี้ไม่เป็นจริง จุดที่ 2 ค่อนข้างเป็นธรรมชาติเนื่องจากเราสามารถคาดหวังว่าผลลัพธ์จะปรับขนาดได้หากเราจำแนกคะแนนมากขึ้นเรื่อย ๆ จำนวนสัมพัทธ์ควรจะเหมือนเดิม

จุดที่ 3 น่าสนใจทีเดียว ในหลาย ๆ แอปพลิเคชันเชิงลบเป็นค่าเริ่มต้นตามธรรมชาติและอาจเป็นเรื่องยากหรือตามอำเภอใจที่จะระบุสิ่งที่นับเป็นค่าลบที่แท้จริง ตัวอย่างเช่นสัญญาณเตือนไฟไหม้มีเหตุการณ์เชิงลบที่แท้จริงทุกวินาทีทุกนาโนวินาทีทุกครั้งที่เวลาพลังค์ผ่านไปเป็นต้นแม้แต่เศษหินก็มีเหตุการณ์ตรวจจับไฟในเชิงลบเหล่านี้ตลอดเวลา

หรือในกรณีการตรวจจับใบหน้าส่วนใหญ่แล้วคุณจะ " ไม่กลับ " พื้นที่ที่เป็นไปได้นับพันล้านในภาพ แต่ไม่น่าสนใจ กรณีที่น่าสนใจเมื่อคุณจะกลับมาตรวจสอบการเสนอหรือเมื่อคุณควรกลับไป

ในทางตรงกันข้ามความแม่นยำในการจำแนกจะให้ความสำคัญกับผลบวกจริงและเชิงลบที่แท้จริงอย่างเท่าเทียมกันและเหมาะสมกว่าหากจำนวนตัวอย่างทั้งหมด (เหตุการณ์การจำแนก) มีการกำหนดไว้อย่างชัดเจนและค่อนข้างน้อย

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