Melhor medida de distância para usar

12

Contexto

Eu tenho dois conjuntos de dados que eu quero comparar. Cada elemento de dados nos dois conjuntos é um vetor contendo 22 ângulos (todos entre π e π ). Os ângulos referem-se a uma determinada configuração de pose humana, portanto, uma pose é definida por 22 ângulos articulares.

O que estou tentando finalmente fazer é determinar a "proximidade" dos dois conjuntos de dados. Portanto, para cada pose (vetor 22D) em um conjunto, quero encontrar seu vizinho mais próximo no outro conjunto e criar um gráfico de distância para cada um dos pares mais próximos.

Questões

  • Posso simplesmente usar a distância euclidiana?
    • Para ser significativo, presumo que a métrica de distância precisaria ser definida como: θ=|θ1θ2|modπ , onde|...|é valor absoluto e mod é módulo. Então, usando os 22 thetas resultantes, eu posso executar o cálculo da distância euclidiana padrão,t12+t22++t222 .
    • Isso está correto?
  • Outra métrica de distância seria mais útil, como qui-quadrado, ou Bhattacharyya, ou alguma outra métrica? Em caso afirmativo, você pode fornecer algumas dicas sobre o porquê.
Josh
fonte
3
Como uma nota lateral: eu não acho que você quer dizer . Em vez disso, algo como min { | θ 1 - θ 2 | , 2 π - | θ 1 - θ 2 | } . |θ1θ2|modπmin{|θ1θ2|,2π|θ1θ2|}
Erik P.
4
Em vez de trabalhar com ângulos, sugiro converter primeiro as coordenadas (x, y) no círculo unitário. Você pode calcular normalmente (distâncias e similares), e a média não é um problema como os ângulos.
caracal
2
A sugestão de @Josh Erik P. é boa. Como alternativa, considere cada ângulo como um ponto ( cos ( θ ) , sin ( θ ) ) no círculo unitário e calcule as distâncias euclidianas entre eles usando a fórmula usual (pitagórica). A diferença entre essas distâncias e as distâncias angulares não deve importar. (Acredito que isso também possa ser o que Caracal sugeriu.)θ(cos(θ),sin(θ))
whuber
2
@ Josh A média de, por exemplo, e 7 π / 4 é π . Em muitas circunstâncias, isso não faz sentido, e deve ser 0 . Em sua situação específica, isso pode não ser um problema, pois talvez as articulações humanas não tenham uma amplitude de movimento além de π . Além disso, no seu caso, talvez você queira que a média acima seja π, pois o movimento da articulação é unidirecional. A sugestão da @ whuber é exatamente o que eu quis dizer. π/47π/4π0ππ
Caracal
3
Seu problema provavelmente ficará muito mais fácil de resolver se você puder especificar as consequências de "errar". Então, se você diz que os conjuntos de dados são iguais ou semelhantes, mas na verdade não são, o que acontecerá com você? Vai depender de "quão errada" foi sua decisão? O que acontecerá se você declarar os dados / poses diferentes, mas eles são de fato iguais ou semelhantes? O que está perdido? responder a essas perguntas ajudará a determinar o que importa para a comparação que você deseja fazer. Isso garante que você esteja respondendo à pergunta certa.
probabilityislogic

Respostas:

5

você pode calcular a matriz de covariância para cada conjunto e, em seguida, calcular a distância de Hausdorff entre os dois conjuntos usando a distância de Mahalanobis.

A distância de Mahalanobis é uma maneira útil de determinar a similaridade de uma amostra desconhecida configurada para uma conhecida. Difere da distância euclidiana, pois leva em consideração as correlações do conjunto de dados e é invariável em escala.

skyde
fonte
3

O que você está tentando fazer com as informações do vizinho mais próximo?

Eu responderia a essa pergunta e depois compararia as diferentes medidas de distância à luz disso.

Por exemplo, suponha que você esteja tentando classificar poses com base na configuração da articulação e que os vetores da mesma pose estejam próximos. Uma maneira direta de avaliar a adequação de diferentes métricas de distância é usar cada uma delas em um classificador KNN e comparar as precisões fora da amostra de cada um dos modelos resultantes.

Benhamner
fonte
2

Parece que é semelhante a uma certa aplicação do Information Retrieval (IR). Alguns anos atrás, participei de uma palestra sobre o reconhecimento da marcha que soa semelhante ao que você está fazendo. Na recuperação de informações, "documentos" (no seu caso: dados de ângulo de uma pessoa) são comparados a alguma consulta (que no seu caso poderia ser "existe uma pessoa com dados de ângulo (.., ..)"). Em seguida, os documentos são listados na ordem do que corresponder ao mais próximo ao que corresponder ao menos. Isso, por sua vez, significa que um componente central do IR está colocando um documento em algum tipo de espaço vetorial (no seu caso: espaço angular) e comparando-o com uma consulta específica ou exemplo de documento ou medindo sua distância. (Veja abaixo.) Se você tiver uma definição sólida da distância entre dois vetores individuais, tudo o que você precisa fazer é criar uma medida para a distância de dois conjuntos de dados. (Tradicionalmente na RI, a distância no modelo de espaço vetorial é calculada pela medida do cosseno ou pela distância euclidiana, mas não me lembro como eles fizeram isso nesse caso.) Na RI, também existe um mecanismo chamado "feedback de relevância" que, conceitualmente, , trabalha com a distância de dois conjuntos de documentos. Esse mecanismo normalmente usa uma medida de distância que resume todas as distâncias individuais entre todos os pares de documentos (ou no seu caso: vetores de pessoas). Talvez isso seja útil para você.

A página a seguir apresenta alguns documentos que parecem relevantes para o seu problema: http://www.mpi-inf.mpg.de/~mmueller/index_publications.html Especialmente este http://www.mpi-inf.mpg.de/ ~ mmueller / publicações / 2006_DemuthRoederMuellerEberhardt_MocapRetrievalSystem_ECIR.pdf parece interessante. A palestra de Müller em que participei menciona medidas de similaridade de Kovar e Gleicher chamadas "nuvem de pontos" (consulte http://portal.acm.org/citation.cfm?id=1186562.1015760&coll=DL&dl=ACM ) e uma chamada "quaternions" . Espero que ajude.

xmjx
fonte
Seria útil ter a referência se você conseguir encontrá-la. Obrigado.
217 Josh
2

Esse problema é chamado de aprendizado métrico à distância. Cada métrica de distância pode ser representada como(xy)tA(xy)A é semi-definido positivo. Métodos nesta subárea, aprenda o melhorApara seus dados. De fato, se o idealUMApor ser uma matriz de identidade, não há problema em usar distâncias euclidianas. Se for a covariância inversa, seria ideal usar a distância de Mahalanobis, e assim por diante. Portanto, um método de aprendizado métrico à distância deve ser usado para aprender o melhorUMA, para aprender a métrica da distância certa.

carro fúnebre
fonte
0

Um problema ao usar os ângulos como proxy da forma é que pequenas perturbações nos ângulos podem levar a grandes perturbações na forma. Além disso, configurações de ângulo diferentes podem resultar na mesma forma (ou similar).

Suresh Venkatasubramanian
fonte