Векторные вычисления важны либо напрямую, либо как метод, который вносит небольшие изменения в алгоритм обучения, чтобы модель лучше обобщала.
Векторы используются во всей области машинного обучения при формулировании алгоритмов и процессов для достижения оптимальной целевой переменной (y) после обучения алгоритма.
Что такое векторная норма?
Операции с векторной матрицей часто требуют, чтобы вы вычислили длину (или размер) вектора. В двумерном пространстве длина вектора определяется как,
Квадратный корень из суммы квадратов горизонтальной и вертикальной составляющих.
Длина вектора называется величиной вектора или нормой вектора.
Длина вектора всегда неотрицательна. Для ненулевых векторов величина всегда положительна, а для нулевых векторов всегда равна нулю.
Нулевой вектор в трехмерном пространстве равен (0,0,0).
Существует несколько различных типов вычислений векторных норм, используемых в машинном обучении. Эти
- Норма вектора L1
- Норма вектора L2
- Максимальная норма вектора.
Вектор L1 Норма
Норма вектора L1 также известна как норма такси или норма Манхэттена.
Норма L1 рассчитывается как сумма абсолютных значений компонент вектора.
Следует отметить, что в норме L1 1
на самом деле является верхним индексом, поэтому норму L1 лучше записывать как норму L¹.
Например, в 2D-пространстве, если вектор v = x + y, где x - компонент в направлении x, а y - компонент в направлении y.
В этом случае векторная норма L¹ будет
l¹(v) = ||v||₁ = |x| + |y|
Норма L¹ может быть реализована с использованием numpy
следующим образом:
import numpy as np from numpy.linalg import norm v = np.array([2,8,9]) l1_norm = norm(v, 1) print(l1_norm)
Второй параметр нормы - 1
, который говорит, что NumPy должен использовать L¹ norm для вычисления величины.
В этом случае наш код будет печатать 19
.
Вектор L2 Норма
Векторная норма L2 также известна как евклидова норма.
Норма L2 вычисляется как квадратный корень из суммы квадратов компонент вектора.
Так же, как норма L¹, в норме L2 2
фактически является верхним индексом, поэтому норму L2 лучше записывать как норму L².
Например, в 2D-пространстве, если вектор v = x + y, где x - компонент в направлении x, а y - компонент в направлении y.
В этом случае векторная норма L² будет
l² (v) = || v || ₂ = sqrt ((| x | ² + | y | ²))
Норма L² может быть реализована с использованием numpy
следующим образом:
import numpy as np from numpy.linalg import norm v = np.array([2,10,11]) l2_norm = norm(v, 2) print(l2_norm)
Второй параметр нормы - 2
, который сообщает, что NumPy должен использовать норму L² для вычисления величины.
В этом случае наш код будет печатать 15
.
Вектор Макс Норма
Длину вектора можно вычислить, используя максимальную норму, которую можно записать как L (inf)
L (inf) = || v || (бесконечность)
Максимальная норма рассчитывается как максимальное значение вектора.
Например, в 2D-пространстве, если вектор v = x + y, где x - компонент в направлении x, а y - компонент в направлении y.
Итак, || v || инф = макс (| х |, | у |)
Норма L max может быть реализована с использованием numpy
следующим образом:
import numpy as np from numpy.linalg import norm v = np.array([2,10,11]) lmax_norm = norm(v, np.inf) print(lmax_norm)
Второй параметр нормы - np.inf
, который сообщает, что NumPy должен использовать норму L max для вычисления величины.
В этом случае наш код будет печатать 11
.
В этом блоге мы узнали о векторных нормах и различных способах их вычисления для различных приложений в машинном обучении.
Обязательно попробуйте код Python с разными значениями, чтобы лучше понять, как они работают.