Keuntungan dari AUC vs akurasi standar

64

Saya mulai melihat ke area di bawah kurva (AUC) dan saya sedikit bingung tentang kegunaannya. Ketika pertama kali menjelaskan kepada saya, AUC tampaknya menjadi ukuran kinerja yang hebat tetapi dalam penelitian saya, saya telah menemukan bahwa beberapa mengklaim keunggulannya sebagian besar marjinal karena yang terbaik untuk menangkap model 'beruntung' dengan pengukuran akurasi standar tinggi dan AUC rendah .

Jadi haruskah saya menghindari mengandalkan AUC untuk memvalidasi model atau kombinasi yang terbaik? Terima kasih atas seluruh bantuan Anda.

aidankmcl
sumber
5
Pertimbangkan masalah yang sangat tidak seimbang. Di situlah ROC AUC sangat populer, karena kurva menyeimbangkan ukuran kelas. Sangat mudah untuk mencapai akurasi 99% pada kumpulan data di mana 99% objek berada di kelas yang sama.
Anony-Mousse
3
"Tujuan tersirat dari AUC adalah untuk menghadapi situasi di mana Anda memiliki distribusi sampel yang sangat miring, dan tidak ingin mengenakan pakaian berlebih ke satu kelas." Saya berpikir bahwa situasi-situasi ini adalah di mana AUC berkinerja buruk dan grafik / area ingat-ulang di bawahnya digunakan.
JenSCDC
@JenSCDC, Dari pengalaman saya dalam situasi ini AUC berkinerja baik dan seperti yang dijelaskan indico di bawah ini dari kurva ROC Anda mendapatkan area itu. Grafik PR juga berguna (perhatikan bahwa Pemanggilan Kembali sama dengan TPR, salah satu sumbu dalam ROC) tetapi Presisi tidak cukup sama dengan FPR sehingga plot PR terkait dengan ROC tetapi tidak sama. Sumber: stats.stackexchange.com/questions/132777/… dan stats.stackexchange.com/questions/7207/…
alexey

Jawaban:

60

Pertanyaan yang sangat bagus, dan satu yang saya temukan bahwa kebanyakan orang tidak benar-benar mengerti pada tingkat intuitif. AUCsebenarnya sering lebih disukai daripada akurasi untuk klasifikasi biner karena sejumlah alasan berbeda. Pertama-tama, mari kita bicara tentang apa tepatnya AUC. Sejujurnya, karena menjadi salah satu metrik kemanjuran yang paling banyak digunakan, sangat mengherankan untuk mengetahui secara tepat cara AUCkerjanya.

AUCsingkatan Area Under the Curve, kurva mana yang Anda tanyakan? Nah, itu akan menjadi ROCkurva. ROCsingkatan dari Receiver Operating Characteristic , yang sebenarnya sedikit tidak intuitif. Tujuan implisitnya AUCadalah untuk menghadapi situasi di mana Anda memiliki distribusi sampel yang sangat miring, dan tidak ingin mengenakan pakaian berlebih ke satu kelas.

Contoh yang bagus adalah dalam deteksi spam. Secara umum, dataset spam sangat bias terhadap ham, atau bukan-spam. Jika kumpulan data Anda adalah ham 90%, Anda bisa mendapatkan akurasi yang sangat bagus dengan hanya mengatakan bahwa setiap email adalah ham, yang jelas merupakan sesuatu yang menunjukkan klasifikasi yang tidak ideal. Mari kita mulai dengan beberapa metrik yang sedikit lebih berguna bagi kita, khususnya tingkat positif sebenarnya ( TPR) dan tingkat positif palsu ( FPR):

Sumbu ROC

