Seseorang berulang kali memilih dua item paling mirip dari tiga. Bagaimana memodelkan / memperkirakan jarak persepsi antar item?

8

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.

Rasmus Bååth
sumber
Saya pribadi tidak berpikir ada cara "standar" dalam tugas seperti ini. Anda dapat menemukan formula ad hoc yang masuk akal untuk fungsi jarak jauh untuk studi Anda. Anda bisa mendasarkan pada salah satu atau kedua gagasan: 1) item "serupa" adalah yang sering dipilih oleh orang yang sama; 2) item "mirip" adalah item yang cenderung dipilih daripada item lawan yang sama.
ttnphns
Hmm, saya berpikir bahwa Anda bisa melakukan beberapa hal multinomial, tapi itu belum apa-apa yang saya lakukan. Berpikir bahwa ini tampaknya seperti pengaturan eksperimental yang "alami", saya berharap mungkin sudah ada beberapa literatur tentang ini ...
Rasmus Bååth
Saya pikir penskalaan multidimensi akan mendekati cara "standar" dalam menangani hal ini, sejauh ada cara standar. Kesamaan yang diamati untuk setiap pasangan rangsangan adalah (mungkin beberapa transformasi) proporsi kali kedua rangsangan itu dinilai lebih mirip daripada rangsangan ke-3 yang dipilih secara acak. Model seperti itu dapat diimplementasikan dengan cepat dan mudah menggunakan, misalnya MASS::isoMDS()di R.
Jake Westfall

Jawaban:

7

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 integerA1,...,AN dimana Nadalah jumlah cobaan. Dalam kasus Anda, ada 3 kemungkinan hasil per percobaan. aku akan membiarkanAijadilah 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

p(A=1 | X1,X2,X3)exp(d(X2,X3)/σ)
dimana d(X2,X3) adalah jarak antara wajah 2 dan 3, dan σadalah parameter untuk jumlah "noise" (yaitu seberapa konsisten para peserta). Karena Anda menginginkan penyematan dalam ruang Euclidean, ukuran jarak Anda adalah:
d(x,y)=k(θxkθyk)2
dimana θx adalah embedding (tidak diketahui) wajah x. Parameter dari model ini adalahθ dan σ, yang dapat Anda perkirakan dari data melalui kemungkinan maksimum. Kertas yang digunakan gradien naik untuk menemukan maksimum.

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.

Tom Minka
sumber
+1 Menarik. Apakah Anda pikir seseorang dapat memecahkan terlebih dahuluddan kemudian menggunakan semacam penskalaan PCA / multidimensinal untuk menemukan penyematan titik yang tepat dalam ruang Euclidean dimensi rendah, mengingat matriks jarak? Atau lebih baik memperkirakan lokasi di ruang Euclidean secara langsung?
amoeba
Dengan jumlah data yang terbatas, lebih baik untuk memperkirakan lokasi di ruang Euclidean secara langsung. Meskipun saya setuju itu lebih mudah untuk dipecahkand, karena sudah ada alat terpisah untuk regresi logistik dan penskalaan multi-dimensi. Apakah metode yang lebih sederhana cukup baik tergantung pada seberapa banyak data yang Anda miliki. Untuk memiliki peluang memperkirakand, Anda akan membutuhkan setiap pasang wajah untuk tampil bersama dalam beberapa uji coba.
Tom Minka
1

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:

  • tidak preprocessing untuk menyelaraskan fitur yang sesuai
  • menangani warna dengan cara yang tepat
  • Pastikan gambar yang digunakan memiliki ukuran yang sama

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:

  • Anda bisa melatih RF dari input yang dikurangi dan menyebutnya baik.
  • Anda bisa melatih NN pada input yang dikurangi jika Anda menginginkan interpolasi yang lebih baik dan generalisasi daripada RF
  • Anda dapat menggunakan semacam transformasi linear pada input
  • ada beberapa lusin palu ML lainnya untuk memukulnya, tetapi ketika Anda palu setiap masalah terlihat seperti paku.

Lebih banyak pemikiran:

  • Saya akan ingin tahu tentang yang mana dari eigenfaces referensi set berkurang. Saya hanya ingin melihat data itu dan membiarkannya berbicara kepada saya.
  • Saya cukup ingin tahu tentang ukuran sampel Anda dan sifat variasi Anda. Jika Anda melihat 3 baris, maka memiliki 150 kolom tidak akan terlalu produktif. Jika Anda memiliki beberapa ribu baris maka Anda mungkin dalam kondisi sangat baik. Beberapa ratus baris dan Anda mungkin rata-rata. Saya harap Anda memperhitungkan semua sumber variasi dalam hal etnis, bentuk wajah, dan semacamnya.
  • Jangan takut melihat melalui model sederhana terlebih dahulu. Mereka bisa baik. Interpretasi dan penerapannya mudah dievaluasi. Eksekusi mereka dapat diuji dan dikonfirmasi dengan upaya yang jauh lebih sedikit daripada metode yang kompleks dan sangat sensitif.

PEMBARUAN:
Alat "kembar jahat acak" adalah "Boruta". ( tautan )

EngrStudent
sumber