Bisakah pelatihan label kepercayaan diri digunakan untuk meningkatkan akurasi prediksi?

9

Saya memiliki data pelatihan yang diberi label dengan nilai biner. Saya juga telah mengumpulkan kepercayaan dari masing-masing label ini yaitu 0,8 keyakinan akan berarti bahwa 80% dari pekerja manusia setuju pada label itu.

Apakah mungkin untuk menggunakan data kepercayaan ini untuk meningkatkan akurasi classifier saya?

Akankah cara berikut ini berhasil?

  • 1a) Jika labelnya adalah 0 dan data kepercayaan diri untuk label itu adalah 0.8 maka berikan data pelatihan label baru sebesar 0,2

  • 1b) Jika labelnya 1 dan data kepercayaan untuk label itu adalah 0.8 maka berikan data pelatihan label baru sebesar 0.8

  • 2) Hitung label baru menggunakan metode ini untuk setiap entri dalam set pelatihan

  • 3) Perlakukan masalah sebagai masalah regresi (di mana label berkisar antara 0 dan 1)

  • 4) Klasifikasi data tidak berlabel berdasarkan apakah label baru di atas atau di bawah nilai tertentu. yaitu Berikan semua label yang diprediksi kelas 0 jika di bawah X dan kelas 1 jika di atas X.

Saat ini saya menggunakan SVM dengan kernel RBF untuk model saya.

Terima kasih sebelumnya!

Ben J. Hawkins
sumber
Jadi untuk saat ini Anda menggunakan label biner? Saya tidak tahu mengapa itu tidak berhasil. Menguji. Bagi data Anda menjadi tes pelatihan dan tes validasi dan lihat apakah Anda meningkatkan prediksi Anda.
el Josso

Jawaban:

4

Ya, dimungkinkan untuk menggunakan data kepercayaan ini. Namun, saya tidak akan merekomendasikan pendekatan yang Anda sebutkan. Sebagai gantinya, izinkan saya menyarankan pendekatan yang berbeda. Sebenarnya, saya akan menyarankan dua. Yang pertama secara bersih bersih; yang kedua mungkin lebih mudah diimplementasikan; dan mereka mungkin kira-kira setara dalam praktik.

Sesuaikan fungsi kerugian

Anda dapat menyesuaikan fungsi kerugian untuk mencerminkan skor kepercayaan yang Anda miliki pada data pelatihan.

Secara khusus, jika Anda menggunakan kehilangan lintas-entropi , ada cara yang sangat bersih untuk melakukan ini. Biarkan saya menjelaskan beberapa latar belakang tentang kehilangan lintas-entropi, lalu jelaskan caranya. Kami menganggap label pada contoh pelatihan sebagai distribusi probabilitas pada label. Dalam klasifikasi biner, distribusi semacam itu dapat direpresentasikan sebagai vektor(hal0,hal1) dimana hal0 mewakili probabilitas bahwa labelnya adalah 0 dan hal1 probabilitas bahwa labelnya adalah 1. Biasanya, kita diberi "label keras": jika kita tahu bahwa label yang benar misalnya x adalah 0, maka itu sesuai dengan distribusi probabilitas (1,0); jika label yang benar adalah 1, itulah distribusinya(0,1). Kehilangan lintas-entropi kemudian membandingkan prediksi dari classifier ke distribusi ini.

Hal yang baik tentang kehilangan lintas-entropi adalah bahwa ia menghasilkan dengan mudah untuk membandingkan dua distribusi. Jadi, jika Anda memiliki kepercayaan diri0.8 bahwa label yang benar misalnya x adalah 0, maka itu sesuai dengan distribusi probabilitas (0.8,0,2). Sekarang, Anda dapat menghitung cross-entropy prediksi classifier sehubungan dengan distribusi(0.8,0,2), dan itu adalah kontribusi terhadap kerugian dari contoh pelatihan x. Jumlahkan ini semua contoh dalam set pelatihan, dan Anda mendapatkan fungsi kerugian yang disesuaikan.

Sekarang Anda dapat melatih classifier dengan meminimalkan fungsi kehilangan yang disesuaikan ini, dan itu akan secara langsung memasukkan semua informasi dalam skor kepercayaan Anda.

Gunakan bobot

Atau, Anda dapat menggunakan bobot untuk mencerminkan informasi kepercayaan.

Beberapa pengklasifikasi memungkinkan Anda menentukan bobot untuk setiap instance dalam set pelatihan. Idenya adalah bahwa kesalahpahaman untuk contoh tertentu dihukum proporsionalitas terhadap beratnya, jadi contoh dengan bobot tinggi lebih penting untuk mendapatkan yang benar dan contoh dengan bobot rendah kurang penting. Atau, ekuivalennya, prosedur pelatihan berusaha lebih keras untuk menghindari kesalahan pada contoh dengan bobot tinggi.

Anda dapat menggunakan bobot untuk mencerminkan informasi kepercayaan diri. Misalkan Anda memiliki instancesx di set pelatihan yang menurut Anda harus memiliki label 0, dengan percaya diri 0.8. Anda akan menambahkan satu salinan(x,0) ke set pelatihan dengan berat 0.8 (Yaitu, contoh adalah x dan label 0), dan tambahkan satu salinan (x,1) ke set pelatihan dengan berat 0,2 (Yaitu, contoh adalah xdan label adalah 1). Bangun set pelatihan dengan cara ini. Ini menggandakan ukuran set pelatihan Anda. Sekarang latih classifier, gunakan bobot ini.

Untuk pengklasifikasi yang mendukung bobot, ini harus mudah diimplementasikan.

Seseorang juga dapat menunjukkan bahwa itu efektif dan masuk akal. Misalnya, ketika menggunakan kehilangan lintas-entropi untuk melatih classifier, pendekatan ini menggunakan bobot setara dengan menyesuaikan fungsi kerugian seperti yang disorot di atas. Jadi, dalam konteks khusus itu, kedua pendekatan itu sebenarnya setara.

DW
sumber