MIT 18.06SC, часть 4: SVD, смена базиса и псевдообратная матрица
Перевод конспектов лекций Стрэнга 29, 31 и 33: сингулярное разложение A = UΣVᵀ на двух примерах, смена базиса и сжатие изображений (Фурье, вейвлеты Хаара), левая и правая обратные и псевдообратная матрица через SVD.
Это перевод официальных конспектов (lecture summaries) к трём лекциям Гилберта Стрэнга из курса MIT 18.06SC. Карта всего курса — в путеводителе. Перевод распространяется под лицензией CC BY-NC-SA 4.0, © MIT OpenCourseWare.
Лекция 29. Сингулярное разложение
Заголовок раздела «Лекция 29. Сингулярное разложение»Сингулярное разложение матрицы (singular value decomposition) обычно называют SVD. Это последнее и лучшее разложение матрицы:
где — ортогональная матрица, — диагональная, а — ортогональная.
В разложении матрица может быть любой. Мы знаем, что если симметрична и положительно определена, то её собственные векторы ортогональны и можно записать . Это частный случай SVD, где . Для более общей в SVD нужны две разные матрицы и .
Мы также научились записывать , где — матрица из различных собственных векторов . Однако может не быть ортогональной; матрицы и в SVD ортогональны всегда.
Как это работает
Заголовок раздела «Как это работает»Можно думать об как о линейном преобразовании, которое переводит вектор из её пространства строк в вектор в её пространстве столбцов. SVD возникает, когда мы ищем ортогональный базис пространства строк, который переходит в ортогональный базис пространства столбцов: .
Найти ортогональный базис пространства строк нетрудно — процесс Грама — Шмидта сразу его даёт. Но в общем случае нет причин ожидать, что переведёт этот базис в другой ортогональный базис.
Возможно, вы спросите о векторах в нуль-пространствах и . С ними проблем нет — о них позаботятся нули на диагонали .
На языке матриц
Заголовок раздела «На языке матриц»Суть задачи — найти ортонормированный базис пространства строк , для которого
где — ортонормированный базис пространства столбцов . Когда мы добавим нуль-пространства, это равенство превратится в . (Ортонормированные базисы и можно дополнить до ортонормированных базисов всего пространства как угодно. Поскольку лежат в нуль-пространстве , диагональные элементы будут равны 0.)
Столбцы и — базисы пространства строк и пространства столбцов соответственно. Обычно , но если положительно определена, для её пространства строк и пространства столбцов можно взять один и тот же базис!
Примечание переводчика: в оригинале порядок перепутан («столбцы и — базисы пространства строк и столбцов соответственно»). Верно так, как в переводе: живут в пространстве строк, — в пространстве столбцов.
Вычисление
Заголовок раздела «Вычисление»Пусть — обратимая матрица . Мы хотим найти векторы и в пространстве строк , и в пространстве столбцов и положительные числа и так, чтобы были ортонормированы, были ортонормированы, а были коэффициентами растяжения, для которых .
Это большой шаг к тому, чтобы найти ортонормированные матрицы и и диагональную матрицу , для которых
Поскольку ортогональна, обе части можно умножить на и получить
Вместо того чтобы искать , и одновременно, умножим обе части на :
Это форма ; теперь можно найти, диагонализовав симметричную положительно определённую (или полуопределённую) матрицу . Столбцы — собственные векторы , а собственные числа — это . (Берём равным положительному квадратному корню из .)
Чтобы найти , делаем то же самое с .
Примечание переводчика: в оригинале в средней части формулы опечатка — «». Сокращение работает потому, что для ортогональной .
Пример SVD
Заголовок раздела «Пример SVD»Вернёмся к нашей матрице . Начнём с вычисления
Собственные векторы этой матрицы дадут нам векторы , а собственные числа — числа .
Два ортогональных собственных вектора — это и . Чтобы получить ортонормированный базис, положим и . Их собственные числа и . Теперь у нас есть:
Можно было бы найти отсюда, но для практики найдём через ортонормированные собственные векторы и матрицы :
К счастью, оказалась диагональной. Хочется взять и , как профессор Стрэнг сделал на лекции, но поскольку , на самом деле и . Заодно это даёт возможность перепроверить вычисление и .
Итак, SVD матрицы :
Почему знак важен: собственный вектор определён с точностью до знака, поэтому «по » мог выйти и , и . Но и связаны условием с положительным , и знак надо согласовать с выбранным . Надёжнее всего считать .
Пример с нуль-пространством
Заголовок раздела «Пример с нуль-пространством»Теперь пусть . У неё одномерное нуль-пространство и одномерные пространства строк и столбцов.
Пространство строк состоит из кратных . Пространство столбцов состоит из кратных . Нуль-пространство и левое нуль-пространство перпендикулярны пространству строк и пространству столбцов соответственно.
Единичные базисные векторы пространства строк и пространства столбцов: и . Чтобы вычислить , найдём ненулевое собственное число :
Это матрица ранга 1, так что одно её собственное число должно быть 0. Другое тогда равно следу, так что . Найдя единичные векторы, перпендикулярные и (базисные векторы левого нуль-пространства и нуль-пространства соответственно), видим, что SVD матрицы :
Проверка числами: — вся матрица собрана из одного «слоя» ранга 1.
Сингулярное разложение объединяет темы линейной алгебры от положительно определённых матриц до четырёх фундаментальных подпространств:
- — ортонормированный базис пространства строк;
- — ортонормированный базис пространства столбцов;
- — ортонормированный базис нуль-пространства;
- — ортонормированный базис левого нуль-пространства.
Это «правильные» базисы, потому что .
Лекция 31. Смена базиса; сжатие изображений
Заголовок раздела «Лекция 31. Смена базиса; сжатие изображений»Мы уже знаем, что удачный выбор базиса упрощает вычисления. Одно из применений этого принципа — сжатие изображений. Видео лекций, музыка и другие источники данных несут много информации; хранить и передавать её эффективно можно, только сменив базис, в котором она записана.
Сжатие изображений
Заголовок раздела «Сжатие изображений»Пусть один кадр видео лекции — это 512 на 512 пикселей и видео чёрно-белое. Камера записывает уровень яркости каждого из пикселей; в этом смысле каждый кадр — вектор в векторном пространстве размерности .
В стандартном базисе этого пространства на каждый пиксель приходится один вектор. Передавать все компонент каждого кадра в стандартном базисе — слишком широкий канал, но если сменить базис по стандарту сжатия изображений JPEG, вполне приличную копию видео можно передать очень экономно.
Например, если сообщать уровень освещённости пиксель за пикселем, нет экономного способа передать информацию «весь кадр чёрный». Но если один из базисных векторов соответствует тому, что у всех пикселей одинаковая яркость (скажем, 1), то запись пустой доски передаётся очень экономно.
Вместе с вектором из одних единиц можно взять базисный вектор, в котором чередуются 1 и , или вектор, у которого половина единиц и половина , — он соответствует картинке, светлой слева и тёмной справа. От выбора базиса напрямую зависит, сколько данных придётся скачать, чтобы посмотреть видео, и лучший базис для лекций по алгебре может отличаться от лучшего базиса для боевиков!
Базисные векторы Фурье
Заголовок раздела «Базисные векторы Фурье»Самый известный базис — базис Фурье, тесно связанный с матрицами Фурье, которые мы изучали раньше. Базис JPEG состоит из косинусов — вещественных частей .
Примечание переводчика: здесь — комплексный корень восьмой степени из единицы (матрицы Фурье разбирались на занятии 3.2, лекция 26).
Метод разбивает квадрат пикселей на блоки со стороной 8 пикселей, по 64 пикселя в каждом. Затем информация о яркости этих пикселей сжимается — например, отбрасываются все коэффициенты ниже некоторого порога, выбранного так, чтобы после их удаления разница была почти незаметна.
В видео можно сжимать не только каждый кадр, но и последовательности кадров. Соседние кадры почти не отличаются. Если сделать всё правильно, кодировать и сжимать нужно лишь разницу между кадрами, а не каждый кадр целиком.
Вейвлет-базис Хаара
Заголовок раздела «Вейвлет-базис Хаара»Ближайший конкурент метода JPEG использует вейвлет-базис. (JPEG2000 улучшает вейвлеты Хаара, показанные выше.) В вейвлет-базисе Хаара для ненулевые элементы — наполовину 1 и наполовину (кроме вектора из одних единиц). При этом половина или даже три четверти элементов базисного вектора могут быть нулями. Эти векторы выбраны ортогональными, и их можно нормировать до ортонормированных.
Сжатие и матрицы
Заголовок раздела «Сжатие и матрицы»Линейная алгебра нужна, чтобы найти коэффициенты при переходе от стандартного базиса (яркость каждого пикселя) к базису Фурье или вейвлет-базису. Например, мы хотим записать:
Но это просто линейная комбинация векторов вейвлет-базиса. Если — матрица, столбцы которой — векторы вейвлет-базиса, то наша задача — всего лишь найти :
Итак, .
Вычисления будут быстрее и проще, если не тратить много времени на обращение матрицы (например, если ) или на умножение на обратную. Поэтому в сжатии изображений критерии хорошего базиса такие:
- умножение на матрицу базиса и на обратную к ней выполняется быстро (как в БПФ или в вейвлет-базисе);
- хорошее сжатие — изображение можно приблизить всего несколькими базисными векторами. Большинство компонент малы, и их можно смело обнулить.
Смена базиса
Заголовок раздела «Смена базиса»Векторы. Пусть столбцы матрицы — векторы нового базиса. Тогда, если — вектор в старом базисе, его можно перевести в вектор в новом базисе по соотношению
Матрицы преобразований. Пусть у нас есть линейное преобразование . Если в базисе у матрица , а в базисе — матрица , то оказывается, что и обязаны быть подобными матрицами. Иначе говоря, для некоторой матрицы смены базиса .
Напоминание. Если у нас есть базис и мы знаем для каждого , то, пользуясь линейностью , можно найти для любого вектора пространства. Элементы столбца матрицы — это коэффициенты выходного вектора .
Если наш базис состоит из собственных векторов преобразования, то есть , то — (диагональная) матрица собственных чисел. Было бы замечательно использовать для обработки изображений базис из собственных векторов, но найти такой базис намного дороже, чем просто взять базис Фурье или вейвлет-базис.
При смене базиса координаты векторов меняются по правилу . Элементы матриц меняются по правилу .
Лекция 33. Левая и правая обратные; псевдообратная матрица
Заголовок раздела «Лекция 33. Левая и правая обратные; псевдообратная матрица»Псевдообратных матриц не будет на экзамене, но эта лекция поможет к нему подготовиться.
Двусторонняя обратная
Заголовок раздела «Двусторонняя обратная»Двусторонняя обратная матрицы — это матрица , для которой . Это то, что мы называли обратной к . Здесь ; у матрицы полный ранг.
Левая обратная
Заголовок раздела «Левая обратная»Напомним: у полный ранг по столбцам, если её столбцы независимы, то есть . В этом случае нуль-пространство состоит только из нулевого вектора. Уравнение либо имеет ровно одно решение , либо не имеет решений.
Матрица — обратимая симметричная матрица , так что . Мы говорим, что — левая обратная к . (Могут быть и другие левые обратные, но эта — наша любимая.) Тот факт, что обратима, когда у полный ранг по столбцам, был центральным в нашем разговоре о методе наименьших квадратов.
Заметьте, что — матрица , которая равна единичной, только если . У прямоугольной матрицы не может быть двусторонней обратной, потому что у неё самой или у её транспонированной есть ненулевое нуль-пространство.
Правая обратная
Заголовок раздела «Правая обратная»Если у полный ранг по строкам, то . Нуль-пространство содержит только нулевой вектор; строки независимы. Уравнение всегда имеет хотя бы одно решение; размерность нуль-пространства равна , так что будет свободных переменных и (если ) бесконечно много решений!
У матриц полного ранга по строкам есть правые обратные , для которых . Самая удобная из них — . Проверка: , умноженная на , — это .
Псевдообратная
Заголовок раздела «Псевдообратная»У обратимой матрицы () нуль-пространство и левое нуль-пространство содержат только нулевой вектор. У матрицы полного ранга по столбцам только нулевой вектор в нуль-пространстве. У матрицы полного ранга по строкам только нулевой вектор в левом нуль-пространстве. Остаётся рассмотреть матрицу , для которой и .
Если у полный ранг по столбцам и , то
— матрица проекции на пространство столбцов . Ближе к равенству подойти нельзя.
Аналогично, если у полный ранг по строкам, то — матрица проекции на пространство строк .
Обращать матрицы мешают нетривиальные нуль-пространства. Если для какого-то ненулевого , то нет никакой надежды найти матрицу , которая обратит этот процесс и даст .
Вектор всегда лежит в пространстве столбцов . Более того, соответствие между векторами в (-мерном) пространстве строк и векторами в (-мерном) пространстве столбцов взаимно однозначно. Иначе говоря, если — векторы пространства строк , то в пространстве столбцов . (Доказательство этого стало бы хорошей экзаменационной задачей.)
Доказательство: если x ≠ y, то Ax ≠ Ay
Заголовок раздела «Доказательство: если x ≠ y, то Ax ≠ Ay»Предположим, что утверждение неверно. Тогда найдутся в пространстве строк , для которых . Но тогда , так что лежит в нуль-пространстве . Но пространство строк замкнуто относительно линейных комбинаций (например, вычитания), так что лежит и в пространстве строк. Единственный вектор, который лежит и в нуль-пространстве, и в пространстве строк, — нулевой, так что . Это противоречит предположению, что и не равны.
Значит, отображение из пространства строк в пространство столбцов обратимо. Обратное к нему отображение называется псевдообратным (pseudoinverse), и оно очень полезно статистикам в работе с линейной регрессией — они не всегда могут гарантировать, что у их матриц полный ранг по столбцам .
Как найти псевдообратную A⁺
Заголовок раздела «Как найти псевдообратную A⁺»Псевдообратная к — это матрица, для которой для всех в пространстве строк . Нуль-пространство — это нуль-пространство .
Начнём с сингулярного разложения . Напомним, что — матрица , элементы которой равны нулю, кроме сингулярных чисел , стоящих на диагонали её первых строк. Матрицы и ортогональны, поэтому обратить их легко. Остаётся найти псевдообратную только для .
Ближе всего к обратной для матрица размера , у которой в первых строках на диагонали стоят . Если , то . Произведение и — всегда квадратная матрица, у которой первые диагональных элементов равны 1, а все остальные — 0.
Если , то её псевдообратная
(Вспомните, что для ортогональных матриц , или .)
Похожий результат получился бы, если бы мы поставили ненулевые элементы в правый нижний угол , но лишние ненулевые элементы нам ни к чему.
Заключение
Заголовок раздела «Заключение»Хотя псевдообратных не будет на экзамене, многие темы, которые мы затронули, обсуждая их (четыре подпространства, SVD, ортогональные матрицы), там, скорее всего, появятся.
Словарик
Заголовок раздела «Словарик»| EN | RU |
|---|---|
| singular value decomposition (SVD) | сингулярное разложение |
| singular value, singular vector | сингулярное число, сингулярный вектор |
| orthogonal matrix, orthonormal basis | ортогональная матрица, ортонормированный базис |
| row space / column space | пространство строк / пространство столбцов |
| nullspace / left nullspace | нуль-пространство / левое нуль-пространство |
| positive semidefinite | положительно полуопределённая |
| change of basis | смена (замена) базиса |
| standard basis | стандартный базис |
| Fourier basis, wavelet basis | базис Фурье, вейвлет-базис |
| lossless / lossy compression | сжатие без потерь / с потерями |
| similar matrices | подобные матрицы |
| two-sided / left / right inverse | двусторонняя / левая / правая обратная |
| full column rank / full row rank | полный ранг по столбцам / по строкам |
| pseudoinverse | псевдообратная матрица (Мура — Пенроуза) |
| least squares | метод наименьших квадратов |
Дальше: производные по матрицам — путеводитель по MIT 18.S096 «Matrix Calculus»; назад к карте курса 18.06SC.