Uma pessoa recebe três itens, digamos fotos de rostos, e é solicitada a escolher quais dos dois rostos são os mais semelhantes. Isso é repetido várias vezes com diferentes combinações de faces, onde cada face pode ocorrer em várias combinações. Dado esse tipo de dado, eu gostaria de modelar / estimar a diferença / semelhança entre as faces assumindo que cada face pudesse ser colocada em um espaço 2D (ou 3d, 4d etc.) onde a distância entre cada face reflita as opções de o participante.
Qual seria uma boa (talvez até padrão) maneira de modelar / estimar isso?
Quaisquer indicações para modelos / papéis e / ou pacotes de software são muito apreciadas.
modeling
dimensionality-reduction
psychometrics
similarities
Rasmus Bååth
fonte
fonte
MASS::isoMDS()
emR
.Respostas:
Uma boa abordagem para esse tipo de problema pode ser encontrada na seção 4 do artigo The Bayesian Image Retrieval System, PicHunter por Cox et al (2000). Os dados são um conjunto de resultados inteiros que é o número de tentativas. No seu caso, existem 3 resultados possíveis por julgamento. Vou deixar ser o índice do rosto que foi deixado de fora. A idéia é postular um modelo generativo para o resultado, com base em alguns parâmetros do modelo, e depois estimar os parâmetros por probabilidade máxima. Se mostrarmos rostos e o participante disser que são os mais semelhantes, o resultado será , com probabilidade N A i ( X 1 , X 2 , X 3 ) ( X 2 , X 3 ) A = 1 p ( A = 1 | X 1 , X 2 , X 3 ) ∝ exp ( - d ( X 2 , X 3 ) / σUMA1, . . . , AN N UMAEu (X1,X2,X3) (X2,X3) A=1 d
O modelo no artigo era um pouco diferente, pois usava atributos conhecidos das imagens para calcular a distância, em vez de uma incorporação desconhecida. Para aprender uma incorporação, você precisaria de um conjunto de dados muito maior, no qual cada face fosse mostrada várias vezes.
Este modelo básico assume que todos os ensaios são independentes e todos os participantes são iguais. Um bom benefício dessa abordagem é que você pode facilmente embelezar o modelo para incluir não independência, efeitos dos participantes ou outras covariáveis.
fonte
Pensamento:
Eu acho que o autofaces é uma maneira decente de converter o que pode ser um milhão de espaços dimensionais em algumas dezenas de dimensões.
Premissa:
Então, vamos supor que você esteja usando uma ferramenta decente eigenfaces, ou uma que:
Isso significa que você não possui "figuras" tanto quanto vetores de comprimento O (n = 50) de elementos em que os elementos são pesos para cada face de autenticidade que compõe a base.
Análise:
Primeiro, eu criaria vetores de 150 elementos (concatenação de peso) como entradas e vetores de 1 elemento (elementos de correspondência mais próxima) como saídas. Se os elementos 1 e 2 estivessem mais próximos, o valor de saída seria "12". Se os elementos 1 e 3 estivessem mais próximos, a saída seria "13". Se os elementos 2 e 3 estivessem mais próximos, a saída seria "23". Dado que existem apenas 3 saídas exclusivas, eu poderia re-mapeá-las para o caso 1 para "12", caso 2 para "13" e caso 3 para "23.
Segundo, eu gostaria de jogar fora o máximo de dados sem sentido possível. Isso significa que eu tentaria usar algo como florestas aleatórias para determinar quais das ~ 150 colunas não eram informativas. Existe também um "método aleatório de gêmeos malignos", mas eu não o tenho na ponta dos dedos da maneira que R me dá com florestas aleatórias. (Se você conhece uma boa biblioteca R para isso, convido você a colocá-la nos comentários).
Terceiro, na minha experiência pessoal, se você tem tamanhos de amostra decentes e uma base decente, uma floresta aleatória geralmente pode reduzir você para as ~ 30 variáveis de interesse, mesmo de 15 mil colunas. É aqui que você deve considerar qual é a forma geral da resposta.
Você pode tentar uma dúzia de raças de transformações dessas variáveis para mapear as entradas reduzidas para as saídas:
Mais pensamentos:
ATUALIZAÇÃO:
A ferramenta "random evil twin" é "Boruta". ( link )
fonte