Автор оригинала: 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 для расчета двух норм. Надеюсь, вы веселились с нами!