J'utilise means clustering pour regrouper les voix des locuteurs. Lorsque je compare un énoncé avec des données de haut-parleur groupées, j'obtiens une distorsion moyenne (basée sur la distance euclidienne). Cette distance peut être comprise entre . Je veux convertir cette distance en un score de similitude . Veuillez me guider sur la façon dont je peux y parvenir.[ 0 , ∞ ] [ 0 , 1 ]
clustering
k-means
distance
euclidean
Muhammad
la source
la source
Vous pouvez également utiliser: où setrouve la fonction de distance souhaitée.1edist
dist
la source
Il semble que vous vouliez quelque chose qui ressemble à la similitude cosinus, qui est en soi un score de similitude dans l'intervalle unitaire. En fait, il existe une relation directe entre la distance euclidienne et la similitude cosinus!
Observez cela
Alors que la similitude cosinus est oùθest l'angle entrexetx′.
Quand nous avons | | x - x ′ | | 2 = 2 ( 1 - f ( x , x ′ ) ) et f ( x , x ′ ) = x T x ′ ,||x||=||x′||=1,
donc
D'un point de vue informatique, il peut être plus efficace de simplement calculer le cosinus plutôt que la distance euclidienne, puis d'effectuer la transformation.
la source
Que diriez-vous d'un noyau gaussien ?
The distance∥x−x′∥ is used in the exponent. The kernel value is in the range [0,1] . There is one tuning parameter σ . Basically if σ is high, K(x,x′) will be close to 1 for any x,x′ . If σ is low, a slight distance from x to x′ will lead to K(x,x′) being close to 0.
la source
If you are using a distance metric that is naturally between 0 and 1, like Hellinger distance. Then you can use 1 - distance to obtain similarity.
la source