Bagaimana menangani perbedaan antara distribusi set tes dan set pelatihan?

23

Saya pikir salah satu asumsi dasar pembelajaran mesin atau estimasi parameter adalah bahwa data yang tak terlihat berasal dari distribusi yang sama dengan set pelatihan. Namun, dalam beberapa kasus praktis, distribusi set tes akan hampir berbeda dari set pelatihan.

Katakanlah untuk masalah multi-klasifikasi skala besar yang mencoba untuk mengklasifikasikan deskripsi produk menjadi sekitar 17.000 kelas. Set pelatihan akan memiliki nilai kelas yang sangat miring, sehingga beberapa kelas mungkin memiliki banyak contoh pelatihan, tetapi beberapa mungkin hanya memiliki sedikit. Misalkan kita diberi set uji dengan label kelas yang tidak diketahui dari klien. Kami mencoba untuk mengklasifikasikan setiap produk dalam set tes ke dalam salah satu dari 17.000 kelas, menggunakan classifier yang dilatih pada set pelatihan. Set tes mungkin akan memiliki distribusi kelas yang miring, tetapi mungkin sangat berbeda dari set pelatihan, karena mereka mungkin terkait dengan area bisnis yang berbeda. Jika dua distribusi kelas sangat berbeda, classifier terlatih mungkin tidak berfungsi dengan baik di set tes. Ini tampaknya sangat jelas dengan classifier Naif Bayes.

Apakah ada cara berprinsip untuk menangani perbedaan antara set pelatihan dan set tes tertentu yang diberikan untuk pengklasifikasi probabilistik? Saya mendengar bahwa "transductive SVM" melakukan hal serupa di SVM. Adakah teknik serupa untuk mempelajari classifier yang berkinerja terbaik pada set tes tertentu? Kemudian kita bisa melatih ulang classifier untuk set tes yang diberikan berbeda, seperti yang diizinkan dalam skenario praktis ini.

Fashandge
sumber

Jawaban:

17

Jika perbedaannya hanya terletak pada frekuensi kelas relatif dalam pelatihan dan set tes, maka saya akan merekomendasikan prosedur EM yang diperkenalkan dalam makalah ini:

Marco Saerens, Patrice Latinne, Christine Decaestecker: Menyesuaikan Output dari Penggolong ke New a Priori Probabilitas: Prosedur Sederhana. Komputasi Saraf 14 (1): 21-41 (2002) ( www )

Saya sudah menggunakannya sendiri dan ternyata bekerja dengan sangat baik (Anda memerlukan classifier yang menghasilkan kemungkinan keanggotaan kelas).

Jika distribusi pola dalam setiap kelas berubah, maka masalahnya dikenal sebagai "pergeseran kovariat" dan ada buku yang sangat bagus oleh Sugiyama dan Kawanabe . Banyak makalah dari grup ini yang tersedia secara online, tetapi saya sangat merekomendasikan untuk membaca buku juga jika Anda dapat memperoleh salinannya. Ide dasarnya adalah untuk menimbang data pelatihan sesuai dengan perbedaan kepadatan antara perangkat pelatihan dan perangkat tes (yang tidak diperlukan label). Cara sederhana untuk mendapatkan bobot adalah dengan menggunakan regresi logistik untuk memprediksi apakah suatu pola diambil dari set pelatihan atau set tes. Bagian yang sulit adalah dalam memilih berapa banyak bobot untuk diterapkan.

Lihat juga posting blog yang bagus oleh Alex Smola di sini .

Dikran Marsupial
sumber
Terima kasih banyak telah memberikan banyak petunjuk bermanfaat!
Fashandge
tidak masalah, situasi "non-standar" semacam ini benar-benar menarik, dan pergeseran kovariat adalah bidang penelitian yang sangat berguna.
Dikran Marsupial
1
Senang mengetahui hal itu. Meskipun "non-standar", dalam praktiknya realistis.
Fashandge
1

Saya menemukan tutorial yang sangat baik tentang adaptasi domain yang dapat membantu menjelaskan hal ini secara lebih rinci: http://sifaka.cs.uiuc.edu/jiang4/domain_adaptation/survey/da_survey.html Salah satu solusi yang belum disebutkan di sini didasarkan pada pada ADABOOST. Berikut ini tautan ke artikel aslinya: http://ftp.cse.ust.hk/~qyang/Docs/2007/tradaboost.pdf Ide dasarnya adalah menggunakan beberapa data uji baru untuk memperbarui pembelajaran dari data kereta. Artikel ini adalah ujung gunung es tentang transfer belajar - di mana Anda mengambil apa yang Anda ketahui dari satu tugas dan menerapkannya ke yang lain.

rentreg
sumber
1
Bisakah Anda memasukkan beberapa poin ringkasan utama dari tutorial pertama khususnya jika tautannya mati atau lokasinya berubah? Kami memiliki masalah dengan "tautan busuk" di sini di mana nilai beberapa jawaban kami yang lama telah menurun karena tautan berhenti berfungsi, jadi alangkah baiknya jika jawabannya dapat sebanyak mungkin
Silverfish