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

Обратная матрица: когда трансформацию можно отменить

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

  • **Компьютерное зрение**: undistortion объектива камеры через обратную матрицу внутренних параметров - каждый кадр Tesla Autopilot, каждая фотография на iPhone
  • **Линейная регрессия**: нормальное уравнение θ = (XᵀX)⁻¹Xᵀy - аналитическое решение задачи наименьших квадратов одной обратной матрицей
  • **Робототехника**: обратная кинематика - по положению захвата вычислить углы всех суставов манипулятора через обратную матрицу Якобиана
  • **Криптография**: шифр Хилла и RSA - обратная матрица по модулю простого числа как операция дешифрования

Обратная матрица: когда трансформацию можно отменить

**Каждый раз, когда iPhone снимает фото и убирает искажения объектива - применяется обратная матрица.** Когда GPS пересчитывает маршрут, когда линейная регрессия подгоняет коэффициенты, когда Photoshop поворачивает слой и возвращает обратно - везде тот же объект. Обратная матрица - это **кнопка undo** для линейных преобразований: A что-то сделала, A⁻¹ это отменяет так, что не остаётся следа. Главное **A⁻¹ · A = I** - умножили туда, умножили обратно, получили исходный вектор.

**Самое интересное в уроке - не формула**. Самое интересное - случаи, когда обратной **не существует**. Сжатие JPEG, projection в PCA, dropout в нейросетях, downsampling картинки - все это необратимо, и понимание почему - важнее, чем умение считать.

Что главное в концепте «Обратная матрица: когда трансформацию можно отменить»?

Проверка усвоения материала концепта.

Геометрия: туда и обратно

Геометрия: туда и обратно

Возьмём матрицу поворота на 30°. Применим к вектору - он повернётся. Применим обратную - он вернётся ровно туда, откуда стартовал. Не "примерно", не "около" - **в ту же точку**, до последнего знака.

**Точка `back` буквально совпадает с `v`** - таково определение A⁻¹. Если на анимации видно, что они в разных местах, матрица посчитана неверно (или это была не обратная).

Что главное в концепте «Геометрия: туда и обратно»?

Проверка усвоения материала концепта.

Определение и свойства

Определение и свойства

ОПРЕДЕЛЕНИЕ: A⁻¹ - матрица, для которой A · A⁻¹ = A⁻¹ · A = I (единичная матрица) АНАЛОГИЯ С ЧИСЛАМИ: 5 · (1/5) = 1 A · A⁻¹ = I СВОЙСТВА (которые экономят кучу времени): (A⁻¹)⁻¹ = A - обратная к обратной = исходная (A · B)⁻¹ = B⁻¹ · A⁻¹ - порядок переворачивается! (Aᵀ)⁻¹ = (A⁻¹)ᵀ det(A⁻¹) = 1 / det(A) ГЛАВНОЕ ОГРАНИЧЕНИЕ: Не у каждой матрицы есть обратная. Условие существования: det(A) ≠ 0 (об этом - целый раздел ниже)

**Аналогия со снятием одежды**: если сначала надеть рубашку (A), потом куртку (B) - чтобы снять, идти надо в обратном порядке: сначала куртку (B⁻¹), потом рубашку (A⁻¹). Поэтому **(AB)⁻¹ = B⁻¹A⁻¹**, а не A⁻¹B⁻¹. Эта мелочь - ловушка на собеседованиях.

Что главное в концепте «Определение и свойства»?

Проверка усвоения материала концепта.

Когда обратной не существует - и почему это важно

Когда обратной не существует - и почему это важно

Обратная **не существует**, когда трансформация **теряет информацию**. Если две разные точки исходного пространства попали в одну после применения A - вернуть их обратно невозможно: какую из них выбирать?

УсловиеСуществует A⁻¹?Геометрический смысл
det(A) ≠ 0ДаПреобразование не схлопывает объём
det(A) = 0НетПространство потеряло измерение
Столбцы линейно независимыДаКаждый столбец - новое направление
Столбцы коллинеарныНетВсе направления слиплись
Квадратная и обратимаяДаБиекция: каждой точке - свой образ
Прямоугольная (m ≠ n)Нет (только псевдо-)Размерности входа и выхода разные

**Что показывает картинка**: матрица A = [[2, 4], [1, 2]] переводит **весь** единичный квадрат в **отрезок** на прямой y = x/2. Площадь = 0, det(A) = 2·2 - 4·1 = 0. Из любой точки на этом отрезке невозможно понять, откуда внутри квадрата она пришла. Это и есть необратимость.