Sekarang dalam grafik ini, TPRsecara khusus rasio benar positif untuk semua positif, dan FPRrasio positif palsu untuk semua negatif. (Perlu diingat, ini hanya untuk klasifikasi biner.) Pada grafik seperti ini, harus cukup mudah untuk mengetahui bahwa prediksi semua 0 atau semua 1 akan menghasilkan titik (0,0)dan (1,1)masing - masing. Jika Anda menggambar garis melalui garis-garis ini, Anda akan mendapatkan sesuatu seperti ini:

Agak seperti segitiga

Yang pada dasarnya terlihat seperti garis diagonal (itu), dan dengan beberapa geometri mudah, Anda dapat melihat bahwa AUCmodel seperti itu akan menjadi 0.5(tinggi dan basis keduanya 1). Demikian pula, jika Anda memprediksi bermacam-macam acak 0 dan 1, katakanlah 90% 1, Anda bisa mendapatkan poin (0.9, 0.9), yang lagi-lagi jatuh di sepanjang garis diagonal itu.

Sekarang sampai pada bagian yang menarik. Bagaimana jika kita tidak hanya memprediksi 0 dan 1? Bagaimana jika sebaliknya, kami ingin mengatakan bahwa, secara teoritis kami akan menetapkan batas, di mana setiap hasil adalah 1, dan di bawah ini setiap hasil adalah 0. Ini berarti bahwa pada ekstrem Anda mendapatkan situasi asli di mana Anda memiliki semua 0 dan semua 1 (pada cutoff masing-masing 0 dan 1), tetapi juga serangkaian negara perantara yang termasuk dalam 1x1grafik yang berisi grafik Anda ROC. Dalam praktiknya Anda mendapatkan sesuatu seperti ini: Atas perkenan Wikipedia

Jadi pada dasarnya, apa yang sebenarnya Anda dapatkan ketika Anda melakukan AUCakurasi berlebih adalah sesuatu yang akan sangat mencegah orang untuk mencari model yang representatif, tetapi tidak diskriminatif, karena ini hanya akan benar-benar memilih model yang mencapai tingkat positif palsu dan positif yang benar. secara signifikan di atas peluang acak, yang tidak dijamin untuk keakuratan.

indico
sumber
Bisakah Anda menambahkan bagaimana AUC dibandingkan dengan skor F1?
Dan
7
@ Dan- Perbedaan terbesarnya adalah Anda tidak perlu menetapkan ambang keputusan dengan AUC (pada dasarnya mengukur kemungkinan spam berperingkat di atas non-spam). Skor F1 membutuhkan ambang keputusan. Tentu saja, Anda selalu dapat menetapkan ambang keputusan sebagai parameter operasi dan plot skor-F1.
DSea
17

AUC dan akurasi adalah hal yang sangat berbeda. AUC berlaku untuk pengklasifikasi biner yang memiliki beberapa gagasan tentang ambang keputusan secara internal. Misalnya regresi logistik mengembalikan positif / negatif tergantung pada apakah fungsi logistik lebih besar / lebih kecil dari ambang, biasanya 0,5 secara default. Saat Anda memilih ambang, Anda memiliki classifier. Anda harus memilih satu.

Untuk pilihan ambang tertentu, Anda dapat menghitung akurasi, yang merupakan proporsi positif dan negatif sebenarnya di seluruh kumpulan data.

AUC mengukur seberapa benar tingkat positif (penarikan) dan nilai tukar positif palsu, sehingga dalam arti itu sudah mengukur sesuatu yang lain. Lebih penting lagi, AUC bukan fungsi ambang batas. Ini adalah evaluasi dari classifier karena ambang bervariasi untuk semua nilai yang mungkin. Ini adalah metrik yang lebih luas, menguji kualitas nilai internal yang dihasilkan oleh penggolong dan kemudian membandingkannya dengan ambang batas. Itu tidak menguji kualitas pilihan ambang tertentu.

AUC memiliki interpretasi yang berbeda, dan itu adalah juga probabilitas bahwa contoh positif yang dipilih secara acak diberi peringkat di atas contoh negatif yang dipilih secara acak, sesuai dengan nilai internal pengklasifikasi untuk contoh.

