Матрицы и линейные преобразования¶
Матрица¶
Определение. Матрица \(A\) размера \(m \times n\) над полем \(\mathbb{R}\) — прямоугольная таблица из \(m \cdot n\) элементов, расположенных в \(m\) строках и \(n\) столбцах:
Матрицу можно рассматривать как:
- набор из \(n\) столбцов-векторов из \(\mathbb{R}^m\)
- набор из \(m\) строк-векторов из \(\mathbb{R}^n\)
- линейное отображение \(A: \mathbb{R}^n \to \mathbb{R}^m\)
Именно третья интерпретация — ключевая для понимания линейной алгебры. Матрица задаёт преобразование пространства: растяжение, поворот, отражение, проекцию.
Матрица \(M\) преобразует базисные векторы: \(\vec{e}_1 \to (2,1)\), \(\vec{e}_2 \to (1,2)\)
Умножение матрицы на вектор¶
Произведение матрицы \(A \in \mathbb{R}^{m \times n}\) на вектор \(\vec{x} \in \mathbb{R}^n\):
где \(\vec{a}_1, \ldots, \vec{a}_n\) — столбцы матрицы \(A\). Результат — линейная комбинация столбцов \(A\) с коэффициентами из \(\vec{x}\).
Матрица перехода¶
Если векторы \(\vec{b}_1, \ldots, \vec{b}_n\) выражаются через базис \(\vec{a}_1, \ldots, \vec{a}_n\):
то матрица перехода от базиса \((\vec{a}_i)\) к базису \((\vec{b}_j)\):
Пример. Стандартный базис \(\vec{e}_1 = (1,0), \vec{e}_2 = (0,1)\). Преобразование \(\vec{e}_1 \to (1,-2), \vec{e}_2 \to (3,0)\) задаётся матрицей:
Вектор \(\vec{a} = (-1, 2)\) переходит в \(M\vec{a} = (-1)\begin{bmatrix}1\\-2\end{bmatrix} + 2\begin{bmatrix}3\\0\end{bmatrix} = \begin{bmatrix}5\\2\end{bmatrix}\).
Примеры преобразований в \(\mathbb{R}^2\)¶
Масштабирование вдоль осей с коэффициентами \(s_x, s_y\):
Поворот на угол \(\varphi\) против часовой стрелки:
Произведение матриц¶
Определение. Для \(A \in \mathbb{R}^{m \times k}\) и \(B \in \mathbb{R}^{k \times n}\) произведение \(C = AB \in \mathbb{R}^{m \times n}\):
Геометрический смысл: произведение \(AB\) — последовательное применение преобразований: сначала \(B\), потом \(A\) (справа налево!). Для вектора \(\vec{x}\): \((AB)\vec{x} = A(B\vec{x})\).
Умножение матриц не коммутативно: \(AB \neq BA\) в общем случае.
Типы матриц¶
Единичная матрица \(E\) (или \(I\)) — на диагонали единицы, в остальных позициях нули:
Транспонированная матрица \(A^T\) — строки и столбцы меняются местами: \((A^T)_{ij} = A_{ji}\).
Обратная матрица \(A^{-1}\) для квадратной матрицы \(A\) существует тогда и только тогда, когда \(\det A \neq 0\):
Ортогональная матрица \(Q \in \mathbb{R}^{n \times n}\): \(QQ^T = Q^TQ = E\), то есть \(Q^{-1} = Q^T\). (Для комплексных матриц аналог называется унитарной: \(U^*U = E\).)
Столбцы ортогональной матрицы образуют ортонормированный базис. Преобразование ортогональной матрицей сохраняет длины векторов и углы между ними (изометрия).
Определитель¶
Определение. Определитель (детерминант) квадратной матрицы \(A \in \mathbb{R}^{n \times n}\) — число \(\det A \in \mathbb{R}\), определяемое рекурсивно через разложение по \(i\)-й строке:
где \(M_{ij}\) — подматрица, полученная вычёркиванием \(i\)-й строки и \(j\)-го столбца.
Для \(2 \times 2\):
Геометрический смысл. \(|\det A|\) — коэффициент изменения объёма при преобразовании \(A\):
- В \(\mathbb{R}^2\): площадь параллелограмма, натянутого на образы базисных векторов
- В \(\mathbb{R}^3\): объём параллелепипеда
- \(\det A > 0\) — ориентация сохраняется
- \(\det A < 0\) — ориентация меняется (отражение)
- \(\det A = 0\) — пространство «схлопывается» (потеря размерности)
Определитель — площадь параллелограмма: \(|\det M| = 5\) (слева), \(\det M = 0\) при коллинеарных столбцах (справа)
Свойства определителя¶
- \(\det(AB) = \det A \cdot \det B\)
- \(\det(A^T) = \det A\)
- \(\det(\alpha A) = \alpha^n \det A\) для \(A \in \mathbb{R}^{n \times n}\)
- Если \(\det A = 0\), матрица вырождена (необратима)
- Если \(\det A \neq 0\), матрица обратима
Ранг матрицы¶
Определение. Ранг матрицы \(\text{rank}(A)\) — максимальное число линейно независимых столбцов (или строк).
Эквивалентно: \(\text{rank}(A)\) — размерность образа линейного отображения \(A\), то есть размерность пространства \(\text{Im}(A) = \{A\vec{x} \mid \vec{x} \in \mathbb{R}^n\}\).
Для \(A \in \mathbb{R}^{m \times n}\): \(\text{rank}(A) \leq \min(m, n)\).
Теорема о ранге: \(\text{rank}(A) + \dim\ker(A) = n\), где \(\ker(A) = \{\vec{x} \mid A\vec{x} = \vec{0}\}\) — ядро отображения. Ранг говорит, сколько измерений «выживает» после преобразования, а размерность ядра — сколько «схлопывается» в ноль.
Собственные векторы и собственные значения¶
Определение. Ненулевой вектор \(\vec{v} \neq \vec{0}\) называется собственным вектором матрицы \(A\), если:
Число \(\lambda \in \mathbb{R}\) (или \(\mathbb{C}\)) — собственное значение, соответствующее \(\vec{v}\).
Собственный вектор не меняет направление при преобразовании — только масштабируется в \(\lambda\) раз. Все векторы, коллинеарные собственному, тоже являются собственными.
Собственный вектор (красный) не меняет направление при сдвиге
Нахождение собственных значений¶
Из определения:
Нетривиальное решение (\(\vec{v} \neq \vec{0}\)) существует тогда и только тогда, когда:
Это характеристическое уравнение. Его корни \(\lambda_1, \ldots, \lambda_n\) — собственные значения.
Свойства собственных значений¶
- Сумма собственных значений (с учётом кратности) равна следу матрицы: \(\sum_i \lambda_i = \text{tr}(A) = \sum_i a_{ii}\)
- Произведение собственных значений равно определителю: \(\prod_i \lambda_i = \det A\)
- У треугольных матриц собственные значения — диагональные элементы
Спектральное разложение¶
Если матрица \(A\) имеет \(n\) линейно независимых собственных векторов \(\vec{v}_1, \ldots, \vec{v}_n\), то:
где \(V = [\vec{v}_1 \mid \ldots \mid \vec{v}_n]\) — матрица из собственных векторов-столбцов, \(\Lambda = \text{diag}(\lambda_1, \ldots, \lambda_n)\) — диагональная матрица собственных значений.
Геометрически: переход в базис собственных векторов (\(V^{-1}\)), масштабирование вдоль каждого (\(\Lambda\)), возврат в исходный базис (\(V\)).
Не все матрицы диагонализуемы (например, \(\begin{bmatrix} 0 & 1 \\ 0 & 0 \end{bmatrix}\)). Но для симметричных матриц (\(A = A^T\)) разложение всегда существует, причём \(V\) ортогональна: \(A = Q\Lambda Q^T\).
Нормы¶
Норма вектора¶
Определение. Норма — функция \(\|\cdot\|: V \to \mathbb{R}_{\geq 0}\), удовлетворяющая аксиомам:
- \(\|\vec{x}\| \geq 0\), причём \(\|\vec{x}\| = 0 \iff \vec{x} = \vec{0}\) (положительная определённость)
- \(\|\alpha\vec{x}\| = |\alpha| \cdot \|\vec{x}\|\) (однородность)
- \(\|\vec{x} + \vec{y}\| \leq \|\vec{x}\| + \|\vec{y}\|\) (неравенство треугольника)
Норма обобщает понятие длины вектора и расстояния.
\(L_p\)-нормы:
Три классические нормы:
| Норма | Формула | Геометрия (единичная окружность) |
|---|---|---|
| \(L_1\) (манхэттенская) | $|x|_1 = \sum_i | x_i |
| \(L_2\) (евклидова) | \(\|x\|_2 = \sqrt{\sum_i x_i^2}\) | Окружность |
| \(L_\infty\) (максимальная) | \(\|x\|_\infty = \max_i \|x_i\|\) | Квадрат |
Единичные окружности для норм \(L_1\), \(L_2\), \(L_\infty\)
Манхэттенская норма \(L_1\): расстояние «по улицам» — сумма абсолютных значений координат. Для таксиста в городе с прямоугольной сеткой улиц путь от \(A\) до \(B\):
\(L_1\)-норма важна в машинном обучении: она различает точно нулевые и почти нулевые элементы вектора, что полезно для разреженных моделей (LASSO-регуляризация).
Евклидова норма \(L_2\) — обычная длина по теореме Пифагора. Можно записать через скалярное произведение: \(\|\vec{x}\|_2 = \sqrt{\vec{x} \cdot \vec{x}}\).
Норма матрицы¶
Операторная (спектральная) норма показывает, насколько матрица максимально растягивает вектор (по \(L_2\)):
то есть равна наибольшему сингулярному значению.
Норма Фробениуса — аналог евклидовой нормы для матриц:
Метод главных компонент (PCA)¶
Задача: дано облако точек в \(\mathbb{R}^n\). Найти подпространство меньшей размерности, проекция на которое сохраняет максимальный разброс данных.
Алгоритм PCA¶
- Центрирование данных (перенос начала координат в центр облака)
- Первая главная компонента (PC1): направление максимальной дисперсии
- Вторая главная компонента (PC2): перпендикулярна PC1, максимизирует оставшуюся дисперсию
- И так далее — каждая следующая компонента ортогональна предыдущим
Проекция данных на главную компоненту (красная линия) минимизирует расстояния от точек до прямой
Если \(X\) — центрированная матрица данных (\(n\) наблюдений по строкам), то ковариационная матрица \(C = \frac{1}{n-1}X^TX\). Главные компоненты — собственные векторы \(C\), что непосредственно связано с SVD-разложением матрицы \(X\).
Сингулярное разложение (SVD)¶
Определение. Для любой матрицы \(A \in \mathbb{R}^{m \times n}\) существует разложение:
где:
- \(U \in \mathbb{R}^{m \times m}\) — ортогональная матрица левых сингулярных векторов
- \(\Sigma \in \mathbb{R}^{m \times n}\) — диагональная матрица сингулярных значений \(\sigma_1 \geq \sigma_2 \geq \ldots \geq 0\)
- \(V \in \mathbb{R}^{n \times n}\) — ортогональная матрица правых сингулярных векторов
Геометрический смысл: любое линейное преобразование = поворот (\(V^T\)) + масштабирование (\(\Sigma\)) + поворот (\(U\)).
Алгоритм SVD¶
- Составить \(A^T A\) и найти её собственные значения \(\lambda_1 \geq \ldots \geq \lambda_n\)
- Сингулярные значения: \(\sigma_i = \sqrt{\lambda_i}\), составить \(\Sigma\)
- Собственные векторы \(A^T A\) (нормированные) — столбцы \(V\)
- Левые сингулярные векторы: \(\vec{u}_i = \frac{A\vec{v}_i}{\sigma_i}\), дополнить до ортонормированного базиса — столбцы \(U\)
Связь с PCA¶
Правый сингулярный вектор \(\vec{v}_1\) (соответствующий наибольшему \(\sigma_1\)) — направление максимальной дисперсии. Максимизация:
Значение \(\sigma_1^2\) пропорционально дисперсии данных вдоль этого направления.
Усечённое SVD и сжатие¶
Оставив только \(k\) наибольших сингулярных значений, получаем наилучшее приближение ранга \(k\):
Каждое слагаемое \(\sigma_i \vec{u}_i \vec{v}_i^T\) — матрица ранга 1 (внешнее произведение). Это даёт оптимальное сжатие: для хранения вместо \(m \times n\) чисел достаточно \(k(m + n + 1)\), что при малом \(k\) значительно меньше.