Une personne sélectionne à plusieurs reprises les deux éléments les plus similaires sur trois. Comment modéliser / estimer une distance perceptuelle entre les objets?

8

Une personne reçoit trois articles, par exemple des images de visages, et est invitée à choisir quels sont les deux visages les plus similaires. Cette opération est répétée un grand nombre de fois avec différentes combinaisons de visages, chaque visage pouvant apparaître dans de nombreuses combinaisons. Compte tenu de ce type de données, je voudrais modéliser / estimer la différence / similitude entre les faces en supposant que chaque face pourrait être placée dans un espace 2D (ou 3d, 4d, etc.) où la distance entre chaque face reflète les choix de le participant.

Quelle serait une bonne façon (peut-être même standard) de modéliser / estimer cela?

Tout pointeur vers des modèles / documents et / ou progiciels est très apprécié.

Rasmus Bååth
la source
Personnellement, je ne pense pas qu'il existe une méthode "standard" dans des tâches comme celle-ci. Vous pourriez inventer une formule ad hoc raisonnable pour une fonction de distance pour votre étude. Vous pouvez vous baser sur l'une ou les deux notions: 1) les éléments "similaires" sont ceux qui sont souvent sélectionnés par une même personne; 2) Les objets "similaires" sont ceux qui ont tendance à être sélectionnés parmi les mêmes objets adverses.
ttnphns
Hmm, je pensais que vous pourriez faire quelque chose de multinomial, mais ce n'est pas encore quelque chose que j'ai élaboré. Pensant que cela semble être une configuration expérimentale assez "naturelle", j'espérais qu'il pourrait déjà y avoir de la littérature à ce sujet ...
Rasmus Bååth
Je pense que la mise à l'échelle multidimensionnelle serait proche d'une manière "standard" de gérer cela, dans la mesure où il existe une méthode standard. La similitude observée pour chaque paire de stimuli est (peut-être une certaine transformation de) la proportion de fois où ces 2 stimuli sont jugés plus similaires qu'un troisième stimulus sélectionné au hasard. Un tel modèle pourrait être mis en œuvre rapidement et facilement à l'aide, par exemple, MASS::isoMDS()de R.
Jake Westfall

Réponses:

7

Une bonne approche de ce type de problème peut être trouvée dans la section 4 de l'article The Bayesian Image Retrieval System, PicHunter de Cox et al (2000). Les données sont un ensemble de résultats entiers où est le nombre d'essais. Dans votre cas, il y a 3 résultats possibles par essai. Je vais laisser l'index du visage qui a été laissé de côté. L'idée est de postuler un modèle génératif pour le résultat en fonction de certains paramètres du modèle, puis d'estimer les paramètres par maximum de vraisemblance. Si nous montrons des visages et que le participant dit que sont les plus similaires, alors le résultat est , avec probabilité A1,...,ANNAi(X1,X2,X3)(X2,X3)A=1

