Kinerja terbaik yang diharapkan pada kumpulan data

9

Katakanlah saya punya masalah pembelajaran mesin sederhana seperti klasifikasi. Dengan beberapa tolok ukur dalam penglihatan atau pengenalan audio, saya, sebagai manusia, adalah penggolong yang sangat baik. Karena itu saya memiliki intuisi tentang seberapa bagus classifier bisa didapat.

Tetapi dengan banyak data, satu hal adalah saya tidak tahu seberapa bagus classifier yang saya latih bisa didapat. Ini adalah data di mana saya pribadi bukan penggolong yang sangat baik (katakanlah, golongkan suasana hati seseorang dari data EEG). Sangat tidak mungkin untuk mendapatkan intuisi tentang seberapa sulit masalah saya.

Sekarang, jika saya dihadapkan dengan masalah pembelajaran mesin, saya ingin mencari tahu seberapa baik yang bisa saya dapatkan. Apakah ada pendekatan berprinsip untuk ini? Bagaimana Anda melakukan ini?

Visualisasikan data? Mulai dengan model sederhana? Mulailah dengan model yang sangat kompleks dan lihat apakah saya bisa mengenakan pakaian yang sesuai? Apa yang Anda cari jika Anda ingin menjawab pertanyaan ini? Kapan kamu berhenti berusaha?

bayerj
sumber

Jawaban:

6

Saya tidak tahu apakah ini dianggap sebagai jawaban ...

Ini adalah satu masalah yang membuat Anda terjaga di malam hari. Apakah Anda dapat membangun model yang lebih baik? Phd-comics merangkumnya dengan baik (saya tidak tahu apakah saya diperbolehkan mengunggah komik, jadi saya hanya menautkannya)

Dari pengalaman pribadi saya, diperoleh dengan berpartisipasi dalam kompetisi Machine Learning, berikut ini adalah aturan praktis.

Bayangkan Anda diberikan tugas klasifikasi. Duduk, bertukar pikiran satu jam atau kurang bagaimana Anda akan mendekati masalah dan periksa keadaan seni di bidang ini. Bangun model berdasarkan penelitian ini, lebih disukai model yang dikenal stabil tanpa terlalu banyak penyesuaian parameter. Kinerja yang dihasilkan akan sekitar 80% dari kinerja maksimum yang dapat dicapai.

Aturan ini didasarkan pada prinsip Pareto , yang juga berlaku untuk optimasi. Diberi masalah, Anda dapat membuat solusi yang berkinerja baik dengan cepat, tetapi sejak saat itu rasio peningkatan terhadap upaya waktu turun dengan cepat.

Beberapa kata terakhir: Ketika saya membaca makalah tentang algoritma klasifikasi baru, saya berharap para penulis untuk membandingkan generasi baru mereka dengan pendekatan "dioptimalkan dengan pareto" seperti itu, yaitu saya berharap mereka menghabiskan sejumlah waktu yang wajar untuk membuat keadaan karya seni (beberapa memerlukan lebih atau kurang optimasi parameter). Sayangnya, banyak yang tidak melakukannya.

steffen
sumber
0

Cara konvensional adalah dengan mempertimbangkan ROC, dan area di bawahnya (AUC). Alasan di balik pendekatan ini adalah bahwa semakin tinggi tingkat positif sejati untuk tingkat positif palsu tertentu, semakin baik pengklasifikasi. Mengintegrasikan semua kemungkinan tingkat positif palsu memberi Anda ukuran keseluruhan.

Emre
sumber
3
Sejauh yang saya mengerti OP, masalahnya BUKAN mengukur kinerja classifier (yang mudah-mudahan merupakan estimasi yang baik untuk kinerja yang diharapkan di masa depan) tetapi seberapa baik seseorang bisa mendapatkan SEMUA, yaitu apa yang maksimum (tidak mutlak per metrik (AUC adalah 1 pada maks atau sesuatu seperti itu), tetapi untuk masalah yang diberikan)
steffen
Ya, itulah yang saya maksud.
bayerj
0

Jika ada beberapa cara bagi Anda untuk memvisualisasikan data Anda, itu adalah skenario terbaik namun tidak semua data dapat divisualisasikan dengan cara yang sama, jadi Anda mungkin perlu menemukan cara Anda sendiri untuk memproyeksikan data yang dapat membantu Anda memahami data Anda lebih baik.

Namun, secara umum, saya biasanya mengambil sampel kecil dari data, mengubahnya menjadi ARFF dan mencoba berbagai algoritma pengelompokan dari WEKA. Kemudian, saya hanya melihat algoritma mana yang memberi saya matriks kebingungan yang lebih baik. Ini memberi saya petunjuk tentang seberapa baik kelas-kelas dipisahkan dan memungkinkan saya untuk menyelidiki mengapa algoritma tertentu lebih baik untuk data ini. Saya juga mengubah jumlah cluster (yaitu saya tidak hanya menggunakan k = 2, saya menggunakan k = 3, 4 dll). Ini memberi saya ide apakah ada fragmentasi dalam data atau apakah satu kelas lebih terfragmentasi dari yang lain. Jika Anda mencampur poin pelatihan dan pengujian bersama untuk pengelompokan, Anda juga dapat mengukur kelompok mana yang diwakili oleh poin pelatihan Anda. Beberapa cluster mungkin terlalu terwakili dan beberapa mungkin kurang terwakili, keduanya dapat menyebabkan masalah yang mempelajari classifier.

Selalu periksa akurasi pelatihan Anda. Jika akurasi pelatihan Anda tidak terlihat bagus, maka poin pelatihan yang salah klasifikasi juga merupakan petunjuk besar.

TenaliRaman
sumber