01204483 Image Processing — Topic 02, CV + ML Intro
สาม input: (1) มีปากกาอะไรอยู่ในกล่องจริง ๆ (dataset), (2) กำลังค้นหาสี อะไร (query — เลือกได้มากกว่า 1 สี) — query ก็คือคำทายอยู่แล้ว เช่น เลือกสีแดง ก็แปลว่าทายว่าจะได้ปากกาแดงกลับมา, (3) คลิกเลือกว่าหยิบแท่ง ไหนออกมาได้บ้างจริง — ไม่ต้องทายทีละแท่งซ้ำอีกชั้น เพราะผลจริงจะบอกเอง ว่าทายถูกครบไหม หรือได้สีอื่นติดมาด้วย
Dataset คือปากกาที่มีอยู่จริงทั้งหมดในกล่อง แต่ละแท่งมีสีจริงของมัน — ความจริงที่ไม่เปลี่ยนไม่ว่าจะค้นหาอะไร
เลือก Query = สีที่กำลังค้นหา (เลือกได้มากกว่า 1 สี) — การเลือกนี้ คือคำทายในตัวมันเองแล้ว: "ฉันเชื่อว่าจะได้ ปากกาสีนี้กลับมา"
คลิกปากกาที่ "หยิบได้จริง" — ผลจริงอาจไม่ตรงกับที่ทายไว้: อาจหยิบไม่ ครบทุกแท่งที่ต้องการ (พลาดไป) หรือหยิบสีอื่นติดมาด้วย (เกินมา) — ไม่ ต้องมีขั้นตอน "ทายสี" แยกต่างหากอีกชั้น เพราะ query เป็นคำทายอยู่แล้ว
ตารางแยกตามสีจริงด้านล่างจะโชว์ว่าสีไหนถูกหยิบไปกี่แท่ง (Predicted: Positive) และเหลือกี่แท่ง (Predicted: Negative) — แถวที่มีป้าย accent คือสีที่อยู่ใน query (Actual: Positive)
ยุบตารางนั้นเหลือ TP/FP/FN/TN 2×2 ได้ Recall/Precision — ตัวเลขนี้ ขึ้นกับ query ที่เลือกไว้เสมอ ลองสลับ query โดยไม่แตะปากกาเลย แล้วดูค่าทั้งหมดเปลี่ยนใหม่ทันที
1 · กำหนด Dataset — ปากกาที่มีอยู่จริงในกล่อง
รวมทั้งกล่อง: — แท่ง
2 · กำหนด Query — สีที่ทาย/ค้นหา (เลือกได้มากกว่า 1 สี)
Query ปัจจุบัน: —
3 · กำหนด Result — คลิกปากกาที่ "หยิบได้จริง"
ป้าย "ต้องการ" = สีตรงกับ query · ปากกาที่ถูกคลิก (พื้นเข้ม + ✓) = อยู่ใน result · badge สีใต้ปากกาคำนวณสดจากทั้งสองอย่าง
4 · สรุปผล
Support = จำนวนปากกาสีนั้นที่มีอยู่จริงในกล่อง (ไม่ขึ้นกับ query ที่เลือกไว้ด้านบน)
—
เมื่อ query มีหลายสี — เอา TP ของแต่ละสีมาบวกกัน หารด้วย Support (TP+FN) ของแต่ละสีมาบวกกัน คือถ่วงน้ำหนัก recall ของแต่ละสีตามจำนวนจริงของสีนั้น ไม่ใช่ค่าเฉลี่ยเฉย ๆ ของ % ที่เห็นในตารางด้านบน
—
TP รวมจากสีใน query เหมือนกับ recall แต่ตัวหารเปลี่ยนเป็นผลรวมของทุกสีที่ถูกคลิก (หยิบแล้ว) ไม่ว่าจะอยู่ใน query หรือไม่ — เพราะของที่คลิกมาแล้วผิดสีก็นับเป็น FP ที่ฉุด precision ลง
—