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

К сожалению или не к сожалению, хорошее понимание линейной алгебры необходимо для освоения большинства алгоритмов машинного обучения и глубокого обучения (некоторые утверждают, что это менее важно, если вы только начинаете свой путь). Если вы уже подробно изучили эту тему, не стесняйтесь пропустить эти статьи, но если вам нужно освежить знания или вы хотите подробно изучить машинное обучение, то вы попали по адресу. Обратите внимание, что эти статьи не будут исчерпывающим исследованием предмета, но объяснят ключевые моменты, которые необходимо знать.

1.1 — Что такое скаляры, векторы, матрицы и тензоры?

Линейная алгебра включает изучение нескольких типов математических объектов.

Скаляры. Скаляр – это физическая величина, полностью описываемая своим значением. Скаляры описываются действительными числами и обычно положительны.

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

Это можно показать следующим образом:

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

В геометрии векторы представляют собой движение из точки. Глядя на рисунок 2, вектор от A до B будет:

Это 6-точечное движение в направлении x и 4-точечное движение в направлении y.

Матрицы. Матрица представляет собой двумерный массив чисел, поэтому каждый элемент идентифицируется двумя индексами, а не одним (хотя они могут различаться). Обычно мы даем имена переменных матриц жирным шрифтом, например A. Если матрица с действительными значениями A имеет высоту m и ширину n, то мы говорим, что:

Полная матрица может быть представлена ​​следующим образом:

Тензоры — бывают случаи, когда требуется массив с более чем двумя осями. В общем случае массив чисел на регулярной сетке с переменным числом осей называется тензором.

Обозначим тензор так:

1.2 — Основные операции

Транспонировать

Транспонирование - это, по сути, создание зеркального отображения матрицы вдоль оси 45 градусов, идущей вниз и вправо. Это преобразует матрицу mxn в матрицу nxm. Пример транспонирования матрицы показан ниже:

Добавление матриц друг к другу

Мы можем складывать матрицы друг к другу, если они имеют одинаковую форму. Это демонстрируется так:

Скалярное умножение

Мы можем умножить скаляр на матрицу следующим образом:

Скалярное сложение

Мы можем добавить скаляр к матрице следующим образом:

1.3 — Умножение

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

Векторное умножение

Существует два типа векторного умножения: скалярное произведение и произведение Адамара.

Начиная с произведения Адамара, это поэлементное умножение, при котором выводится один вектор. Это можно показать следующим образом:

Между тем, результат скалярного произведения — это просто скалярное значение (то есть только одно значение).

Умножение матриц

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

Мы применяем произведение Адамара для формирования новой матрицы на основе скалярного произведения двух исходных матриц.

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

1.4 — Свойства матричного умножения

Не коммутативный

Умножение матриц не является коммутативным. Что мы подразумеваем под этим? Что ж, если мы умножим вместе две матрицы A и B, это не то же самое, что умножить B на A.

Дистрибутив

Умножение матриц является дистрибутивным. Что мы подразумеваем под этим? Алгебраически это можно показать следующим образом через три отдельные матрицы A, B и C:

Ассоциативный

Умножение матриц ассоциативно. Что мы подразумеваем под этим? Снова используя наши три отдельные матрицы, это можно показать алгебраически ниже:

Идентификационная матрица и инверсия матрицы

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

Итак, как мы можем определить единичную матрицу? Единичная матрица — это матрица, которая не меняет никакого вектора при умножении этого вектора на эту матрицу. Например:

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

Это можно показать алгебраически ниже так:

1.5 — Резюме

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

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

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

https://www.deeplearningbook.org/contents/linear_алгебра.html

https://www.khanacademy.org/math/linear-алгебра

https://mathbitsnotebook.com/Geometry/Transformations/TRVectors.html