p(A=1 | X1,X2,X3)exp(d(X2,X3)/σ)
où est la distance entre les faces 2 et 3, et est un paramètre pour la quantité de «bruit» (c'est-à-dire la cohérence des participants). Puisque vous voulez une intégration dans l'espace euclidien, votre mesure de distance serait: où est le (inconnu ) encastrement de face . Les paramètres de ce modèle sont et , que vous pouvez estimer à partir des données via le maximum de vraisemblance. Le papier a utilisé une ascension en gradient pour trouver le maximum. d(X2,X3)σ
d(x,y)=k(θxkθyk)2
θxxθσ

Le modèle dans le papier était légèrement différent car le papier utilisait des attributs connus des images pour calculer la distance, plutôt qu'une incorporation inconnue. Pour apprendre une intégration, vous auriez besoin d'un ensemble de données beaucoup plus grand, dans lequel chaque face était affichée plusieurs fois.

Ce modèle de base suppose que tous les essais sont indépendants et que tous les participants sont identiques. Un bon avantage de cette approche est que vous pouvez facilement embellir le modèle pour inclure la non-indépendance, les effets des participants ou d'autres covariables.

Tom Minka
la source
+1 Intéressant. Pensez-vous que l'on peut d'abord résoudredpuis utiliser une sorte de mise à l'échelle PCA / multidimensinal pour trouver une intégration appropriée des points dans un espace euclidien de faible dimension, étant donné la matrice des distances? Ou vaut-il mieux estimer directement les emplacements dans l'espace euclidien?
amoeba
Avec des quantités limitées de données, il est préférable d'estimer directement les emplacements dans l'espace euclidien. Bien que je convienne, il est plus simple de résoudre d'abordd, car il existe déjà des outils distincts pour la régression logistique et la mise à l'échelle multidimensionnelle. La qualité de la méthode la plus simple dépend de la quantité de données dont vous disposez. Pour avoir une chance d'estimerd, vous auriez besoin que chaque paire de visages apparaisse ensemble dans plusieurs essais.
Tom Minka
1

Pensée:

Je pense que les faces propres sont un moyen décent de convertir ce qui peut être des espaces à plusieurs millions de dimensions en quelques dizaines de dimensions.

Prémisse:

Supposons donc que vous utilisez un outil aux faces propres décent, ou un outil qui:

  • fait le prétraitement pour aligner les fonctionnalités appropriées
  • gère les couleurs de manière appropriée
  • s'assure que les images utilisées sont toutes de la même taille

Cela signifie que vous n'avez pas "d'images" autant que vous avez des vecteurs de longueur O (n = 50) éléments de taille où les éléments sont des poids pour chaque face propre constituant la base.

Une analyse:

Tout d'abord, je créerais des vecteurs à 150 éléments (concaténation de poids) comme entrées et des vecteurs à 1 élément (éléments de correspondance la plus proche) comme sorties. Si les éléments 1 et 2 étaient les plus proches, la valeur de sortie serait "12". Si les éléments 1 et 3 étaient les plus proches, la sortie serait "13". Si les éléments 2 et 3 étaient les plus proches, la sortie serait "23". Étant donné qu'il n'y a que 3 sorties uniques, je pourrais les re-mapper au cas 1 pour "12", au cas 2 pour "13" et au cas 3 pour "23.

Deuxièmement, je voudrais jeter autant de données inutiles que possible. Cela signifie que j'essaierais d'utiliser quelque chose comme des forêts aléatoires pour déterminer laquelle des ~ 150 colonnes n'était pas informative. Il y a aussi une "méthode du mal jumeau aléatoire" mais je ne l'ai pas à portée de main comme R me donne avec des forêts aléatoires. (Si vous connaissez une bonne bibliothèque R pour cela, je vous invite à la mettre dans les commentaires).

Troisièmement, dans mon expérience personnelle, si vous avez des tailles d'échantillon décentes et une base décente, une forêt aléatoire peut généralement vous ramener aux ~ 30 variables d'intérêt, même à partir de 15 000 colonnes. C'est là que vous devez considérer quelle est la forme générale de la réponse.

Vous pouvez essayer une douzaine de races de transformations de ces variables pour mapper les entrées réduites aux sorties:

  • vous pourriez former un RF des entrées réduites et l'appeler bon.
  • vous pourriez former un NN sur les entrées réduites si vous vouliez une meilleure interpolation et généralisation en douceur qu'un RF
  • vous pouvez utiliser une sorte de transformation linéaire sur les entrées
  • il y a quelques dizaines d'autres marteaux ML pour le frapper, mais quand vous êtes un marteau, chaque problème ressemble à un clou.

Plus de réflexions:

  • Je serais curieux de savoir laquelle des faces propres les références d'ensemble réduites. Je voudrais juste voir ces données et les laisser me parler.
  • Je suis assez curieux de connaître la taille de vos échantillons et la nature de votre variation. Si vous regardez 3 lignes, avoir 150 colonnes ne sera pas trop productif. Si vous avez quelques milliers de lignes, vous pourriez être en grande forme. Quelques centaines de lignes et vous pourriez être moyen. J'espère que vous avez expliqué toutes les sources de variation en termes d'ethnicité, de forme du visage, etc.
  • N'ayez pas peur de regarder d'abord des modèles simples. Ils peuvent être bons. Leur interprétation et leur applicabilité sont facilement évaluables. Leur exécution peut être testée et confirmée avec beaucoup moins d'efforts que des méthodes complexes et très sensibles.

MISE À JOUR:
L'outil "jumeau maléfique aléatoire" est "Boruta". ( lien )

EngrStudent
la source