ข้อดีของ AUC กับความแม่นยำมาตรฐาน


64

ฉันเริ่มมองเข้าไปในพื้นที่ภายใต้โค้ง (AUC) และสับสนเล็กน้อยเกี่ยวกับประโยชน์ของมัน เมื่ออธิบายให้ฉันฟังเป็นครั้งแรก AUC ดูเหมือนจะเป็นตัวชี้วัดประสิทธิภาพที่ยอดเยี่ยม แต่ในการวิจัยของฉันฉันพบว่าบางคนอ้างว่าข้อได้เปรียบของมันนั้นส่วนใหญ่อยู่ในเกณฑ์ที่ดีที่สุดสำหรับการจับโมเดล 'โชคดี' .

ดังนั้นฉันควรหลีกเลี่ยงการใช้ AUC สำหรับตรวจสอบรุ่นหรือชุดค่าผสมจะดีที่สุดหรือไม่ ขอบคุณสำหรับความช่วยเหลือของคุณ


5
พิจารณาปัญหาที่ไม่สมดุลอย่างมาก นั่นคือสิ่งที่ ROC AUC เป็นที่นิยมมากเพราะเส้นโค้งทำให้ขนาดห้องเรียนมีความสมดุล ง่ายต่อการบรรลุความแม่นยำ 99% ในชุดข้อมูลที่ 99% ของวัตถุอยู่ในระดับเดียวกัน
Anony-Mousse

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

@ JenSCDC จากประสบการณ์ของฉันในสถานการณ์เหล่านี้ AUC ทำงานได้ดีและตามที่ indico อธิบายด้านล่างมันมาจากเส้นโค้ง ROC ที่คุณได้รับจากพื้นที่นั้น กราฟ PR ยังมีประโยชน์ (โปรดทราบว่าการเรียกคืนเหมือน TPR หนึ่งในแกนใน ROC) แต่ความแม่นยำไม่เหมือน FPR ดังนั้นพล็อต PR เกี่ยวข้องกับ ROC แต่ไม่เหมือนกัน แหล่งที่มา: stats.stackexchange.com/questions/132777/ …และstats.stackexchange.com/questions/7207/…
alexey

คำตอบ:


59

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

AUCย่อมาจากArea Under the Curveซึ่งคุณถามโค้ง นั่นก็คือROCเส้นโค้ง ROCย่อมาจากลักษณะการดำเนินงานของผู้รับซึ่งจริงๆแล้วไม่ใช่เรื่องง่าย เป้าหมายโดยปริยายของAUCคือการจัดการกับสถานการณ์ที่คุณมีการแจกแจงตัวอย่างที่เบ้มากและไม่ต้องการให้มีระดับมากเกินไป

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

แกน ROC

ตอนนี้ในกราฟนี้TPRคืออัตราส่วนเฉพาะของค่าบวกที่เป็นบวกต่อค่าบวกทั้งหมดและFPRอัตราส่วนของค่าบวกเท็จสำหรับค่าลบทั้งหมด (โปรดจำไว้ว่านี่เป็นเพียงการจำแนกไบนารีเท่านั้น) ในกราฟเช่นนี้ควรตรงไปตรงมามากหากการคาดการณ์ของ 0 หรือ 1 ทั้งหมดจะส่งผลให้คะแนน(0,0)และ(1,1)ตามลำดับ หากคุณวาดเส้นผ่านเส้นเหล่านี้คุณจะได้รับสิ่งนี้:

ชนิดของสามเหลี่ยม

ซึ่งโดยทั่วไปจะมีลักษณะเป็นเส้นทแยงมุม (เป็น) และโดยรูปทรงเรขาคณิตที่เรียบง่ายคุณจะเห็นได้ว่าAUCแบบจำลองดังกล่าวจะเป็น0.5(ความสูงและฐานมีทั้ง 1) ในทำนองเดียวกันถ้าคุณทำนายการสุ่มเลือกของ 0 และ 1 สมมุติว่า 90% 1 คุณจะได้คะแนน(0.9, 0.9)ซึ่งตกไปตามเส้นทแยงมุมอีกครั้ง