Что главное в концепте «Когда обратной не существует - и почему это важно»?

Проверка усвоения материала концепта.

Необратимость в реальном мире

Необратимость в реальном мире

ОперацияПочему необратимаЧто теряется
JPEG-сжатиеОкругление коэффициентов DCTВысокие частоты, мелкие детали
Downsampling картинки 2x4 пикселя усредняются в 1Локальная вариация
PCA с обрезкой компонентПроекция на k главных осейДисперсия по отброшенным осям
Dropout в нейросетиЧасть активаций обнуляетсяИнформация в обнулённых нейронах
Хеш-функцияМного входов - один выходСами входы (специально!)
Average pooling в CNNУсреднение в окнеГде именно был сильный сигнал

**Ключевая мысль**: половина приёмов ML - **намеренная** потеря информации, чтобы остался только полезный сигнал. "Необратимо" - не баг, а часто сама суть метода.

Что главное в концепте «Необратимость в реальном мире»?

Проверка усвоения материала концепта.

Формула 2×2 (которую можно держать в голове)

Формула 2×2 (которую можно держать в голове)

ДЛЯ МАТРИЦЫ: A = [ a b ] [ c d ] ОБРАТНАЯ: 1 [ d -b ] A⁻¹ = ─────── · [ -c a ] det(A) где det(A) = a·d - b·c МНЕМОНИКА: 1) поменять местами a и d 2) сменить знак у b и c 3) разделить всё на det ПРИМЕР: A = [ 4 7 ] det = 4·3 - 7·2 = 12 - 14 = -2 [ 2 3 ] A⁻¹ = (1/-2) · [ 3 -7 ] = [ -1.5 3.5 ] [ -2 4 ] [ 1.0 -2.0 ]

Что главное в концепте «Формула 2×2 (которую можно держать в голове)»?

Проверка усвоения материала концепта.

Решение системы: x = A⁻¹·b

Решение системы: x = A⁻¹·b

Главная учебная задача обратной матрицы - решение систем уравнений A·x = b. Алгебра простая:

СИСТЕМА: 4x + 7y = 18 2x + 3y = 8 В МАТРИЧНОМ ВИДЕ: A·x = b где A = [4 7] b = [18] [2 3] [ 8] ДОМНОЖАЕМ ОБЕ ЧАСТИ НА A⁻¹ СЛЕВА: A⁻¹·A·x = A⁻¹·b I·x = A⁻¹·b x = A⁻¹·b ПОДСТАВЛЯЕМ A⁻¹ = [-1.5 3.5]: [ 1.0 -2.0] x = [-1.5 3.5] · [18] = [-1.5·18 + 3.5·8] = [-27 + 28] = [ 1 ] [ 1.0 -2.0] [ 8] [ 1.0·18 - 2.0·8] [ 18 - 16] [ 2 ] ОТВЕТ: x = 1, y = 2. ПРОВЕРКА: 4·1 + 7·2 = 4 + 14 = 18 ✓ 2·1 + 3·2 = 2 + 6 = 8 ✓

**В реальном коде так не делают**. Считать обратную и умножать на неё медленнее и численно хуже, чем `np.linalg.solve(A, b)`. Метод обратной хорош для понимания, для практики - `solve` (LU-разложение под капотом). Эта разница - база любого собеседования по численным методам.

Что главное в концепте «Решение системы: x = A⁻¹·b»?

Проверка усвоения материала концепта.

ML-применение №1: нормальное уравнение линейной регрессии

ML-применение №1: нормальное уравнение линейной регрессии

Линейная регрессия - первая модель в любом курсе ML. Её **точное** аналитическое решение - **одна** обратная матрица:

ДАНО: X - матрица признаков (n × d), n примеров, d признаков y - вектор целевых значений (n,) θ - искомые коэффициенты (d,) МОДЕЛЬ: y_pred = X · θ ЦЕЛЬ: минимизировать ||X·θ - y||² РЕШЕНИЕ В ЗАКРЫТОМ ВИДЕ (NORMAL EQUATION): θ = (Xᵀ·X)⁻¹ · Xᵀ · y ЗДЕСЬ ОБРАТНАЯ СУЩЕСТВУЕТ КОГДА: - признаки линейно независимы (нет дубликатов колонок) - n ≥ d (примеров не меньше, чем признаков) НЕ СУЩЕСТВУЕТ КОГДА: - есть точная мультиколлинеарность ("вес = 2.2 · масса" в двух колонках) - больше признаков чем примеров → решение: ridge regression (X^T X + λI)⁻¹ - регуляризация спасает обратимость

