Katakanlah saya memiliki serangkaian instance dengan label kelas yang terkait. Tidak masalah bagaimana label ini diberi label, tetapi seberapa yakin keanggotaan kelas mereka. Setiap instanc milik tepat satu kelas. Katakanlah saya dapat mengukur kepastian setiap keanggotaan kelas dengan atribut nominal yang berubah dari 1 menjadi 3 (sangat pasti menjadi tidak pasti, masing-masing).
Apakah ada semacam classifier yang mempertimbangkan ukuran kepastian dan jika ya, apakah itu tersedia dalam toolkit WEKA?
Saya membayangkan situasi ini cukup sering terjadi, misalnya ketika contoh diklasifikasikan oleh manusia yang tidak selalu sepenuhnya yakin. Dalam kasus saya, saya harus mengklasifikasikan gambar, dan kadang-kadang gambar bisa menjadi milik lebih dari satu kelas. Jika ini terjadi, saya memberikan kelas ketidakpastian tinggi, tetapi masih mengklasifikasikannya hanya dengan satu kelas.
Atau apakah ada pendekatan lain untuk masalah ini, tanpa pengklasifikasi khusus? Misalnya hanya mengambil klasifikasi "tertentu" untuk pelatihan? Saya khawatir bahwa dalam kasus ini, akan ada lebih banyak kesalahan klasifikasi karena kasus "perbatasan" tidak dicakup.
sumber
Jawaban:
Pertama-tama, seperti yang sudah dijelaskan oleh @Marc Claesen, klasifikasi semi-terawasi adalah salah satu teknik untuk menjaga situasi di mana Anda tahu bahwa kelas benar-benar berbeda, tetapi Anda tidak yakin kelas mana yang dimiliki oleh kasing itu.
Namun, ada situasi terkait juga, di mana "kenyataan" tidak begitu jelas, dan asumsi memiliki kelas yang benar-benar berbeda tidak terpenuhi: kasus batas mungkin merupakan realitas "fisik" (lihat di bawah untuk makalah tentang aplikasi di mana kami bertemu dengan kondisi seperti itu).
Ada satu asumsi penting untuk pengklasifikasi semi-diawasi yang perlu Anda pastikan terpenuhi: asumsi bahwa dalam ruang fitur, batas kelas datang bersama dengan kepadatan sampel yang rendah . Ini disebut sebagai asumsi cluster.
Sekalipun kenyataan yang mendasari data Anda memiliki kelas yang berbeda, kumpulan data Anda mungkin memiliki lebih banyak kasus garis batas yang tidak proporsional: misalnya jika teknik klasifikasi Anda ditargetkan untuk mengklasifikasikan kasus-kasus sulit, sedangkan kasus-kasus yang jelas dan mudah tidak menarik dan data pelatihan Anda sudah mencerminkan hal ini. situasi.
Saya sepenuhnya setuju dengan Anda bahwa mengecualikan kasus batas sering merupakan ide yang buruk: dengan menghapus semua kasus sulit Anda berakhir dengan masalah artifisial mudah. IMHO bahkan lebih buruk bahwa tidak termasuk kasus garis batas biasanya tidak berhenti dengan pelatihan model, tetapi kasus garis batas juga dikecualikan dari pengujian, sehingga menguji model hanya dengan kasus mudah. Dengan itu Anda bahkan tidak akan menyadari bahwa model tidak berkinerja baik dengan kasus batas.
Berikut adalah dua makalah yang kami tulis tentang masalah yang berbeda dari masalah Anda karena dalam aplikasi kami juga kenyataannya dapat memiliki kelas "campuran" (versi yang lebih umum dari masalah Anda: ketidakpastian dalam label referensi juga tercakup).
C. Beleites, K. Geiger, M. Kirsch, SB Sobottka, G. Schackert dan R. Salzer: gradasi spektroskopi Raman dari jaringan astrositoma: menggunakan informasi referensi lunak, Anal. Bioanal. Chem., 400 (2011), 2801 - 2816.
C. Beleites, R. Salzer dan V. Sergo:
Validasi Model Klasifikasi Lunak menggunakan Keanggotaan Kelas Parsial: Konsep Diperpanjang Sensitivitas & Co diterapkan untuk Grading Jaringan Astrocytoma
Chemom Chemom. Intell. Laboratorium. Syst., 122 (2013), 12 - 22.
Tautan menuju ke halaman proyek dari paket R yang saya kembangkan untuk melakukan perhitungan kinerja. Ada lebih banyak tautan ke halaman web resmi dan manuskrip naskah saya. Meskipun saya belum menggunakan Weka sejauh ini, saya mengerti bahwa antarmuka ke R tersedia .
pertimbangan praktis:
libSVM
tuning dengan validasi silang bahwa semua salinan dari setiap titik data perlu disimpan dalam lipatan validasi silang yang sama. Dengan demikianlibSVM
penyetelan mungkin akan menghasilkan model pakaian besar-besaran.nnet::multinom
).sumber
libsvm
secara khusus. Paralibsvm
penulis memberikan versi alternatif dari setiap rilis di mana klasifikasi berdasarkan contoh dimungkinkan, menghindari masalah ini sama sekali. Hal-hal inilah yang mendorong saya untuk umumnya menggunakan perpustakaan algoritma secara langsung, daripada pembungkus seperti Weka / scipy / ... csie.ntu.edu.tw/~cjlin/libsvmtools/#weights_for_data_instancesIni adalah salah satu generalisasi dari klasifikasi yang ditangani dalam pembelajaran semi-diawasi. Jika Anda memiliki pengukuran kepastian, Anda dapat menggunakan pendekatan yang memungkinkan pembobotan instance pelatihan. Semakin tinggi kepastian, semakin besar bobot contoh yang sesuai. Contoh-contoh dari pendekatan tersebut termasuk SVM-instance-weighted dan regresi logistik.
Saya yakin weka memiliki implementasi dari algoritma ini. Jika semuanya gagal, sampel beberapa instans dari instans dengan kepastian tinggi. Anda dapat menggunakan pendekatan ini untuk SVM atau LR tradisional.
Contoh: SVM
Jika saya tidak salah, weka memiliki antarmuka ke LIBSVM . LIBSVM memungkinkan Anda untuk memecahkan SVM berbobot kelas di semua rilisnya, dan SVM berbobot instance dalam versi khusus dari setiap rilis. Saya akan menganggap weka tidak mendukung yang terakhir (yang Anda butuhkan).
w ξ P N C p o s C n e g
Berdasarkan pertanyaan Anda, sepertinya Anda idealnya ingin menggunakan 6 bobot berbeda (2 kelas 3 tingkat kepastian). Anda dapat mencapai ini untuk banyak pendekatan dengan menduplikasi sampel poin dengan kepastian tinggi.×
Misalnya, dalam hal SVM, menggunakan instance data yang sama dua kali menghasilkan solusi yang identik untuk menggandakan nilai terkait . Ini adalah cara yang sangat mudah untuk menetapkan hukuman kesalahan klasifikasi tinggi untuk instance data tertentu. Anda dapat mengikuti pendekatan yang sama untuk regresi logistik.C
sumber
Kesulitan masalah sangat tergantung pada seberapa keliru label yang tidak pasti itu. Jika label tidak pasti itu benar, katakanlah, 90% dari waktu, Anda mungkin bisa lolos hanya dengan menggunakan regresi logistik. Di sisi lain, jika label salah hampir separuh waktu, Anda mungkin perlu menggunakan beberapa teknik khusus. Inilah satu tikaman yang saya ambil pada masalah yang sangat mirip. (Kami memiliki beberapa pengamatan per label, tetapi pengaturannya sangat mirip.)
sumber
Saya telah menjalankan singkat dengan pengenalan dan klasifikasi gambar.
Hutan Acak adalah teknik yang mudah digunakan. Saya sudah menerapkannya di R, itu harus tersedia di Weka juga. Kemudahan penggunaan akurasi prediksi truf. Jika Anda memiliki satu set pelatihan yang cukup besar, itu dapat mengklasifikasikan beberapa label.
Ini berfungsi untuk mengenali angka tulisan tangan dengan cukup baik, tetapi jika gambar Anda lebih kompleks, maka hanya percobaan yang akan memberi tahu Anda jika itu bekerja dengan baik.
sumber