Дата публикации 2018-02-09
Много линейной алгебры связано с операциями над векторами и матрицами, и есть много различных типов матриц.
Есть несколько типов матриц, с которыми вы можете столкнуться снова и снова, когда начинаете изучать линейную алгебру, в частности части линейной алгебры, относящиеся к машинному обучению.
В этом уроке вы обнаружите набор различных типов матриц из области линейной алгебры, с которыми вы можете столкнуться при машинном обучении.
После завершения этого урока вы узнаете:
Давайте начнем.
Этот урок разделен на 6 частей, чтобы охватить основные типы матриц; они есть:
Квадратная матрица - это матрица, в которой количество строк (n) равно количеству столбцов (m).
n = m
Квадратная матрица контрастирует с прямоугольной матрицей, где количество строк и столбцов не равно.
Учитывая, что количество строк и столбцов совпадают, размеры обычно обозначаются как n, например, п х н. Размер матрицы называется порядком, поэтому квадратная матрица порядка 4 имеет размер 4 x 4.
Вектор значений по диагонали матрицы от левого верхнего до правого нижнего угла называется главной диагональю.
Ниже приведен пример квадратной матрицы порядка 3.
1, 2, 3
M = (1, 2, 3)
1, 2, 3
Квадратные матрицы легко складываются и умножаются вместе и являются основой многих простых линейных преобразований, таких как вращения (как в поворотах изображений).
Симметричная матрица - это тип квадратной матрицы, в которой верхний правый треугольник совпадает с нижним левым треугольником.
Не будет преувеличением сказать, что симметричные матрицы S являются наиболее важными матрицами, которые мир когда-либо увидит - в теории линейной алгебры, а также в приложениях.
- страница 338,Введение в линейную алгебру, Пятое издание, 2016.
Чтобы быть симметричным, ось симметрии всегда является главной диагональю матрицы, слева направо и снизу справа.
Ниже приведен пример симметричной матрицы 5 × 5.
1, 2, 3, 4, 5
2, 1, 2, 3, 4
M = (3, 2, 1, 2, 3)
4, 3, 2, 1, 2
5, 4, 3, 2, 1
Симметричная матрица всегда квадратная и равна ее собственной транспонировании.
M = M^T
Треугольная матрица - это тип квадратной матрицы, в которой все значения находятся в верхнем правом или нижнем левом углу матрицы, а остальные элементы заполнены нулевыми значениями.
Треугольная матрица со значениями только выше главной диагонали называется верхней треугольной матрицей. Принимая во внимание, что треугольная матрица со значениями только ниже основной диагонали называется нижней треугольной матрицей.
Ниже приведен пример верхней треугольной матрицы 3 × 3.
1, 2, 3
M = (0, 2, 3)
0, 0, 3
Ниже приведен пример нижней треугольной матрицы 3 × 3.
1, 0, 0
M = (1, 2, 0)
1, 2, 3
Разложение LU разрешает данную матрицу в верхнюю и нижнюю треугольные матрицы.
NumPy предоставляет функции для вычисления треугольной матрицы из существующей квадратной матрицы. Функция tril () для вычисления нижней треугольной матрицы по заданной матрице и функция triu () для вычисления верхней треугольной матрицы по заданной матрице
Пример ниже определяет квадратную матрицу 3 × 3 и вычисляет нижнюю и верхнюю треугольную матрицу из нее.
# triangular matrices
from numpy import array
from numpy import tril
from numpy import triu
M = array([[1, 2, 3], [1, 2, 3], [1, 2, 3]])
print(M)
lower = tril(M)
print(lower)
upper = triu(M)
print(upper)
При выполнении примера печатается определенная матрица, за которой следуют нижняя и верхняя треугольные матрицы.
[[1 2 3]
[1 2 3]
[1 2 3]]
[[1 0 0]
[1 2 0]
[1 2 3]]
[[1 2 3]
[0 2 3]
[0 0 3]]
Диагональная матрица - это матрица, в которой значения вне главной диагонали имеют нулевое значение, а главная диагональ берется из верхнего левого угла матрицы в правый нижний угол.
Диагональная матрица часто обозначается переменной D и может быть представлена в виде полной матрицы или вектора значений на главной диагонали.
Диагональные матрицы состоят в основном из нулей и имеют ненулевые элементы только вдоль главной диагонали.
- страница 40,Глубокое обучение, 2016
Ниже приведен пример квадратной диагональной матрицы 3 × 3.
1, 0, 0
D = (0, 2, 0)
0, 0, 3
Как вектор, он будет представлен как:
d = (d11, d22, d33)
Или с указанными скалярными значениями:
d = (1, 2, 3)
Диагональная матрица не обязательно должна быть квадратной. В случае прямоугольной матрицы диагональ будет охватывать кратчайшее измерение; например:
1, 0, 0, 0
0, 2, 0, 0
D = (0, 0, 3, 0)
0, 0, 0, 4
0, 0, 0, 0
NumPy предоставляет функцию diag (), которая может создать диагональную матрицу из существующей матрицы или преобразовать вектор в диагональную матрицу.
В приведенном ниже примере определяется квадратная матрица 3 × 3, извлекается главная диагональ в виде вектора, а затем создается диагональная матрица из извлеченного вектора.
# diagonal matrix
from numpy import array
from numpy import diag
M = array([[1, 2, 3], [1, 2, 3], [1, 2, 3]])
print(M)
# extract diagonal vector
d = diag(M)
print(d)
# create diagonal matrix from vector
D = diag(d)
print(D)
При выполнении примера сначала печатается определенная матрица, за которой следует вектор главной диагонали и диагональная матрица, построенная из вектора.
[[1 2 3]
[1 2 3]
[1 2 3]]
[1 2 3]
[[1 0 0]
[0 2 0]
[0 0 3]]
Тождественная матрица - это квадратная матрица, которая не меняет вектор при умножении.
Значения единичной матрицы известны. Все скалярные значения вдоль главной диагонали (сверху-слева-внизу-справа) имеют значение один, а все остальные значения равны нулю.
Тождественная матрица - это матрица, которая не меняет вектор, когда мы умножаем этот вектор на эту матрицу.
- Страница 36,Глубокое обучение, 2016
Тождественная матрица часто представляется с использованием обозначения «I» или с размерностью «In», где n - индекс, который указывает размерность квадратной единичной матрицы. В некоторых обозначениях тождество может упоминаться как единичная матрица или «U», чтобы соответствовать одному значению, которое оно содержит (это отличается от унитарной матрицы).
Например, единичная матрица размером 3 или I3 будет выглядеть следующим образом:
1, 0, 0
I = (0, 1, 0)
0, 0, 1
В NumPy матрица идентичности может быть создана с определенным размером, используя функцию identity ().
В приведенном ниже примере создается единичная матрица I3.
# identity matrix
from numpy import identity
I = identity(3)
print(I)
При выполнении примера печатается созданная единичная матрица.
[[ 1. 0. 0.]
[ 0. 1. 0.]
[ 0. 0. 1.]]
В одиночку единичная матрица не так интересна, хотя она является компонентом других операций импорта матрицы, таких как инверсия матрицы.
Два вектора ортогональны, когда их скалярное произведение равно нулю, и называется ортонормированным.
v . w = 0
или же
v . w^T = 0
Это интуитивно понятно, если учесть, что одна линия ортогональна другой, если она перпендикулярна ей.
Ортогональная матрица - это тип квадратной матрицы, столбцы и строки которой представляют собой ортонормированные единичные векторы, например, перпендикулярно и имеет длину или величину 1.
Ортогональная матрица - это квадратная матрица, строки которой взаимно ортонормированы, а столбцы взаимно ортонормированы
- страница 41,Глубокое обучение, 2016
Ортогональная матрица часто обозначается заглавной буквой «Q».
Умножение на ортогональную матрицу сохраняет длины.
- страница 277,Руководство по линейной алгебре, 2017
Ортогональная матрица формально определяется следующим образом:
Q^T . Q = Q . Q^T = I
Где Q - ортогональная матрица, Q ^ T обозначает транспонирование Q, а I - единичная матрица.
Матрица ортогональна, если ее транспонирование равно обратному.
Q^T = Q^-1
Другая эквивалентность для ортогональной матрицы состоит в том, если скалярное произведение матрицы само по себе равно единичной матрице.
Q . Q^T = I
Ортогональные матрицы часто используются для линейных преобразований, таких как отражения и перестановки.
Ниже приведена простая ортогональная матрица 2 × 2, которая является примером матрицы отражения или координатного отражения.
1, 0
Q = (0, -1)
Пример ниже создает эту ортогональную матрицу и проверяет вышеуказанные эквивалентности.
# orthogonal matrix
from numpy import array
from numpy.linalg import inv
Q = array([[1, 0], [0, -1]])
print(Q)
# inverse equivalence
V = inv(Q)
print(Q.T)
print(V)
# identity equivalence
I = Q.dot(Q.T)
print(I)
Выполнение примера сначала печатает ортогональную матрицу, инверсию ортогональной матрицы и транспонирование ортогональной матрицы затем печатают и показывают, что они эквивалентны. Наконец, печатается единичная матрица, которая вычисляется из точечного произведения ортогональной матрицы с ее транспонированием.
[[ 1 0]
[ 0 -1]]
[[ 1 0]
[ 0 -1]]
[[ 1. 0.]
[-0. -1.]]
[[1 0]
[0 1]]
Ортогональные матрицы являются полезными инструментами, поскольку они дешевы в вычислительном отношении и стабильны, чтобы вычислять их обратные значения как просто их транспонирование.
В этом разделе перечислены некоторые идеи по расширению учебника, которые вы, возможно, захотите изучить.
Если вы исследуете какое-либо из этих расширений, я хотел бы знать.
Этот раздел предоставляет больше ресурсов по теме, если вы хотите углубиться.
В этом уроке вы обнаружили набор различных типов матриц из области линейной алгебры, с которыми вы можете столкнуться при машинном обучении.
В частности, вы узнали:
У вас есть вопросы?
Задайте свои вопросы в комментариях ниже, и я сделаю все возможное, чтобы ответить.
© www.machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map