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

Матрицы - это строительные блоки науки о данных. Они появляются в различных аватарах на разных языках. От массивов numpy в Python до фреймов данных в R и матриц в MATLAB.

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

Матрицы во множественном числе вместо matrix встречаются на удивление чаще, чем вы думаете.

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

Например, в декартовой плоскости X-Y матрица

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

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

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

На что они похожи?

Обычно количество строк в матрице обозначается m, а количество столбцов - n. Поскольку площадь прямоугольника высота x ширина, мы обозначаем размер матрицы как m x n. Таким образом, матрица должна была называться A, она записывалась бы как

Здесь m = 3 и n = 4. Таким образом, в матрице A 12 элементов. Квадратная матрица - это матрица, в которой m = n.

Матрица с одной строкой называется матрицей строк, а матрица с одним столбцом называется матрицей столбцов.

Что с ними делать?

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

Есть определенные правила даже для сложения, вычитания и умножения.

Добавление матриц

Сложение двух матриц A (m * n) и B (m * n) дает матрицу C (m * n). Элементы C - это сумма соответствующих элементов в A и B

Вычитание работает аналогично.

Здесь следует отметить, что вы можете складывать / вычитать только матрицы с одинаковым количеством строк и столбцов, то есть в том же порядке (order = rows x columns)

  • Количество строк A = Количество строк B
  • Количество столбцов A = количество столбцов B

На заметку

  • Сложение матриц коммутативно, что означает A + B = B + A.
  • Матрицы сложены ассоциативно, что означает A + (B + C) = (A + B) + C.
  • Вычитание матриц некоммутативно, что означает A-B ≠ B-A.
  • Вычитание матриц является неассоциативным, что означает A- (B-C) ≠ (A-B) -C.
  • Порядок матриц A, B, A-B и A + B всегда один и тот же.
  • Если порядок A и B отличается, A + B, A-B не могут быть вычислены.
  • Сложность операции сложения / вычитания составляет O (m * n), где m * n - порядок матриц.

Однако умножение немного сложнее

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

Умножение двух матриц A (m * n) и B (n * p) дает матрицу C (m * p). Обратите внимание, что для умножения вам не нужно, чтобы строки / столбцы A и B были одинаковыми. Вам нужно только

  • Количество столбцов A = Количество строк B
  • Или количество столбцов B = количество строк A.

Чтобы вычислить верхний левый элемент результирующей матрицы C, умножьте элементы 1-й строки A на 1-й столбец B и сложите их.

На заметку

  • Умножение матриц некоммутативно, что означает A * B ≠ B * A
  • Умножение матриц ассоциативно, что означает A * (B * C) = (A * B) * C
  • Существование A * B не означает существования B * A
  • Сложность операции умножения (A * B) составляет O (m * n * p), где m * n и n * p являются порядком A и B соответственно
  • Порядок матрицы C, вычисляемой как A * B, равен m * p, где m * n и n * p являются порядками A и B соответственно.

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

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

Матрицы имеют огромное значение почти во всех алгоритмах машинного обучения от KNN (алгоритм K-ближайшего соседа) до Случайных лесов.