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

Что такое линейная алгебра и как она важна в машинном обучении

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

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

Где y — вектор, содержащий некоторый оценочный параметр для всех наблюдений, x — матрица, содержащая все данные наблюдения (строки матрицы) и их характеристики (столбцы матрицы), а бета — матрица параметров, содержащая все параметры модель. Они изображены на изображении ниже:

Матрица параметров может быть рассчитана по следующему линейному уравнению:

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

Многие фреймворки машинного обучения, такие как tensorflow от google или pytorch от meta, по сути являются просто библиотеками, которые хорошо работают с матрицами и их многомерными формами, называемыми тензорами. Почти все глубокое обучение сводится к матричным и векторным операциям с данными, поэтому давайте рассмотрим некоторые основные идеи, лежащие в основе этой дисциплины.

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

Он начинается с базовой математической структуры, называемой вектором.

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

Я знаю, что это много тяжелой терминологии, поэтому давайте разберем ее по частям.

Основные понятия и терминология

Вектор и векторное пространство

Вектор — это математическая структура, в которой хранятся числа. Он изображен на схеме ниже:

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

Векторное пространство — это место, где живут все векторы. Один из простых способов визуализировать векторное пространство — представить двумерное пространство, и каждая точка в этом двумерном пространстве может быть представлена ​​двумя значениями, одним значением x и одним значением y в качестве координат. Таким образом, каждую точку можно представить вектором, а результирующее пространство называется векторным пространством.

Линейная комбинация векторов

Векторное пространство должно обладать двумя важными свойствами:

  1. Сложение двух векторов вместе должно привести к новому вектору в том же векторном пространстве.
  2. Умножение вектора на значение масштабатора также должно привести к вектору в том же векторном пространстве.

Давайте создадим два вектора, v со значениями 1 и 2; и w с двумя значениями 3 и 4 соответственно, сложение этих двух векторов показано ниже:

Для второго свойства мы используем вектор v и умножаем его на скаляр c. Окончательное уравнение выглядит примерно так:

Эти два свойства можно объединить в следующем уравнении для любой общей комбинации векторов:

Где u, v и w — векторы, а c и d — скаляры.

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

Базисные векторы и диапазон векторного пространства

Интересное свойство, возникающее из-за линейной комбинации векторов, заключается в том, что векторное пространство можно определить на основе всего двух векторов. Эти векторы называются базисными векторами этого векторного пространства. Базисные векторы определены для каждой из координат векторного пространства, поэтому, если векторное пространство имеет 2 измерения (2 элемента в их векторах-столбцах), тогда будет два базовых вектора, определяющих это векторное пространство, по одному для каждой координаты. Для нашего двумерного пространства два базисных вектора приведены ниже:

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

Матрицы и транспонирование матриц

Матрицы представляют собой набор векторов. Они представляют несколько векторов, объединенных в одну математическую структуру. Их можно использовать для ряда операций, таких как представление векторов данных, представление математических операций над другими векторами. Последнее особенно полезно для понимания их роли. Давайте посмотрим на это немного подробнее. Образец матрицы показан на изображении ниже:

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

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

Матричное представление линейных преобразований

Чтобы понять роль матриц в линейной алгебре, рассмотрим ситуацию, когда нас просят найти решение следующих двух линейных уравнений:

Обычный метод состоит в том, чтобы использовать метод исключения, а затем найти значения x и y из полученного уравнения. В стране линейной алгебры мы делаем вещи немного по-другому, мы определяем константы и переменные левой части уравнений в их матричной и векторной формах, как показано ниже:

Это дает нам преимущество в том, что теперь полученное уравнение представляет нечто совершенно отличное от того, с чего мы начали. В матричной форме уравнения матрица A действует на вектор x, чтобы получить результирующий вектор b. Это сводит исходную задачу к поиску набора векторов x, которые при воздействии матрицы приводят к некоторому вектору b. Если это звучит для вас немного знакомо, то вы не ошибетесь, потому что это то, что делает математическая функция. Таким образом, матрицы — это функции в векторном пространстве x, которые преобразуют его в векторное пространство b.

Таким образом, матрицы представляют собой линейные функции, которые называются линейными преобразованиями. Они принимают некоторый входной вектор x и выводят преобразованный вектор b.

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

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

Где I - единичная матрица, показанная ниже:

Мы можем вычислить обратную матрицу A, расширив умножение и дойдя до линейных уравнений, но чаще всего мы используем какую-нибудь компьютерную программу для вычисления обратной матрицы больших и сложных матриц. Ниже приведен фрагмент кода для простой матрицы 2 x 2.

import numpy as np

a = np.array([[1, 2], [3, 4]])
print(f"matrix a: \n{a}")


a_inv = np.linalg.inv(a)
print(f"inverse of matrix a: \n {a_inv}")
matrix a: 
 [[1 2]
 [3 4]]
inverse of matrix a: 
 [[-2.   1. ]
 [ 1.5 -0.5]]

Библиотеки, такие как numpy, tensorflow и pytorch, могут довольно эффективно выполнять множество сложных числовых вычислений с этими матрицами, и большая часть обучения модели заключается в решении линейных уравнений с помощью жестко закодированных алгоритмов, выполняющих умножение матриц и другие операции.

Векторный скалярный продукт

Скалярное произведение определяется для двух векторов, в которых каждый элемент одного вектора умножается на соответствующий элемент второго вектора, а произведения складываются. Он изображен в следующем уравнении:

Скалярное произведение представляет собой особый вид умножения, потому что оно говорит нам об угле между двумя векторами. Если скалярное произведение двух векторов равно 0, то эти два вектора перпендикулярны друг другу. Это особое свойство скалярного произведения, которое дает нам представление об угле между векторами, поддается множеству приложений, но самое главное, оно помогает нам определить положение векторов в многомерном пространстве.

Заключение

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

Рекомендации

Странг Джи (2016). Введение в линейную алгебру. Уиллесли-Кембридж Пресс.

Вот и все, счастливого обучения :)