Kemungkinan seseorang akan menyukai gambar

11

Saya punya masalah berikut:
- Kami telah menetapkan N orang
- Kami telah menetapkan gambar K
- Setiap orang memberi peringkat sejumlah gambar. Seseorang mungkin suka atau tidak suka gambar (ini adalah dua kemungkinan). - Masalahnya adalah bagaimana menghitung kemungkinan bahwa beberapa orang menyukai gambar tertentu.

Saya akan memberi contoh menyajikan intuisi saya.
N = 4
K = 5
+ berarti orang menyukai gambar
- berarti orang tidak menyukai gambar
0 berarti orang tersebut belum ditanya tentang gambar, dan nilai itu harus diprediksi

x 1 2 3 4 5    
1 + - 0 0 +   
2 + - + 0 +  
3 - - + + 0  
4 - 0 - - -

Orang 1 mungkin akan menyukai gambar 3 karena, orang 2 memiliki preferensi yang sama dan orang 2 suka gambar 3.
Orang 4 mungkin tidak suka gambar 2 karena tidak ada orang lain yang menyukainya dan selain itu orang 4 tidak suka sebagian besar gambar.

Apakah ada metode yang diketahui, yang dapat digunakan untuk menghitung kemungkinan seperti itu?

Tomek Tarczynski
sumber
Mengingat pengalaman saya yang terbatas, saya tidak bisa memberikan jawaban yang pasti. Namun, saya percaya bahwa Anda dapat menggunakan data panel (karena Anda mempertimbangkan dalam variasi contoh Anda dalam individu dan antara individu) pendekatan dengan logit. Mungkin orang lain bisa menguraikan ini ...
penggoda
Contoh kecil Anda sangat berguna, tetapi saya menganggap dataset asli Anda lebih besar. Berapa jauh lebih besar, yaitu (kira-kira) seberapa besar N dan k asli Anda ?
onestop
N dan k bisa sangat besar, tetapi kekuatan komputasi tidak menjadi masalah.
Tomek Tarczynski

Jawaban:

6

Saya percaya ini adalah masalah standar Penyaringan Kolaboratif . Pencarian google memberikan ribuan hasil.

shabbychef
sumber
1
atau biclustering (+1).
chl
6

Ini sepertinya masalah yang bagus untuk pembelajaran mesin, jadi saya akan berkonsentrasi pada kelompok metode ini.

Ide pertama dan yang paling jelas adalah algoritma kNN. Di sana Anda pertama menghitung kesamaan di antara pemirsa dan kemudian memprediksi suara yang hilang dengan suara rata-rata pada gambar ini yang dibuat oleh pengguna yang sama. Untuk detailnya lihat Wikipedia .

Gagasan lain adalah menumbuhkan hutan acak tanpa pengawasan pada data ini (dengan cara apa pun, dengan atribut dalam gambar atau orang, apa pun yang lebih baik) dan menyalahkan data yang hilang berdasarkan struktur hutan; seluruh metode diimplementasikan dan dijelaskan dalam randomForestpaket R , cari rfImputefungsi.

Akhirnya, Anda dapat menyusun kembali masalah menjadi tugas klasifikasi sederhana, katakanlah buat setiap objek nol dalam matriks dan coba pikirkan beberapa deskriptor yang masuk akal (seperti suara rata-rata penonton, suara rata-rata gambar, suara terbanyak, kedua terbanyak, ..) Penampil serupa, sama dengan gambar, mungkin beberapa data eksternal (rona rata-rata gambar, usia pemilih, dll.) Dan kemudian coba berbagai pengklasifikasi pada data ini (SVM, RF, NB, ...).

Ada juga beberapa kemungkinan yang lebih kompleks; untuk tinjauan umum, Anda dapat mencari solusi hadiah Netflix (yang merupakan masalah serupa) solusi.


sumber