Линейная алгебра (часть 1)

Хорошее понимание линейной алгебры важно для понимания алгоритмов машинного обучения и глубокого обучения.

Скаляры, векторы, матрицы и тензоры

  • Скаляры. Скаляр — это просто число, обозначаемое строчными буквами курсивом. Когда мы их вводим, мы уточняем, что это за числа. Например, мы могли бы сказать: «Пусть s ∈ R будет наклоном прямой», определяя скаляр с действительным знаком, или «Пусть n ∈ N будет числом единиц», определяя скаляр натурального числа.
  • Векторы. Вектор – это массив чисел. Числа расположены по порядку, и мы можем идентифицировать каждый отдельный номер по его индексу в этом порядке. Например, ниже представлен вектор из n элементов; х ∈ ℝ. Мы можем думать о векторах как об идентифицирующих точках в пространстве, где каждый элемент задает координаты по разным осям.

  • Матрицы. Матрица представляет собой двумерный массив чисел, поэтому каждый элемент идентифицируется двумя индексами, а не одним. А ∈ ℝ. Транспонированием матрицы называют зеркальное отражение матрицы по главной диагонали, идущее вниз и вправо, начиная с левого верхнего угла.

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

Умножение матриц и векторов: -

  • Матричное произведение матриц A и B является третьей матрицей C. Чтобы это произведение (C = AB) было определено, A должно иметь такое же количество столбцов, сколько B имеет строк. Операция дана: -

  • Простое произведение отдельных элементов двух матриц одинаковой размерности называется поэлементным произведением или произведением Адамара.
  • Скалярное произведение двух векторов x и y одинаковой размерности является матричным произведением x⊤y.
  • Умножение матриц является дистрибутивным: A(B + C) = AB + AC.
  • Это также ассоциативно A (BC) = (AB) C.
  • Это НЕ коммутативно AB ≠ BA.
  • Однако скалярное произведение двух векторов коммутативно x⊤y = y⊤x
  • Транспонирование матричного произведения (AB)⊤ = B⊤A⊤

Тождественные и обратные матрицы: -

  • Линейная алгебра предлагает мощный инструмент, называемый обращением матриц, который позволяет нам решать систему линейных уравнений Ax = b для многих значений A, где A∈ℝ^m×n — известная матрица, b∈ℝ^m — известный вектор и x∈ℝ^n — вектор неизвестных переменных.
  • Идентификационная матрица: это матрица, которая не меняет ни один вектор, когда мы умножаем на нее вектор (идентификационная матрица). Обозначим единичную матрицу буквой I. Формально ∀ x ∈ ℝ, Ix = x. Структура единичной матрицы проста: все элементы на главной диагонали равны 1, а все остальные элементы равны нулю.
  • Обратная матрица. Матрица, обратная матрице A, обозначается как A^−1 и определяется как матрица, такая что:

  • Теперь мы можем решить систему линейных уравнений, выполнив следующие шаги:

  • Теперь x = A^-1 bможно решить, только если существует обратная матрица и мы скоро рассмотрим, как на самом деле определить, существует ли обратная матрица или нет.

Линейная зависимость и диапазон:-

  • Чтобы A^-1существовало, уравнение Ax = b должно иметь ровно одно решение. Однако система линейных уравнений может не иметь решения или иметь бесконечно много решений. См. следующий рисунок для справки:

  • Невозможно иметь больше одного, но меньше бесконечного числа решений для конкретного значения b; также, если и x, и y являются решениями, то z = αx + (1 − α)y также является решением для любого действительного α.
  • Чтобы проанализировать, сколько решений имеет уравнение Ax = b, мы можем думать о столбцах A как о различных направлениях, в которых мы можем двигаться от начала координат (точки, заданной вектор всех нулей) и определить, сколько существует способов достичь b. В этом представлении каждый элемент x указывает, как далеко мы должны пройти в каждом из этих направлений, и этот вид операции называется линейной комбинацией:

  • Линейная комбинация некоторого набора векторов {v(1), . . . , v(n)} задается путем умножения каждого вектора v(i) на соответствующий скалярный коэффициент и сложения результатов:

  • Промежуток набора векторов — это набор всех точек, получаемых линейной комбинацией исходных векторов.
  • Таким образом, определение того, имеет ли решение Ax = b, сводится к проверке того, находится ли b в диапазоне столбцов A.
  • Набор векторов линейно независим, если ни один вектор в наборе не является линейной комбинацией других векторов.

Результат: решение Ax = b возможно, только если A^(-1) существует. Для этого A должна быть квадратной матрицей И A должна быть невырожденной (квадратная матрица с линейно независимыми столбцами).

Нормы:-

  • В машинном обучении мы измеряем размер векторов с помощью функции, называемой нормой. Формально норма Lp задается следующим образом для p ∈ ℝ, p ≥:

  • Нормы — это функции, переводящие векторы в неотрицательные значения. На интуитивном уровне норма вектора x измеряет расстояние от начала координат до точки x.
  • Норма L2 при p = 2 известна как евклидова норма. Также принято измерять размер вектора с помощью квадратной нормы L2, которую можно вычислить просто как x⊤x.
  • Норма L1 обычно используется в машинном обучении, когда очень важна разница между нулевыми и ненулевыми элементами. Каждый раз, когда элемент x удаляется от 0 на ε, норма L1 увеличивается на ε.

  • Максимальная норма упрощается до абсолютного значения элемента с наибольшей величиной в векторе.

  • Норма Фробениуса используется для измерения размера матрицы. Аналогичен норме L2.

  • Скалярное произведение двух векторов можно переписать в терминах норм. В частности, где θ - угол между x и y.

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

Использованная литература:-