Seseorang diberikan tiga item, katakan gambar wajah, dan diminta untuk memilih mana dua dari tiga wajah yang paling mirip. Ini diulangi berkali-kali dengan kombinasi wajah yang berbeda, di mana setiap wajah dapat terjadi dalam banyak kombinasi. Dengan data seperti ini, saya ingin memodelkan / memperkirakan perbedaan / kesamaan antara wajah dengan mengasumsikan bahwa setiap wajah dapat ditempatkan dalam ruang 2D (atau 3d, 4d, dll.) Di mana jarak antara masing-masing wajah mencerminkan pilihan peserta.
Apa cara yang baik (bahkan mungkin standar) untuk membuat model / memperkirakan ini?
Setiap petunjuk terhadap model / makalah dan / atau paket perangkat lunak sangat dihargai.
modeling
dimensionality-reduction
psychometrics
similarities
Rasmus Bååth
sumber
sumber
MASS::isoMDS()
diR
.Jawaban:
Pendekatan yang baik untuk masalah semacam ini dapat ditemukan di bagian 4 dari makalah The Bayesian Image Retrieval System, PicHunter oleh Cox et al (2000). Data adalah serangkaian hasil integerSEBUAH1, . . . ,SEBUAHN dimana N adalah jumlah cobaan. Dalam kasus Anda, ada 3 kemungkinan hasil per percobaan. aku akan membiarkanSEBUAHsaya jadilah indeks wajah yang ditinggalkan. Idenya adalah mendalilkan model generatif untuk hasil yang diberikan beberapa parameter model, dan kemudian memperkirakan parameter dengan kemungkinan maksimum. Jika kita menunjukkan wajah(X1,X2,X3) dan peserta mengatakan itu (X2,X3) adalah yang paling mirip, maka hasilnya adalah A = 1 , dengan probabilitas
Model dalam makalah ini sedikit berbeda karena makalah tersebut menggunakan atribut gambar yang diketahui untuk menghitung jarak, daripada penyematan yang tidak diketahui. Untuk mempelajari embedding, Anda akan membutuhkan dataset yang jauh lebih besar, di mana setiap wajah ditampilkan beberapa kali.
Model dasar ini mengasumsikan bahwa semua percobaan independen dan semua peserta adalah sama. Manfaat bagus dari pendekatan ini adalah Anda dapat dengan mudah memperindah model untuk memasukkan non-independensi, efek partisipan, atau kovariat lainnya.
sumber
Pikir:
Saya pikir eigenfaces adalah cara yang layak untuk mengkonversi ruang jutaan dimensi menjadi beberapa puluh dimensi.
Tempat:
Jadi mari kita asumsikan bahwa Anda menggunakan alat eigenfaces yang layak, atau yang:
Ini berarti Anda tidak memiliki "gambar" sebanyak Anda memiliki vektor panjang O (n = 50) elemen dalam ukuran di mana elemen adalah bobot untuk setiap permukaan eigen yang terdiri dari basis.
Analisis:
Pertama saya akan membuat vektor 150 elemen (gabungan bobot) sebagai input dan vektor 1 elemen (elemen pencocokan terdekat) sebagai output. Jika elemen 1 dan 2 paling dekat maka nilai output akan menjadi "12". Jika elemen 1 dan 3 paling dekat maka outputnya adalah "13". Jika elemen 2 dan 3 paling dekat maka output akan menjadi "23". Karena hanya ada 3 keluaran unik, saya bisa memetakannya kembali ke case 1 untuk "12", case 2 untuk "13" dan case 3 untuk "23.
Kedua saya ingin membuang data yang tidak berarti sebanyak mungkin. Ini berarti bahwa saya akan mencoba menggunakan sesuatu seperti hutan acak untuk menentukan mana dari ~ 150 kolom yang tidak informatif. Ada juga "metode kembar kejahatan acak" tetapi saya tidak memilikinya di ujung jari saya seperti cara R memberi saya dengan hutan acak. (Jika Anda tahu perpustakaan R yang bagus untuk ini, saya mengundang Anda untuk memasukkannya ke dalam komentar).
Ketiga, dalam pengalaman pribadi saya, jika Anda memiliki ukuran sampel yang layak, dan basis yang layak, hutan acak biasanya dapat menurunkan Anda ke ~ 30 variabel yang diminati, bahkan dari sebanyak 15k kolom. Di sinilah Anda harus mempertimbangkan apa bentuk umum dari jawabannya.
Anda bisa mencoba selusin breed transformasi dari variabel-variabel ini untuk memetakan input yang berkurang ke output:
Lebih banyak pemikiran:
PEMBARUAN:
Alat "kembar jahat acak" adalah "Boruta". ( tautan )
sumber