Метрики расстояния

Он используется как при обучении с учителем, так и при обучении без учителя, обычно для вычисления сходства между точками данных.

Типы показателей расстояния в машинном обучении

  1. Евклидово расстояние
  2. Манхэттен Расстояние
  3. Расстояние Минковского
  4. Расстояние Хэмминга
  5. Косинусное расстояние

Немногие алгоритмы машинного обучения используют метрики расстояния

  1. Алгоритмы кластеризации (например, K-средних и т. д.)
  2. Алгоритмы классификации (например, классификация KNN и т. д.)

Евклидово расстояние

Евклидово расстояние представляет собой кратчайшее расстояние между двумя точками.

Большинство алгоритмов машинного обучения, включая K-Means, используют этот показатель расстояния для измерения сходства между наблюдениями.

Манхэттенское расстояние

Манхэттенское расстояние — это сумма абсолютных разностей между точками по всем измерениям.

Расстояние Минковского

Расстояние Минковского - это обобщенная форма евклидова и манхэттенского расстояния.

  • Если Lamda = 1, то вычисляется Манхэттенское расстояние.
  • Если Lamda = 2, то вычисляется евклидово расстояние.

В пакете SciPy параметр p метрики расстояния Минковского пакета SciPy

  • Когда порядок (p) = 1, он будет представлять Манхэттенское расстояние.
  • Когда порядок (p) = 2, он будет представлять евклидово расстояние

Расстояние Хэмминга

Расстояние Хэмминга измеряет сходство между двумя строками одинаковой длины.

Расстояние Хэмминга между двумя строками одинаковой длины — это количество позиций, в которых соответствующие символы различны.

Допустим, у нас есть две строки: "евклидово" и "манхэттенское".

Поскольку длины этих строк равны, мы можем вычислить расстояние Хэмминга. Мы пойдем посимвольно и сопоставим строки. Первый символ обеих строк (e и m соответственно) отличается. Точно так же второй символ обеих строк (u и a) отличается. и так далее.

Внимательно посмотрите — семь символов разные, тогда как два символа (последние два символа) похожи: «евклид — ан» и «манхэтт — ан». Следовательно, Расстояние Хэмминга здесь будет равно 7.

Обратите внимание, что чем больше расстояние Хэмминга между двумя строками, тем более непохожими будут эти строки (и наоборот).

Косинусное расстояние / косинусное сходство

Косинусное сходство используется для определения сходства между документами или векторами. Математически он измеряет косинус угла между двумя векторами, спроецированными в многомерном пространстве.

Связь между косинусным сходством и косинусным расстоянием может быть определена ниже.

  1. Сходство уменьшается, когда расстояние между двумя векторами увеличивается.
  2. Сходство увеличивается, когда расстояние между двумя векторами уменьшается

1 — Косинусное сходство = косинусное расстояние, косинусное сходство = Cos (тета)

Случай 1. Когда угол между точками P1 и P2 равен 45 градусам, тогда

cosine_similarity = Cos 45 = 0,525

Случай 2: когда две точки P1 и P2 находятся далеко друг от друга и угол между точками составляет 90 градусов, тогда

cosine_similarity = Cos 90 = 0

Случай 3: когда две точки P1 и P2 очень близки и лежат на одной оси друг с другом, а угол между точками равен 0 градусов, тогда

cosine_similarity = Cos 0 = 1

Случай 4: когда точки P1 и P2 лежат друг напротив друга и угол между точками составляет 180 градусов, тогда

cosine_similarity= Cos 180 = -1

Случай 5: когда угол между точками P1 и P2 составляет 270 градусов, тогда

cosine_similarity = Cos 270 = 0

Случай 6: если угол между точками P1 и P2 составляет 360 градусов, то

cosine_similarity= Cos 360 = 1

Давайте передадим эти значения каждого угла, рассмотренного выше, и посмотрим косинусное расстояние между двумя точками. (1 — косинусное сходство = косинусное расстояние)

Заменим значения в приведенной выше формуле.

Случай 1: при Cos 45 градусов: Cosine_Distance = 1–0,525 = 0,475

Случай 2: когда Cos 90 градусов: Cosine_Distance = 1–0 = 1

Случай 3: когда Cos 0 Degree: Cosine_Distance = 1–1 = 0

Случай 4: когда Cos 180 градусов: Cosine_Distance = 1–(-1)= 2

Случай 5: когда Cos 270 градусов: Cosine_Distance = 1–0 = 1

Случай 6: когда Cos 360 градусов: Cosine_Distance = 1–1 = 0

Мы можем ясно видеть, что чем меньше расстояние, тем больше сходство (точки расположены близко друг к другу), а расстояние больше, две точки не похожи (далеко друг от друга).

Код GitHub:



Если статья была вам полезна, поставьте лайк. Спасибо и пожалуйста, следуйте:

Среда: https://medium.com/@sandipanpaul

GitHub: https://github.com/sandipanpaul21