Дата публикации 2018-02-05
Вычисление длины или величины векторов часто требуется либо непосредственно как метод регуляризации в машинном обучении, либо как часть более широких векторных или матричных операций.
В этом уроке вы узнаете, как рассчитать длину или величину вектора, называемую векторной нормой.
После завершения этого урока вы узнаете:
Давайте начнем.
Этот урок разделен на 4 части; они есть:
Вычисление размера или длины вектора часто требуется либо непосредственно, либо как часть более широкой операции над вектором или векторной матрицей.
Длина вектора называется векторной нормой или величиной вектора.
Длина вектора представляет собой неотрицательное число, которое описывает экстент вектора в пространстве, и иногда его называют величиной или нормой вектора.
- Страница 112,Руководство по линейной алгебре, 2017
Длина вектора всегда является положительным числом, за исключением вектора со всеми нулевыми значениями. Он рассчитывается с использованием некоторой меры, которая суммирует расстояние вектора от начала векторного пространства. Например, источником векторного пространства для вектора с 3 элементами является (0, 0, 0).
Обозначения используются для представления векторной нормы в более широких вычислениях, а тип вычисления векторной нормы почти всегда имеет свои собственные уникальные обозначения.
Мы рассмотрим несколько общих вычислений векторной нормы, используемых в машинном обучении.
Длина вектора может быть вычислена с использованием нормы L1, где 1 - верхний индекс L, например, L ^ 1.
Обозначения для нормы L1 вектора: || v || 1, где 1 - индекс. Таким образом, эту длину иногда называют нормой такси или нормой Манхэттена.
l1(v) = ||v||1
Норма L1 рассчитывается как сумма абсолютных значений вектора, где абсолютное значение скаляра использует обозначение | a1 |. По сути, норма - это вычисление манхэттенского расстояния от начала векторного пространства.
||v||1 = |a1| + |a2| + |a3|
Норма L1 вектора может быть вычислена в NumPy с помощью функции norm () с параметром для указания порядка нормы, в данном случае 1.
# l1 norm of a vector
from numpy import array
from numpy.linalg import norm
a = array([1, 2, 3])
print(a)
l1 = norm(a, 1)
print(l1)
Сначала определяется вектор 1 × 3, затем вычисляется норма вектора L1.
При выполнении примера сначала печатается определенный вектор, а затем норма L1 вектора.
[1 2 3]
6.0
Норма L1 часто используется при подборе алгоритмов машинного обучения в качестве метода регуляризации, например метод, позволяющий сохранять коэффициенты модели малыми, и, в свою очередь, модель менее сложной.
Длина вектора может быть вычислена с использованием нормы L2, где 2 - верхний индекс L, например, L ^ 2.
Обозначения для L2-нормы вектора: || v || 2, где 2 - индекс.
l2(v) = ||v||2
Норма L2 вычисляет расстояние векторной координаты от начала векторного пространства. Как таковая, она также известна как евклидова норма, поскольку она рассчитывается как евклидово расстояние от начала координат. Результатом является положительное значение расстояния.
Норма L2 рассчитывается как квадратный корень из суммы квадратов векторных значений.
||v||2 = sqrt(a1^2 + a2^2 + a3^2)
Норму L2 вектора можно рассчитать в NumPy с помощью функции norm () с параметрами по умолчанию.
# l2 norm of a vector
from numpy import array
from numpy.linalg import norm
a = array([1, 2, 3])
print(a)
l2 = norm(a)
print(l2)
Сначала определяется вектор 1 × 3, затем вычисляется норма вектора L2.
При выполнении примера сначала печатается определенный вектор, а затем норма L2 вектора.
[1 2 3]
3.74165738677
Как и норма L1, норма L2 часто используется при подборе алгоритмов машинного обучения в качестве метода регуляризации, например метод, позволяющий сохранять коэффициенты модели малыми и, в свою очередь, модель менее сложной.
Безусловно, норма L2 чаще используется, чем другие векторные нормы в машинном обучении.
Длина вектора может быть рассчитана с использованием максимальной нормы, также называемой максимальной нормой.
Максимальная норма вектора называется L ^ inf, где inf - верхний индекс и может быть представлен символом бесконечности. Обозначения для максимальной нормы: || x || inf, где inf - индекс.
maxnorm(v) = ||v||inf
Максимальная норма вычисляется как возвращающая максимальное значение вектора, отсюда и название.
||v||inf = max(|a1|, |a2|, |a3|)
Максимальная норма вектора может быть вычислена в NumPy с помощью функции norm () с параметром порядка, установленным в inf.
# max norm of a vector
from numpy import inf
from numpy import array
from numpy.linalg import norm
a = array([1, 2, 3])
print(a)
maxnorm = norm(a, inf)
print(maxnorm)
Сначала определяется вектор 1 × 3, затем вычисляется максимальная норма вектора.
При запуске примера сначала печатается определенный вектор, а затем максимальная норма вектора
[1 2 3]
3.0
Максимальная норма также используется в качестве регуляризации в машинном обучении, например, в весах нейронных сетей, называемой максимальной нормализацией.
В этом разделе перечислены некоторые идеи по расширению учебника, которые вы, возможно, захотите изучить.
Если вы исследуете какое-либо из этих расширений, я хотел бы знать.
Этот раздел предоставляет больше ресурсов по теме, если вы хотите углубиться.
В этом уроке вы обнаружили различные способы вычисления длины или величины вектора, называемые векторной нормой.
В частности, вы узнали:
У вас есть вопросы?
Задайте свои вопросы в комментариях ниже, и я сделаю все возможное, чтобы ответить.
© www.machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map