Ambang peluang klasifikasi

49

Saya punya pertanyaan tentang klasifikasi secara umum. Misalkan f adalah classifier, yang menampilkan sekumpulan probabilitas yang diberikan beberapa data D. Biasanya, orang akan mengatakan: well, jika P (c | D)> 0,5, kami akan menetapkan kelas 1, jika tidak 0 (biarkan ini menjadi biner klasifikasi).

Pertanyaan saya adalah, bagaimana jika saya mengetahuinya, bahwa jika saya mengklasifikasikan sebagai 1 juga probabilitas, lebih besar dari: yaitu 0,2, pengklasifikasi bekerja lebih baik. Apakah sah untuk menggunakan ambang baru ini saat melakukan klasifikasi?

Saya akan menginterpretasikan perlunya batas klasifikasi yang lebih rendah dalam konteks data yang memancarkan sinyal yang lebih kecil; namun masih signifikan untuk masalah klasifikasi.

Saya menyadari ini adalah salah satu cara untuk melakukannya, namun jika ini bukan pemikiran yang benar, apa yang akan menjadi beberapa transformasi data, yang menekankan fitur individu dengan cara yang sama, sehingga ambang batas dapat tetap di 0,5?

sdgaw erzswer
sumber
8
Anda sudah memiliki jawaban yang luar biasa, jadi izinkan saya mengatakan ini: "normal" Anda bukan normal yang seharusnya normal. Saya tidak yakin di mana hal "ambang batas 0,5" menjadi standar, dan saya tahu ada beberapa perangkat lunak, yang sangat bagus, yang mendorong gagasan itu, tetapi ini adalah praktik yang sangat buruk secara umum.
Matthew Drury
1
@MatthewDrury: kecuali, tentu saja, skornya adalah probabilitas posterior relevan yang dikalibrasi dengan baik untuk tidak membuat kesalahan penting (yang terakhir akan menangani berbagai biaya kesalahan klasifikasi).
cbeleites mendukung Monica

Jawaban:

68

Frank Harrell telah menulis tentang ini di blog-nya: Klasifikasi vs. Prediksi , yang saya setujui dengan sepenuh hati.

Pada dasarnya, argumennya adalah bahwa komponen statistik dari latihan Anda berakhir ketika Anda mengeluarkan probabilitas untuk setiap kelas sampel baru Anda. Memilih ambang batas di mana Anda mengklasifikasikan pengamatan baru sebagai 1 vs 0 bukan bagian dari statistik lagi. Itu adalah bagian dari komponen keputusan . Dan di sini, Anda memerlukan keluaran probabilistik dari model Anda - tetapi juga pertimbangan seperti:

  • Apa konsekuensi dari memutuskan untuk memperlakukan pengamatan baru sebagai kelas 1 vs 0? Apakah saya kemudian mengirimkan surat pemasaran murah ke semua pelanggan? Atau apakah saya menerapkan perawatan kanker invasif dengan efek samping yang besar?
  • Apa konsekuensi dari memperlakukan "benar" 0 sebagai 1, dan sebaliknya? Apakah saya akan menandai pelanggan? Mengenakan seseorang pada perawatan medis yang tidak perlu?
  • Apakah "kelas" saya benar-benar terpisah? Atau adakah sebenarnya sebuah rangkaian (misalnya, tekanan darah), di mana ambang klinis pada kenyataannya hanyalah jalan pintas kognitif? Jika demikian, seberapa jauh melampaui ambang batas dalam kasus saya "mengklasifikasikan" sekarang?
  • Atau apakah probabilitas rendah tetapi positif untuk menjadi kelas 1 sebenarnya berarti "dapatkan lebih banyak data", "jalankan tes lain"?

Jadi, untuk menjawab pertanyaan Anda: bicarakan dengan konsumen akhir klasifikasi Anda, dan dapatkan jawaban untuk pertanyaan di atas. Atau jelaskan keluaran probabilistik Anda kepadanya, dan biarkan dia berjalan melalui langkah-langkah selanjutnya.

S. Kolassa - Reinstate Monica
sumber
1
Terima kasih banyak atas jawaban mendalam ini. Saya akan mempelajari lebih lanjut masalah itu sendiri - saya yakin saya dapat mengubah properti ini menjadi bagian pembelajaran statistik.
sdgaw erzswer
Wow, andai saya bisa menambahkan sesuatu untuk ini tetapi tidak mendapatkan apa-apa, jawaban yang luar biasa!
the_SJC
4
Jawaban yang sangat bagus: pertanyaannya tepat! Namun, profesi saya berada di sisi aplikasi, apakah menemukan ambang keputusan disebut statistik atau tidak - itu sepenuhnya menjadi tugas profesional saya ... Dan bagi saya itu adalah bagian dari model seperti "pra-pemrosesan" adalah bagian dari model - juga karena alasan bahwa semua keputusan itu perlu dicakup dalam proses validasi.
cbeleites mendukung Monica
11

