Pembelajaran Mesin untuk Memprediksi Kemungkinan Kelas


20

Saya mencari classifier yang menghasilkan kemungkinan bahwa contoh-contoh milik salah satu dari dua kelas.

Saya tahu tentang regresi logistik dan Bayes yang naif, tetapi dapatkah Anda memberi tahu saya tentang orang lain yang bekerja dengan cara yang sama? Artinya, pengklasifikasi yang memprediksi bukan kelas yang termasuk contoh, tetapi probabilitas bahwa contoh cocok dengan kelas tertentu?

Poin bonus untuk setiap pemikiran yang dapat Anda bagikan tentang kelebihan dan kekurangan dari berbagai pengklasifikasi ini (termasuk regresi logistik dan Bayes naif). Misalnya, apakah ada yang lebih baik untuk klasifikasi multi-kelas?

Jawaban:


5

SVM terkait erat dengan regresi logistik, dan dapat digunakan untuk memprediksi probabilitas juga berdasarkan jarak ke hyperplane (skor setiap titik). Anda melakukan ini dengan membuat skor -> pemetaan probabilitas beberapa cara, yang relatif mudah karena masalahnya adalah satu dimensi. Salah satu caranya adalah menyesuaikan kurva-S (misalnya kurva logistik, atau kemiringannya) ke data. Cara lain adalah dengan menggunakan regresi isotonik agar sesuai dengan fungsi distribusi kumulatif yang lebih umum untuk data.

Selain SVM, Anda dapat menggunakan fungsi kerugian yang cocok untuk metode apa pun yang dapat Anda cocokkan menggunakan metode berbasis gradien, seperti jaringan dalam.

Prediksi probabilitas bukanlah sesuatu yang dipertimbangkan saat ini ketika merancang pengklasifikasi. Ini tambahan yang mengalihkan perhatian dari kinerja klasifikasi, jadi dibuang. Anda dapat, bagaimanapun, menggunakan penggolong biner untuk mempelajari sekumpulan probabilitas klasifikasi tetap (mis. "P dalam [0, 1/4], atau [1/4, 1/2], atau ...") dengan " menggali "pengurangan Langford dan Zadrozny.


4
"Memprediksi probabilitas bukanlah sesuatu yang dipertimbangkan hari ini ketika merancang pengklasifikasi". Saya tidak yakin apakah ini benar pada 2013, tetapi hampir pasti salah pada 2018.
Matthew Drury

9

Kemungkinan lain adalah jaringan saraf, jika Anda menggunakan cross-entropy sebagai biaya fungsional dengan unit output sigmoidal. Itu akan memberi Anda perkiraan yang Anda cari.

Jaringan saraf, serta regresi logistik, adalah pengklasifikasi diskriminatif, yang berarti bahwa mereka berusaha untuk memaksimalkan distribusi bersyarat pada data pelatihan. Secara asimptotik, dalam batas sampel tak terbatas, kedua perkiraan mendekati batas yang sama.

Anda harus menemukan analisis terperinci tentang pertanyaan ini dalam makalah ini . Gagasan takeaway adalah bahwa meskipun model generatif memiliki kesalahan asimptotik yang lebih tinggi, mungkin mendekati kesalahan asimptotik ini jauh lebih cepat daripada model diskriminatif. Oleh karena itu, mana yang akan diambil, tergantung pada masalah Anda, data yang ada dan persyaratan khusus Anda.

Terakhir, mempertimbangkan estimasi probabilitas bersyarat sebagai skor absolut yang menjadi dasar pengambilan keputusan (jika itu yang Anda kejar) tidak masuk akal secara umum. Yang penting adalah mempertimbangkan, dengan sampel konkret, kelas kandidat terbaik dikeluarkan oleh pengklasifikasi dan membandingkan probabilitas terkait. Jika perbedaan antara dua skor terbaik tinggi, itu berarti bahwa pengklasifikasi sangat yakin tentang jawabannya (belum tentu benar).


2

Ada banyak - dan apa yang paling berhasil tergantung pada data. Ada juga banyak cara untuk menipu - misalnya, Anda dapat melakukan kalibrasi probabilitas pada output dari setiap classifier yang memberikan beberapa kemiripan skor (yaitu: produk titik antara vektor bobot dan input). Contoh paling umum dari ini disebut penskalaan Platt.

Ada juga masalah bentuk model yang mendasarinya. Jika Anda memiliki interaksi polinomial dengan data Anda, maka regresi logistik vanilla tidak akan dapat memodelkannya dengan baik. Tetapi Anda bisa menggunakan versi regresi logistik agar model lebih sesuai dengan data. Ini biasanya meningkatkan "kebaikan" dari output probabilitas karena Anda juga meningkatkan akurasi classifier.

Secara umum, sebagian besar model yang memberikan probabilitas biasanya menggunakan fungsi logistik, sehingga sulit untuk membandingkan. Itu hanya cenderung bekerja dengan baik dalam praktik, jaringan Bayesian adalah alternatif. Naif Bayes hanya membuat asumsi yang terlalu sederhana untuk probabilitasnya menjadi baik - dan itu mudah diamati pada set data yang berukuran wajar.

Pada akhirnya, biasanya lebih mudah untuk meningkatkan kualitas perkiraan probabilitas Anda dengan memilih model yang dapat mewakili data dengan lebih baik. Dalam hal ini, tidak masalah bagaimana Anda mendapatkan probabilitas. Jika Anda bisa mendapatkan akurasi 70% dengan regresi logistik, dan 98% dengan SVM - maka dengan hanya memberikan probabilitas "kepercayaan penuh" saja akan membuat Anda mendapatkan hasil "lebih baik" dengan sebagian besar metode penilaian, meskipun mereka tidak benar-benar probabilitas (dan maka Anda dapat melakukan kalibrasi yang saya sebutkan sebelumnya, membuatnya lebih baik).

Pertanyaan yang sama dalam konteks ketidakmampuan untuk mendapatkan klasifikasi yang tepat lebih menarik, tapi saya tidak yakin siapa pun mempelajari / membandingkan dalam skenario seperti itu.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.