AUC dapat dihitung bahkan jika Anda memiliki algoritma yang hanya menghasilkan peringkat pada contoh. AUC tidak dapat dihitung jika Anda benar-benar hanya memiliki klasifikasi kotak-hitam, dan bukan yang memiliki ambang internal. Ini biasanya akan menentukan yang mana dari keduanya bahkan tersedia untuk masalah yang dihadapi.

AUC, saya pikir, ukuran yang lebih komprehensif, meskipun berlaku dalam situasi yang lebih sedikit. Ini tidak sepenuhnya lebih baik daripada akurasi; Ini berbeda. Itu sebagian tergantung pada apakah Anda lebih peduli tentang positif sejati, negatif palsu, dll.

F-ukuran lebih seperti akurasi dalam arti bahwa itu adalah fungsi dari classifier dan pengaturan ambangnya. Tetapi mengukur ketepatan vs recall (tingkat positif sejati), yang tidak sama dengan yang di atas.

Sean Owen
sumber
Oleh karena itu, jika saya ingin memprediksi hasil biner untuk serangkaian pengamatan yang ukuran kelompoknya sama (yaitu studi kasus-kontrol), apakah saya mendapatkan sesuatu dengan menggunakan AUC lebih dari akurasi? Atau apakah penggunaan tipikal AUC dalam studi semacam itu hanya karena konvensi?
Joe
AUC mengukur seberapa baik classifier memberi peringkat instance positif lebih tinggi dari instance negatif, sementara akurasi mengukur positif positif palsu untuk ambang keputusan tertentu. Saya kira itu tergantung pada yang cocok dengan apa yang ingin Anda nilai. AUC bisa dibilang ukuran yang lebih komprehensif dari pengklasifikasi independen dari pilihan ambang, tetapi, setiap penggunaan aktual dari pengklasifikasi akan tergantung pada memilih ambang batas untuk mengklasifikasikan
Sean Owen
4

Saya ingin merujuk pada bagaimana Anda harus memilih ukuran kinerja. Sebelum itu saya akan merujuk ke pertanyaan spesifik akurasi dan AUC.

Seperti yang dijawab sebelumnya, pada dataset yang tidak seimbang menggunakan mayoritas berjalan sebagai pengklasifikasi akan menghasilkan akurasi tinggi apa yang akan membuatnya menjadi ukuran yang menyesatkan. AUC agregat di atas ambang batas kepercayaan, baik dan buruk. Demi kebaikan, Anda mendapatkan hasil berat untuk semua tingkat kepercayaan. Yang buruk adalah bahwa Anda biasanya hanya peduli pada tingkat kepercayaan diri yang benar-benar akan Anda gunakan dan sisanya tidak relevan.

Namun, saya ingin berkomentar tentang memilih ukuran kinerja yang tepat untuk model. Anda harus membandingkan model dengan tujuannya. Tujuan dari suatu model bukanlah pertanyaan tentang pembelajaran mesin atau statistik, dalam hal ini adalah pertanyaan tentang domain bisnis dan kebutuhannya.

Jika Anda menggali untuk emas (sebuah skenario di mana Anda memiliki manfaat besar dari positif benar, tidak terlalu tinggi biaya positif palsu) maka penarikan kembali adalah ukuran yang baik.

Jika Anda mencoba untuk memutuskan apakah akan melakukan prosedur medis yang kompleks pada orang-orang (biaya palsu positif yang tinggi, semoga biaya palsu palsu yang rendah), ketepatan adalah ukuran yang harus Anda gunakan.

Ada banyak langkah yang bisa Anda gunakan. Anda juga dapat menggabungkannya dengan berbagai cara.

Namun, tidak ada ukuran universal "terbaik". Ada model terbaik untuk kebutuhan Anda, model yang memaksimalkannya akan memaksimalkan keuntungan Anda.

Dl
sumber