ตอนนี้ส่วนที่น่าสนใจมา ถ้าเราไม่ได้ทำนายแค่ 0 กับ 1 ถ้าเป็นเช่นนั้นเราอยากจะบอกว่าในทางทฤษฎีเราจะตั้งค่า cutoff โดยที่ทุกผลลัพธ์เป็น 1 และต่ำกว่าซึ่งทุกผลลัพธ์เป็น 0 นั่นก็หมายความว่าในสุดขั้วคุณจะได้รับสถานการณ์เริ่มต้นที่คุณ มีทั้งหมด 0 และ 1 (ที่ตัดของ 0 และ 1 ตามลำดับ) แต่ยังชุดของรัฐระดับกลางที่ตกอยู่ในกราฟที่มีของคุณ1x1 ROCในทางปฏิบัติคุณจะได้รับสิ่งนี้: ความอนุเคราะห์จาก Wikipedia

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


คุณช่วยเพิ่ม AUC เปรียบเทียบกับคะแนน F1 ได้ไหม
Dan

7
@ Dan- ความแตกต่างที่ยิ่งใหญ่ที่สุดคือคุณไม่จำเป็นต้องตั้งค่าเกณฑ์การตัดสินใจด้วย AUC (โดยพื้นฐานแล้วการวัดความน่าจะเป็นสแปมนั้นอยู่ในอันดับที่ไม่ใช่สแปม) คะแนน F1 ต้องใช้เกณฑ์การตัดสินใจ แน่นอนคุณสามารถกำหนดเกณฑ์การตัดสินใจเป็นพารามิเตอร์การดำเนินงานและพล็อต F1 ได้เสมอ
DSea

17

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

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

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

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

AUC คำนวณได้แม้ว่าคุณจะมีอัลกอริทึมที่สร้างอันดับบนตัวอย่างเท่านั้น AUC ไม่สามารถคำนวณได้หากคุณมีลักษณนามแบล็กบ็อกซ์จริง ๆ เท่านั้นและไม่ได้มีตัวแยกประเภทที่มีขีด จำกัด ภายใน สิ่งเหล่านี้มักจะบอกให้เขียนว่าปัญหาใดที่ทั้งสองมีอยู่ในมือ

ฉันคิดว่า AUC เป็นมาตรการที่ครอบคลุมยิ่งขึ้นแม้ว่าจะใช้งานได้ในสถานการณ์ที่น้อยลง มันไม่ได้ดีไปกว่าความถูกต้องอย่างเคร่งครัด มันแตกต่าง. ขึ้นอยู่กับว่าคุณสนใจเกี่ยวกับผลบวกที่แท้จริงเชิงลบที่ผิด ฯลฯ

F-measure นั้นเหมือนกับความแม่นยำในแง่ที่ว่ามันเป็นฟังก์ชั่นของตัวจําแนกและการตั้งค่าเกณฑ์ แต่มันวัดความแม่นยำเทียบกับการเรียกคืน (อัตราบวกจริง) ซึ่งไม่เหมือนกันกับข้างบน


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

AUC วัดว่าตัวจําแนกจัดอันดับอินสแตนซ์บวกสูงกว่าอินสแตนซ์ลบได้ดีเพียงใดในขณะที่ความแม่นยำวัดจริงและผลบวกเท็จสำหรับเกณฑ์การตัดสินใจที่กำหนด ฉันคิดว่ามันขึ้นอยู่กับสิ่งที่คุณต้องการประเมิน AUC เป็นตัววัดที่ครอบคลุมมากขึ้นของตัวจําแนกอิสระจากการเลือกเกณฑ์ แต่การใช้ลักษณนามที่แท้จริงใด ๆ จะขึ้นอยู่กับการเลือกเกณฑ์เพื่อแบ่งประเภท
Sean Owen

4

ฉันต้องการอ้างถึงวิธีที่คุณควรเลือกการวัดประสิทธิภาพ ก่อนหน้านั้นฉันจะอ้างถึงคำถามเฉพาะเกี่ยวกับความถูกต้องและ AUC

ดังที่ได้ตอบไว้ก่อนหน้านี้เกี่ยวกับชุดข้อมูลที่ไม่สมดุลโดยใช้การรันเสียงส่วนใหญ่ในฐานะตัวจําแนก AUC รวมเกินเกณฑ์ความเชื่อมั่นสำหรับดีและไม่ดี เพื่อผลที่ดีคุณจะได้รับผลน้ำหนักสำหรับทุกระดับความมั่นใจ ข้อเสียคือคุณมักจะใส่ใจเพียงระดับความเชื่อมั่นที่คุณจะใช้จริงและส่วนที่เหลือไม่เกี่ยวข้อง

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

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

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

มีมาตรการมากมายที่คุณสามารถใช้ได้ คุณสามารถรวมเข้าด้วยกันได้หลายวิธี

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

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