Линейная алгебра в глубоком обучении

глубокое обучение

Предисловие

Эта серия статей являетсяDeep LearningЭта книга является отличным учебным пособием по глубокому обучению. Ее трудно читать. Поэтому эту серию статей необходимо читать вместе с оригинальной книгой для лучшего эффекта. Если вы не читаете оригинальную книгу, предполагается, что у вас есть общий уровень высшей математики.

Линейная алгебра в глубоком обучении

Базовые концепции, которые легко комбинировать

  • скаляр: одно число
  • вектор: количество строк/столбцов
  • Матрица: 2D-массив
  • Тензор: обычно относится к многомерному (0-мерный тензор - это скаляр, 1-мерный тензор - это вектор, а 2-мерный тензор - это матрица)
  • Транспонировать: сложить по главной диагонали.

Способы определения матриц в Numpy и как транспонировать:

import numpy as np

a = np.array([[1, 2, 3], 
              [4, 5, 6]])
a = a.reshape(3, 2)
print(a)

[[1 2]
 [3 4]
 [5 6]]

Основные арифметические отношения

Это согласуется с содержанием умножения матриц в высшей математике:

a = np.array([[1, 2],
              [3, 4]])
b = np.array([[5, 6],
              [7, 8]])

print(a * b)
print(a.dot(b))
print(np.dot(a, b))
print(np.linalg.inv(a))

# 星(*)
[[ 5 12]
 [21 32]]

# 点乘
[[19 22]
 [43 50]]

# 点乘
[[19 22]
 [43 50]]

# 逆运算
[[-2.   1. ]
 [ 1.5 -0.5]]

норма

Норма — это функция, функция, используемая для измерения величины длины. Математически норма включает норму вектора и норму матрицы.

векторная норма

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

image

Строго говоря, нормой называется любая функция, удовлетворяющая следующим свойствам:

image

  • Когда p = 2, норма (которую можно записать в упрощенном виде) называется евклидовой нормой, и можно вычислить расстояние. Но мы видим, что есть операция извлечения квадратного корня, поэтому, чтобы удалить этот квадратный корень, мы можем найти квадрат нормы, то есть норму, которая уменьшит открытую операцию. норма и норма в квадрате обеспечивают одну и ту же цель оптимизации, поэтому норма в квадрате используется чаще, и ее проще вычислить, ее можно вычислить, что очень быстро.
  • Когда p = 1, норма () представляет собой сумму абсолютных значений элементов вектора, В области машинного обучения норма лучше, чем норма для различения 0 и ненулевого.
  • Когда p = 0, норма на самом деле не является нормой.В большинстве мест, где упоминается норма, будет подчеркнуто, что это не норма в истинном смысле, используемая для указания того, сколько ненулевых элементов находится в векторе, но это на самом деле очень полезно и имеет приложения для регуляризации и разреженного кодирования в машинном обучении. В примере сказано: чтобы судить о том, верны ли имя пользователя и пароль, имя пользователя и пароль являются двумя векторами, когда вход в систему успешен, когда есть ошибка в имени пользователя и пароле, когда оба пользователя имя и пароль неверны. Мы знаем, что это так, и будет хорошо узнать, когда мы увидим это в будущем.
  • Когда p бесконечно, норму также называют бесконечной нормой, максимальной нормой. Представляет наибольшее из абсолютных значений элементов в векторе.

матричная норма

Для матричной нормы мы говорим только о норме Фробениуса, которая представляет собой просто сумму квадратов всех элементов в матрице, а затем квадратный корень, Существуют и другие определения, как показано ниже, где сопряженное транспонируется, и tr это след; Единичные значения представлены:

image

сингулярное разложение

Мы знакомы с матрицей собственного разложения: , сингулярное разложение аналогично: , где значения строк и столбцов матрицы, ортогональные матрицы, диагональные матрицы, ортогональные матрицы и элементы на диагонали матрицы равны называемые сингулярными значениями, где ненулевые сингулярные значения представляют собой квадратный корень из собственных значений или , левый сингулярный вектор, называемый , является собственным вектором, а правый сингулярный вектор, называемый , является собственным вектором. Поскольку сингулярные матрицы нельзя инвертировать, а инверсия — очень хороший способ изучения матриц, поэтому рассмотрим следующий метод, ищущий псевдоинверсию, которая наиболее близка к матричной инверсии, и преобразуйте матрицу в наиболее удобную форму для изучения других свойств. , псевдоинверсия преобразует матрицу в такое-то количество ненулевых элементов ранга на главной диагонали, а все остальные элементы в матрице равны нулю.Это также широко используемый метод в статистике, и он очень полезен в машинном обучении , простой в использовании.

определение

  • Диагональная матрица: только главная диагональ содержит ненулевые элементы;
  • единичный вектор: вектор с единичной нормой;
  • Векторы ортогональны: если оба вектора отличны от нуля, угол между ними равен 90 градусов;
  • Стандартный ортогональный: взаимно ортогональный, норма 1;
  • Ортогональная матрица: вектор-строка и вектор-столбец соответственно стандартно ортогональны;
  • Разложение по собственным числам: разложить матрицу на собственные векторы и собственные значения;
  • собственные значения и собственные векторы: сумма в ;
  • Положительно определенный, полуположительно определенный, отрицательно определенный: все собственные значения положительные, неотрицательные и все отрицательные.

Суммировать

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

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

  • Эта статья была впервые опубликована из публичного аккаунта:RAIS, жду вашего внимания.