Рубрики
Без рубрики

Норма вектора в Python – шаги для расчета

Норма вектора относится к длине или величине вектора. Существуют разные способы рассчитать длину. Норма вектора является

Автор оригинала: Pankaj Kumar.

Норма вектора относится к длине или величине вектора. Существуют разные способы рассчитать длину. Норма вектора – неотрицательное значение. В этом руководстве мы узнаем, как рассчитать различные типы норм вектора.

Норма вектора x обозначается как: ‖ х

Норма вектора – это мера ее расстояния от происхождения в векторном пространстве.

Для расчета нормы вы можете либо использовать Numpy или Scipy. Оба предлагают аналогичную функцию для расчета нормы.

В этом руководстве мы рассмотрим два типа норм, которые наиболее распространены в области машинного обучения.

Эти:

  • Л 1 Норма
  • Л 2 Норма

Как рассчитать норму L1 вектора?

Н1 норм вектора также известен как Манхэттен Расстояние или Такси Норма Отказ Обозначение для л 1 Норма вектора x – ‖ х1 Отказ

Чтобы рассчитать норму, вам нужно взять Сумма абсолютных векторных значений.

Давайте возьмем пример, чтобы понять это:

a = [1,2,3,4,5]

Для массива выше, L 1 Норма будет:

1+2+3+4+5 = 15 

Давайте возьмем еще один пример:

a = [-1,-2,3,4,5]

L . 1 Норма этого массива:

|-1|+|-2|+3+4+5 = 15 

L . 1 Норма для обоих векторов такая же, как мы рассмотрим абсолютные значения при вычислении его.

Реализация Python норм L1

Посмотрим, как мы можем рассчитать l 1 Норма вектора в Python.

Использование Numpy

Код Python для расчета l 1 Норма, используя Numpy выглядит следующим образом:

from numpy import array
from numpy.linalg import norm
arr = array([1, 2, 3, 4, 5])
print(arr)
norm_l1 = norm(arr, 1)
print(norm_l1)

Выход:

[1 2 3 4 5]
15.0

Давайте попробуем вычислить его для массива с отрицательными записями в нашем примере выше.

from numpy import array
from numpy.linalg import norm
arr = array([-1, -2, 3, 4, 5])
print(arr)
norm_l1 = norm(arr, 1)
print(norm_l1)

Выход:

[-1 -2  3  4  5]
15.0

Использование Scipy

Для расчета l 1 Использование Scipy не сильно отличается от реализации выше.

Код для такого же есть:

from numpy import array
from scipy.linalg import norm
arr = array([-1, -2, 3, 4, 5])
print(arr)
norm_l1 = norm(arr, 1)
print(norm_l1)

Выход:

[-1 -2  3  4  5]
15.0

Код точно похоже на Numpy.

Как рассчитать норму L2 вектора?

Обозначение для L 2 Норма вектора x – ‖ х2 Отказ

Для расчета l 2 Норма вектора, возьмите квадратный корень из суммы квадратных векторных значений.

Другое имя для л 2 Норма вектора – это Евклидово расстояние. Это часто используется для расчета ошибки в моделях машинного обучения.

Ошибка средневековой квадратной коренности является евклидое расстояние между фактическим выходом модели и ожидаемым выходом.

Целью модели обучения машины является снижение этой ошибки.

Давайте рассмотрим пример, чтобы понять это.

a = [1,2,3,4,5]

L . 2 Норма для вышеизложенного является:

sqrt(1^2 + 2^2 + 3^2 + 4^2 + 5^2) = 7.416

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

Реализация Python

Реализация Python выглядит следующим образом:

from numpy import array
from numpy.linalg import norm
arr = array([1, 2, 3, 4, 5])
print(arr)
norm_l2 = norm(arr)
print(norm_l2)

Выход:

[1 2 3 4 5]
7.416198487095663

Здесь мы можем увидеть это по умолчанию Норма метода Возвращает L 2 норма.

Заключение

Это руководство было о расчете L 1 и л 2 Нормы в Python. Мы использовали Numpy и Scipy для расчета двух норм. Надеюсь, вы веселились с нами!