**Зачем градиентный спуск, если есть точное решение**: при d = 100 000 (как в NLP) обратная матрица 100 000 × 100 000 - это 80 ГБ памяти и часы CPU. Градиентный спуск не строит матрицу - он итерируется. Поэтому в нейросетях обратные матрицы напрямую не считаются почти никогда. Но **формула** показывает, что задача в принципе разрешима за один шаг.

Что главное в концепте «ML-применение №1: нормальное уравнение линейной регрессии»?

Проверка усвоения материала концепта.

ML-применение №2: undistortion в компьютерном зрении

ML-применение №2: undistortion в компьютерном зрении

Объектив камеры искажает прямые линии ("бочка" на широкоугольных, "подушка" на телевиках). Перед обработкой кадра в self-driving / SLAM / фото - искажение **снимают**. Это буквально применение обратной матрицы к каждому пикселю.

**Каждый кадр Tesla Autopilot, каждая фотография на iPhone, каждое сканирование Lidar** проходит через обратное преобразование внутренних параметров камеры. Для ML и робототехники это рутина уровня дыхания.

Что главное в концепте «ML-применение №2: undistortion в компьютерном зрении»?

Проверка усвоения материала концепта.

ML-применение №3: whitening (декорреляция признаков)

ML-применение №3: whitening (декорреляция признаков)

Часто признаки в датасете коррелированы ("рост" и "размер обуви"). Это мешает многим алгоритмам. **Whitening** превращает признаки в некоррелированные с единичной дисперсией - и в этой формуле снова обратная (точнее, обратный квадратный корень):

Σ - ковариационная матрица признаков X_white = X · Σ^(-1/2) Обратный корень из Σ считается через спектральное разложение, но идея та же: "взять и обратить". Применяется в: - предобработке для PCA, ICA - GAN-стабилизации (whitened batch) - подготовке инпутов для классических методов перед нейросетями

Что главное в концепте «ML-применение №3: whitening (декорреляция признаков)»?

Проверка усвоения материала концепта.

А что если матрица не квадратная? Псевдо-обратная

А что если матрица не квадратная? Псевдо-обратная

В реальных задачах матрицы X почти никогда не квадратные: 10 000 примеров и 50 признаков - это X размера 10000 × 50. Обратной не существует **в принципе**. Спасает обобщение - **псевдо-обратная Мура-Пенроуза** (A⁺), которая всегда существует и совпадает с A⁻¹ для квадратных невырожденных:

**В индустрии 80% задач решаются именно псевдо-обратной, не обычной**. Понимание обычной A⁻¹ - база, понимание pinv - то, что отделяет учебный код от продакшна.

Что главное в концепте «А что если матрица не квадратная? Псевдо-обратная»?

Проверка усвоения материала концепта.

Обратные к типичным трансформациям (полезная памятка)

Обратные к типичным трансформациям (полезная памятка)

ТрансформацияОбратнаяИнтуиция
Поворот на угол θПоворот на -θПовернуть назад
Масштаб ×k (k ≠ 0)Масштаб ×(1/k)Уменьшить во столько же раз
Сдвиг (shear) на kСдвиг на -kСдвинуть в обратную сторону
ОтражениеТа же самая (F⁻¹ = F)Дважды отразить = ничего не делать
Перестановка координатОбратная перестановкаТранспонирование для матрицы перестановок
Проекция на осьНЕ существуетИнформация о другой оси потеряна
Любая ортогональная UТранспонирование (Uᵀ)Бесплатное обращение - используется в SVD, QR

**Последняя строка - самое важное упражнение**. Для ортогональной матрицы U⁻¹ = Uᵀ (просто транспонировать). Это причина, по которой в численном ML так любят ортогональные матрицы: транспонирование стоит ничего, обращение - дорого.

Что главное в концепте «Обратные к типичным трансформациям (полезная памятка)»?

Проверка усвоения материала концепта.

Метод Гаусса-Жордана для матриц больше 2×2

Метод Гаусса-Жордана для матриц больше 2×2

Для n×n матрицы формула становится громоздкой. Стандартный школьный/вузовский алгоритм - **метод Гаусса-Жордана**: дописать к матрице единичную справа и элементарными преобразованиями строк свести левую часть к I. Что осталось справа - и есть A⁻¹.

