Escore e semelhança da distância euclidiana

13

Estou apenas trabalhando com o livro Inteligência Coletiva (de Toby Segaran) e me deparei com a pontuação da distância euclidiana. No livro, o autor mostra como calcular a semelhança entre duas matrizes de recomendação (ou seja, .pessoa×filmePonto)

Ele calcula a distância euclidiana para duas pessoas e p 2 por d ( p 1 , p 2 ) = p1p2

d(p1,p2)=Eu  item(sp1-sp2)2

Isso faz completamente sentido para mim. O que eu realmente não entendo é por que ele calcula no final o seguinte para obter uma "semelhança baseada na distância":

11+d(p1,p2)

Então, de alguma forma, entendo que essa deve ser a conversão de uma distância para uma semelhança (certo?). Mas por que o formulário se parece com isso? Alguém pode explicar isso?

navige
fonte
Pode haver muitas maneiras de converter dissimilaridades e semelhanças entre si - a fórmula específica depende do que faz sentido para você e para as análises futuras. Nesse livro, o autor preferiu a fórmula que você mostra por algum motivo; alguém em uma situação diferente pode escolher outra fórmula. A maneira mais geometricamente correta de converter a distância euclidiana em uma semelhança se seguiria ao teorema do cosseno em condição centrada nos dados e é descrita aqui no par. 1.
ttnphns
Está bem! Mas se eu entendi direito, você realmente não converte a distância euclidiana em uma semelhança, mas apenas usa uma função diferente que retorna valores dentro de 0 e 1 (por causa do cosseno), certo? Quero dizer, parece-me diferente do que calcular todas as distâncias e depois convertê-las em uma semelhança, por exemplo, interpolando entre a menor e a maior distância. Certo?
navige
Se você possui uma matriz quadrada simétrica de distâncias euclidianas quadradas e realiza uma operação de "dupla centralização", obtém a matriz dos produtos escalares que seriam observados quando você colocasse a origem do espaço euclidiano no centro de sua configuração de objetos. Esses produtos escalares são semelhanças do tipo angular. Eles são muito parecidos com covariâncias . Eles não estão vinculados ao intervalo de 0 a 1, podem ser negativos, positivos e os elementos diagonais não são necessariamente 1. Ainda assim, são semelhanças.
ttnphns

Respostas:

12

O inverso é mudar de distância para semelhança.

O 1 no denominador é para que o valor máximo seja 1 (se a distância for 0).

A raiz quadrada - não tenho certeza. Se a distância é geralmente maior que 1, a raiz tornará grandes distâncias menos importantes; se a distância for menor que 1, as distâncias maiores serão mais importantes.

Peter Flom - Restabelece Monica
fonte
Desculpe! A raiz quadrada estava errada. O autor realmente colocou na segunda fórmula, mas a deixou na primeira. Portanto, ele não deveria estar lá
navige 23/03
Sim, mas sua dica ao definir o valor máximo para 1 faz sentido! Obrigado!
navige
4

Para medir a distância e a semelhança (no sentido semântico), a primeira coisa a verificar é se você está se movendo em um espaço euclidiano ou não. Uma maneira empírica de verificar isso é estimar a distância de um par de valores para o qual você conhece o significado.

Claudio Martines
fonte
1

Como você mencionou, você conhece o cálculo da distância de Euclidence, por isso estou explicando a segunda fórmula.

A fórmula euclidiana calcula a distância, que será menor para pessoas ou itens mais semelhantes. Por exemplo, se são iguais, a distância é 0 e, totalmente diferente, é maior que 0.

No entanto, precisamos de uma função que dê um valor mais alto, pois são semelhantes. Isso pode ser feito adicionando 1 à função (para que você não obtenha um erro de divisão por zero) e invertendo-o. Como se a distância 0 e a pontuação de similaridade 1/1 = 1

user10009133
fonte
Eu não entendo essa resposta.
Michael R. Chernick
ok, digamos que a distância euclidiana entre o item 1 e o item 2 é 4 e entre o item 1 e o item 3 é 0 (significa que são 100% semelhantes). Essa é a distância dos itens em um espaço virtual. menor o valor da distância significa que eles estão próximos um do outro significa maior probabilidade de similar. Agora queremos um valor numérico tal que forneça um número maior se forem muito semelhantes. Para que possamos inversar o valor da distância. Mas e se tivermos distância é 0, é por isso que adicionamos 1 no denominador. assim pontuação de semelhança para o item 1 e 2 é 1 / (1 + 4) = 0,2 e para o item 1 e número 3 é 1 / (1 + 0) = 0
user10009133
Talvez você esteja falando de algum tipo de medida de distância, mas a distância euclidiana segue uma fórmula específica em relação a um espaço vetorial.
Michael R. Chernick 08/08/19
ESTOU EXPLICANDO por que calculamos no final o seguinte para obter uma "semelhança baseada na distância": 1/1+d(p1,p2)
user10009133