Jawaban Stephan sangat bagus. Ini pada dasarnya tergantung pada apa yang ingin Anda lakukan dengan classifier.

Hanya menambahkan beberapa contoh.

Cara untuk menemukan ambang batas terbaik adalah dengan menetapkan fungsi tujuan. Untuk klasifikasi biner, ini bisa menjadi akurasi atau skor-F1 misalnya. Tergantung pada yang Anda pilih, ambang batas terbaik akan berbeda. Untuk skor F1, ada jawaban yang menarik di sini: Apa itu Ambang Batas Optimal F1? Bagaimana cara menghitungnya? . Tetapi mengatakan "Saya ingin menggunakan skor-F1" adalah di mana Anda benar-benar membuat pilihan. Apakah pilihan ini baik atau tidak tergantung pada tujuan akhir.

Cara lain untuk melihatnya adalah menghadapi pertukaran antara eksplorasi dan eksploitasi (poin terakhir Stephan): Bandit multi-bersenjata adalah contoh dari masalah seperti itu: Anda harus berurusan dengan dua tujuan yang saling bertentangan untuk memperoleh informasi dan memilih bandit terbaik . Salah satu strategi Bayesian adalah memilih masing-masing bandit secara acak dengan probabilitas itu adalah yang terbaik. Ini bukan klasifikasi tetapi berurusan dengan probabilitas output dengan cara yang sama.

Jika classifier hanya satu batu bata dalam algoritma pengambilan keputusan, maka ambang batas terbaik akan tergantung pada tujuan akhir dari algoritma. Ini harus dievaluasi dan disetel sehubungan dengan fungsi objektif dari seluruh proses.

Benoit Sanchez
sumber
Terima kasih atas jawaban yang bagus. Jika saya mengerti dengan benar, jika saya berurusan dengan langkah terakhir dalam pipa, itu sepenuhnya sah untuk langsung mengoptimalkan ambang batas.
sdgaw erzswer
@sdgawerzswer: ya. Dan a) pastikan Anda mengoptimalkan jawaban untuk pertanyaan yang tepat dan b) pastikan Anda memvalidasi keputusan itu (dan temuan ambang batas) bersama dengan sisa model.
Cbeleites mendukung Monica
3

Mungkin ada beberapa nilai dalam mempertimbangkan bagaimana probabilitas dihitung. Saat ini, Classifier menggunakan vektor bias, yang dikalikan dengan matriks (aljabar linier). Selama ada nilai-nilai bukan nol dalam vektor, probabilitas (produk dari vektor dan matriks) tidak akan pernah menjadi 0.

Ini menyebabkan kebingungan di dunia nyata orang-orang yang tidak menggunakan aljabar linier, kurasa. Mereka terganggu oleh fakta bahwa ada skor probabilitas untuk item yang mereka pikir seharusnya memiliki 0. Dengan kata lain, mereka membingungkan input statistik, dari keputusan berdasarkan input tersebut. Sebagai manusia, kita dapat mengatakan bahwa sesuatu dengan probabilitas 0,0002234 sama dengan 0, dalam kebanyakan kasus penggunaan "praktis". Dalam diskusi sains kognitif yang lebih tinggi, mungkin, ada diskusi yang menarik tentang mengapa vektor bias melakukan ini, atau lebih tepatnya, apakah ini berlaku untuk aplikasi kognitif.

Kameron Cole
sumber
2

Tidak ada ambang batas yang salah. Ambang yang Anda pilih tergantung pada tujuan Anda dalam prediksi Anda, atau lebih tepatnya apa yang ingin Anda sukai, misalnya ketepatan versus penarikan (coba buat grafiknya dan ukur AUC yang terkait untuk membandingkan model klasifikasi berbeda yang Anda pilih).

Saya memberi Anda contoh presisi vs ingat ini, karena kasus masalah saya sendiri yang sedang saya kerjakan saat ini, saya memilih ambang batas saya tergantung dari presisi minimal (atau Nilai Prediktif Positif PPV) saya ingin model saya miliki ketika memprediksi, tetapi saya tidak terlalu peduli dengan yang negatif. Karena itu saya mengambil ambang yang sesuai dengan presisi yang diinginkan setelah saya melatih model saya. Presisi adalah kendala saya dan Ingat adalah kinerja model saya, ketika saya membandingkan dengan model klasifikasi lainnya.

Alex F
sumber