ИДЕЯ: [A | I] → ... → [I | A⁻¹] ПРИМЕР с A = [2 1]: [1 1] [ 2 1 | 1 0 ] [ 1 1 | 0 1 ] R1 ← R1 / 2: [ 1 0.5 | 0.5 0 ] [ 1 1 | 0 1 ] R2 ← R2 - R1: [ 1 0.5 | 0.5 0 ] [ 0 0.5 | -0.5 1 ] R2 ← R2 / 0.5: [ 1 0.5 | 0.5 0 ] [ 0 1 | -1 2 ] R1 ← R1 - 0.5·R2: [ 1 0 | 1 -1 ] [ 0 1 | -1 2 ] A⁻¹ = [ 1 -1 ] [-1 2 ] ПРОВЕРКА: A · A⁻¹ = [2 1] · [ 1 -1] = [ 1 0 ] = I ✓ [1 1] [-1 2] [ 0 1 ]

Что главное в концепте «Метод Гаусса-Жордана для матриц больше 2×2»?

Проверка усвоения материала концепта.

Практика: шифр Хилла

Практика: шифр Хилла

Вопросы для собеседования

Почему (AB)⁻¹ = B⁻¹A⁻¹, а не A⁻¹B⁻¹?

- AB·v означает: сначала B применилось к v, потом A к B·v - Чтобы отменить, надо снимать в обратном порядке: сначала A, потом B - Поэтому (AB)⁻¹ = B⁻¹A⁻¹ - Аналогия: надели рубашку → потом куртку. Снимать: куртка → рубашка

Когда лучше использовать pinv (псевдо-обратную) вместо inv?

- Прямоугольные матрицы (m ≠ n) - inv не существует, pinv всегда работает - Плохо обусловленные матрицы (det близок к 0) - inv даёт огромные числа, pinv через SVD устойчивее - Линейная регрессия с мультиколлинеарностью - pinv даёт минимально-норменное решение - В индустрии pinv (или lstsq поверх SVD) - дефолт, inv - редкое исключение

Почему в нейросетях обратные матрицы практически не считают?

- Размерности слоёв: десятки тысяч × десятки тысяч, обратная требует O(n³) и квадратичной памяти - Градиентный спуск работает за O(n) на шаг и не требует хранить полную матрицу - Обратные используются в специальных местах: ridge regression, второпорядковая оптимизация (Newton, K-FAC) - Чаще встречается псевдо-обратная для предобработки или итеративные приближения (CG, Lanczos)

Что главное в концепте «Практика: шифр Хилла»?

Проверка усвоения материала концепта.

Что унести из урока

  • **A⁻¹ - кнопка undo**: A⁻¹ · A = I, существует только когда трансформация ничего не теряет
  • **det(A) = 0 ⟺ обратной нет**: пространство схлопнулось, информация утрачена
  • **Половина приёмов ML необратима намеренно** (JPEG, downsampling, dropout, projection в PCA)
  • **Формула 2×2**: a↔d, минусы у b,c, делить на det
  • **(AB)⁻¹ = B⁻¹A⁻¹** - порядок переворачивается, как при снятии одежды
  • **В коде**: solve > inv для систем, pinv для прямоугольных и плохообусловленных, ортогональные матрицы дают U⁻¹ = Uᵀ почти бесплатно
  • **Линейная регрессия** = одна обратная (нормальное уравнение); недетерминированный случай решается ridge или pinv

Связи

Обратная матрица сидит на пересечении нескольких больших тем

  • Определитель — det = 0 - точное условие отсутствия обратной
  • Метод Гаусса — Тот же алгоритм для систем и для обратной
  • Сингулярное разложение (SVD) — Универсальный способ построить псевдо-обратную для любой матрицы
  • Линейная регрессия — Нормальное уравнение - ровно один inv

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

  • На практике numpy.linalg.solve(A, b) быстрее и численно стабильнее, чем inv(A) @ b. Почему библиотеки предпочитают LU-разложение прямому вычислению обратной матрицы?
  • Псевдообратная Мура-Пенроуза существует для любой матрицы, в том числе прямоугольной. Чем она отличается от «настоящей» обратной и почему линейная регрессия использует именно её?
  • Обусловленность матрицы (condition number) определяет, насколько ошибки во входных данных усиливаются при решении системы Ax = b. Как это связано с понятием обратимости в прикладных задачах?

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

  • stat-09-regression
  • nm-02
Обратная матрица: когда трансформацию можно отменить

0

1

Войти