Métriques de distance | Différentes métriques de distance en apprentissage automatique

Contenu

Les métriques de distance sont un élément clé de divers algorithmes d'apprentissage automatique. Ces métriques de distance sont utilisées à la fois dans l'apprentissage supervisé et non supervisé, généralement pour calculer la similitude entre les points de données.

Une métrique de distance efficace améliore les performances de notre modèle d'apprentissage automatique, soit pour trier soit pour regrouper des tâches.

graphique-6001193

Disons que nous voulons créer des clusters à l'aide de l'algorithme K-Means Clustering ou Nearest Neighbor pour résoudre un problème de classification ou de régression.. Comment définiriez-vous la similitude entre différentes observations ici? Comment pouvons-nous dire que deux points sont similaires l'un à l'autre?

Cela se produira si leurs caractéristiques sont similaires, vérité? Lorsque nous traçons ces points, seront plus proches les uns des autres au loin.

1i9iug40qfpx6x7tn8bfeuw-6881908

Donc, nous pouvons calculer la distance entre les points puis définir la similitude entre eux. Voici la question à un million de dollars: Comment calculons-nous cette distance et quelles sont les différentes métriques de distance en apprentissage automatique?

C'est ce à quoi nous entendons répondre dans cet article. nous analyserons 4 types de métriques de distance dans apprentissage automatique et comprendre comment ils fonctionnent dans Piton.

4 types de métriques de distance en apprentissage automatique

  1. Distance euclidienne
  2. Distance de Manhattan
  3. Distance de Minkowski
  4. Distance de frappe

Commençons par la métrique de distance la plus utilisée: la distance euclidienne.

1. Distance euclidienne

La distance euclidienne représente la distance la plus courte entre deux points.

La plupart des algorithmes d'apprentissage automatique, y compris K-Means, utiliser cette métrique de distance pour mesurer la similitude entre les observations. Disons que nous avons deux points comme indiqué ci-dessous:

1p1baa9px8pimhuuz1v6dma-8404435

Ensuite, la distance euclidienne entre ces deux points A et B sera:

1rwxprdfs0g0w68yadw-6cw-7888659

Voici la formule de la distance euclidienne:

1_ftwbnr74rtewnquhpg2rg-5567623

Nous utilisons cette formule lorsqu'il s'agit de 2 dimensions. Nous pouvons généraliser cela pour un espace à n dimensions comme:

1lhqbnp1grabz0viipm9uow-9440262

Où,

  • n = nombre de dimensions
  • pi, qi = points de données

Codons la distance euclidienne en Piton. Cela vous donnera une meilleure compréhension du fonctionnement de cette métrique de distance..

Nous allons d'abord importer les bibliothèques nécessaires. J'utiliserai la bibliothèque SciPy qui contient des codes pré-écrits pour la plupart des fonctions de distance utilisées en Python:

capture d

Ce sont les deux exemples de points que nous utiliserons pour calculer les différentes fonctions de distance. Calculons maintenant la distance euclidienne entre ces deux points:

capture d

Voici comment nous pouvons calculer la distance euclidienne entre deux points en Python. Comprenons maintenant la métrique de la deuxième distance, la distance de Manhattan.

2. Distance de Manhattan

La distance de Manhattan est la somme des différences absolues entre les points dans toutes les dimensions.

Nous pouvons représenter la distance de Manhattan comme:

1kysowlz9d7vfwebyi8cudg-4498453

La représentation ci-dessus étant bidimensionnelle, pour calculer la distance de Manhattan, on prendra la somme des distances absolues dans les directions x et y. Ensuite, la distance de Manhattan dans l'espace à deux dimensions est donnée par:

1i3kqozqyjq7fj5ihxplo5g-8774518

Et la formule généralisée pour un espace à n dimensions est donnée par:

19a3ni7-uq4njdqd4e1kxaa-2825350

Où,

  • n = nombre de dimensions
  • pi, qi = points de données

À présent, nous allons calculer la distance de Manhattan entre les deux points:

capture d

Notez que La distance de Manhattan est également connue sous le nom de distance de bloc de la ville. SciPy a une fonction appelée Pâté de maison qui renvoie la distance de Manhattan entre deux points.

Regardons maintenant la métrique de distance suivante: Distance de Minkowski.

3. Distance de Minkowski

La distance de Minkowski est la forme généralisée de la distance euclidienne et de Manhattan.

La formule de la distance de Minkowski est donnée par:

1fb22fnjrabguanpjcjweow-8974560

Ici, p représente l'ordre de la norme. Calculons la distance de Minkowski de l'ordre 3:

capture d

Le paramètre p de la métrique de distance SciPy Minkowski représente l'ordre de la norme. Lors de la commande (p) il est 1, représentera la distance de Manhattan et lorsque l'ordre dans la formule ci-dessus est 2, représentera la distance euclidienne.

Vérifions cela en Python:

capture d

Ici, vous pouvez voir que lorsque la commande est 1, Minkowski et Manhattan Distance sont les mêmes. Vérifions aussi la distance euclidienne:

capture d

Lorsque la commande est 2, on peut voir que les distances de Minkowski et euclidiennes sont les mêmes.

Jusqu'à maintenant, nous avons couvert les métriques de distance utilisées lorsqu'il s'agit de variables continues ou numériques. Mais Et si nous avions des variables catégorielles? Comment pouvons-nous décider de la similitude entre les variables catégorielles? C'est là que nous pouvons utiliser une autre métrique de distance appelée distance de Hamming.

4. Distance de frappe

La distance de Hamming mesure la similitude entre deux cordes de même longueur. La distance de Hamming entre deux chaînes de même longueur est le nombre de positions où les caractères correspondants sont différents.

Comprenons le concept avec un exemple. Disons que nous avons deux chaînes:

“Euclidienne” Oui “Manhattan”

Puisque la longueur de ces chaînes est égale, on peut calculer la distance de Hamming. Nous irons caractère par caractère et rejoindrons les chaînes. Le premier caractère des deux chaînes (e et m respectivement) c'est diférent. de la même manière, le deuxième caractère des deux chaînes (uya) c'est diférent. etc.

Regarde attentivement: sept caractères sont différents, tandis que deux personnages (les deux derniers caractères) ils sont similaires:

1pfr13q1dva6qeaiwjkltaa-4855817

Donc, la distance de Hamming ici sera 7. Notez que plus la distance de Hamming entre deux cordes est grande, plus ces chaînes seront différentes (et vice versa).

Voyons comment calculer la distance de Hamming de deux chaînes en Python. Premier, nous allons définir deux chaînes que nous utiliserons:

Ce sont les deux chaînes “euclidien” Oui “Manhattan” que nous avons également vu dans l'exemple. Calculons maintenant la distance de Hamming entre ces deux cordes:

capture d

Comme nous l'avons vu dans l'exemple précédent, la distance de Hamming entre "euclidien" et "manhattan" est 7. Nous avons également vu que la distance de Hamming ne fonctionne que lorsque nous avons des cordes de même longueur.

Voyons ce qui se passe lorsque nous avons des chaînes de différentes longueurs:

capture d

Vous pouvez voir que les longueurs des deux chaînes sont différentes. Voyons ce qui se passera lorsque nous essaierons de calculer la distance de Hamming entre ces deux cordes:

capture d

Cela renvoie une erreur indiquant que les longueurs des tableaux doivent être les mêmes. Pour cela, La distance de Hamming ne fonctionne que lorsque nous avons des chaînes ou des tableaux de même longueur.

Ce sont quelques-unes des mesures de similarité ou des matrices de distance qui sont généralement utilisées dans l'apprentissage automatique.

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.