Je souhaite calculer la distance de Hamming entre des vecteurs de très grande dimension. Un point de données est un vecteur appelé en tant que caractéristique. En supposant, chaque composant f_i
en tant qu'entier, il est représenté sous sa forme binaire ayant par exemple j
bits. Il existe n = 900
composants de fonction pour chaque point de données. La formulation du problème estMatlab: Comment implémenter une version vectorisée pour le calcul de la distance L1
La formule pour la distance de Hamming entre 2 différents vecteurs est donnée dans l'image ci-dessous où j = number of bits
Ex laisser n = 10
composants de fonction,
f = [3,4,1,4,5,6,6,7,1,14];
g = [1,3,5,6,7,8,11,3,10,2];
Chaque composant/élément du tableau est représenté par sa représentation binaire de 16 bits en utilisant dec2bin(f_i,l)
J'ai essayé d'utiliser dist = sum((f-g).^2,2)* 1/2^l
où l = 16 bits mais cela n'a pas de sens car il y a 2 sommations dans la formule.
Votre 'f' a 11 éléments,' g' a 10, et les deux devraient être à deux dimensions. Peux-tu expliquer? –
Il y avait une faute de frappe ..... les deux sont de la même taille. Désolé pour l'erreur –
Dans mon application, ils sont en deux dimensions et non en valeur entière. Je voulais savoir comment calculer la distance afin que je puisse l'étendre plus tard à mon application complète –