Линейная алгебра

Определитель: число, которое всё решает

Что происходит с единичным квадратом при умножении на матрицу? Он превращается в параллелограмм - и его площадь равна |det(A)|. Одно число кодирует всю геометрию преобразования.

  • Normalizing flows (Glow, RealNVP): log|det J| в функции потерь
  • Ridge regression: защита от det = 0 при мультиколлинеарности
  • Собственные значения: det(A - lambda*I) = 0 - характеристическое уравнение
  • 3D-графика: ориентация нормалей, тест точка-в-треугольнике
  • Криптография: матричные шифры требуют обратимых матриц

Предварительные знания

  • Умножение матриц
  • Обратная матрица
  • Линейная зависимость векторов
  • Обратная матрица
  • Векторные пространства

Определитель как масштаб площади и объёма

Что происходит с единичным квадратом при умножении на матрицу? Он превращается в параллелограмм - и его площадь равна |det(A)|. Одно число кодирует всю геометрию преобразования.

Матрица $A$ преобразует единичный квадрат в параллелограмм. Площадь параллелограмма равна $|\det(A)|$. Знак определителя кодирует ориентацию: $\det > 0$ сохраняет ориентацию (правая система остаётся правой), $\det < 0$ - меняет (зеркальное отражение).

**Ключевой инсайт**: $\det = 0$ - сигнал катастрофы. В данных это мультиколлинеарность (признаки линейно зависимы). В модели - матрица необратима, регрессия сломана. В normalizing flows $\det$ якобиана - буквально то, насколько нейросеть растягивает пространство.

Матрица $A = \begin{pmatrix} 3 & 1 \\ 6 & 2 \end{pmatrix}$. Чему равен $\det(A)$?

Свойства определителя

Определитель **мультипликативен**: $\det(AB) = \det(A)\cdot\det(B)$. $AB$ означает сначала $B$, потом $A$. Объём меняется в $\det(B)$ раз, потом ещё в $\det(A)$ раз.

**Ridge regression** добавляет $\lambda I$ именно для того, чтобы $\det(X^TX + \lambda I) > 0$ при любом $\lambda > 0$ - даже при полной мультиколлинеарности.

Если $\det(A) = 3$ и $\det(B) = -2$, чему равен $\det(AB)$?

Вычисление: разложение Лапласа и LU

Для малых матриц - разложение по строке (Лаплас). Для больших ($n > 4$) - LU-разложение за $O(n^3)$. Формула Лапласа за $O(n!)$ при $n = 20$ потребовала бы $2.4 \cdot 10^{18}$ операций.

**Почему в normalizing flows якобиан делают треугольным**: $\det$ произвольной $n\times n$ матрицы - $O(n^3)$ операций. $\det$ треугольной матрицы - $O(n)$ (просто произведение диагонали). Affine coupling layers строят треугольный якобиан: $\log|\det J| = \sum s_i$.

Почему numpy вычисляет det через LU-разложение, а не формулой Лапласа?

Итог

  • **det** = коэффициент масштабирования объёма при линейном преобразовании
  • **det 2x2** = $ad - bc$ (площадь параллелограмма из столбцов)
  • **det = 0** - матрица необратима, данные мультиколлинеарны
  • **det(AB) = det(A) * det(B)** - мультипликативность
  • **|det| = 1** у поворотов и отражений - объём сохраняется
  • **LU-разложение** позволяет вычислять det за $O(n^3)$ вместо $O(n!)$

Связанные темы

Определитель - ключ к следующим разделам

  • Собственные значения — det(A - lambda*I) = 0 - характеристическое уравнение для eigenvalues
  • Обратная матрица — A^-1 существует тогда и только тогда, когда det(A) != 0
  • Векторные пространства — det = 0 означает, что столбцы линейно зависимы и не образуют базис

Вопросы для размышления

  • Почему det(AB) = det(A) * det(B), а det(A+B) != det(A) + det(B)?
  • Что геометрически означает det < 0?
  • Как Ridge regression связана с определителем матрицы признаков?
  • Почему в normalizing flows стараются делать якобиан треугольным?

Связанные уроки

  • stats-21
Определитель: число, которое всё решает

0

1

Войти