www.machinelearningmastery.ru

Машинное обучение, нейронные сети, искусственный интеллект
Header decor

Home

Нежное введение в векторные нормы в машинном обучении

Дата публикации 2018-02-05

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

В этом уроке вы узнаете, как рассчитать длину или величину вектора, называемую векторной нормой.

После завершения этого урока вы узнаете:

  • Норма L1, которая рассчитывается как сумма абсолютных значений вектора.
  • Норма L2, которая рассчитывается как квадратный корень из суммы квадратов векторных значений.
  • Максимальная норма, которая рассчитывается как максимальные значения вектора.

Давайте начнем.

  • Обновление март / 2018: Исправлена ​​опечатка в уравнении максимальной нормы.
  • Обновление сентябрь / 2018: Исправлена ​​опечатка, связанная с размером заданных векторов.

Обзор учебника

Этот урок разделен на 4 части; они есть:

  1. Вектор Норма
  2. Вектор L1 Норма
  3. Вектор L2 Норма
  4. Вектор Макс Норм

Вектор Норма

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

Длина вектора называется векторной нормой или величиной вектора.

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

- Страница 112,Руководство по линейной алгебре, 2017

Длина вектора всегда является положительным числом, за исключением вектора со всеми нулевыми значениями. Он рассчитывается с использованием некоторой меры, которая суммирует расстояние вектора от начала векторного пространства. Например, источником векторного пространства для вектора с 3 элементами является (0, 0, 0).

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

Мы рассмотрим несколько общих вычислений векторной нормы, используемых в машинном обучении.

Вектор L1 Норма

Длина вектора может быть вычислена с использованием нормы 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 Норма

Длина вектора может быть вычислена с использованием нормы 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

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

расширения

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

  • Создайте 5 примеров, используя каждую операцию, используя ваши собственные данные.
  • Реализуйте каждую матричную операцию вручную для матриц, определенных как списки списков.
  • Найдите документы по машинному обучению и найдите 1 пример каждой используемой операции.

Если вы исследуете какое-либо из этих расширений, я хотел бы знать.

Дальнейшее чтение

Этот раздел предоставляет больше ресурсов по теме, если вы хотите углубиться.

книги

API

статьи

Резюме

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

В частности, вы узнали:

  • Норма L1, которая рассчитывается как сумма абсолютных значений вектора.
  • Норма L2, которая рассчитывается как квадратный корень из суммы квадратов векторных значений.
  • Максимальная норма, которая рассчитывается как максимальные значения вектора.

У вас есть вопросы?
Задайте свои вопросы в комментариях ниже, и я сделаю все возможное, чтобы ответить.

Оригинальная статья

Footer decor

© www.machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map