В этом видео мы узнаем, что такое матричное разложение. Идея матричных разложений очень проста. Иногда бывает удобно представить матрицу как произведение каких-то других матриц, обладающих некоторыми интересными свойствами. Первый пример — спектральное разложение матрицы. Если матрица X симметрична, то ее можно представить в виде произведения S (транспонированное) * D * S, где матрица D диагональная, а матрица S ортогональная. Все матрицы имеют тот же размер, что и матрица X. Элементы диагональной матрицы неотрицательные и являются собственными числами матрицы X. Зачем такое может быть нужно? Ну, например, часто встречаются функции вида f(y) = y (транспонированное) * X * y, где y — некоторый вектор. Такие выражения называются квадратичными формами, и вы можете их встретить, например, при анализе многомерного нормального распределения или при анализе матрицы ковариации. С этими объектами вы познакомитесь ближе в уроках про теорию вероятности и статистику. Оказывается, что если мы воспользуемся спектральным разложением матрицы, то мы сможем провести некоторую очень простую замену переменной, введя вместо переменной y переменную z = S * y, и теперь квадратичная форма будет иметь намного более простой вид. Это будет просто взвешенная сумма квадратов координат новой переменной. Оказывается, что в таком виде анализировать намного проще. Следующий пример — это сингулярное разложение матрицы. В этом случае мы представляем матрицу X как произведение трех матриц: U * D * V. Матрицы U и V — ортогональные, матрица D — диагональная. Но теперь мы не требуем от матрицы X симметричности. Геометрический смысл здесь довольно прост. Исходная матрица задает некоторое линейное преобразование, и матрицы, которые используются в произведении, тоже задают некоторые преобразования. И мы просто вместо того чтобы рассматривать какое-то одно сложное преобразование, представляем его как сначала некоторое ортогональное преобразование, ну то есть какой-нибудь поворот, инверсии, а затем растяжение вдоль осей с помощью диагональной матрицы и затем снова поворот. Ну то есть повернули, растянули, снова повернули. Применений у сингулярного разложения масса. На самом деле очень часто, выводя какие-то выражения для разных методов машинного обучения, мы будем сталкиваться с тем, что подставить сингулярное разложение — это очень хорошая идея, которая приводит к каким-нибудь способам избежать разные сложные ситуации. Одно из самых колоритных применений сингулярного разложения — в рекомендательных системах. Если у нас есть матрица, в которой записаны числа, которые являются просто оценками фильмов или каких-то других объектов пользователями, то, применив сингулярное разложение к этой матрице, мы можем построить достаточно неплохие простенькие рекомендации. Но об этом мы узнаем подробнее в следующих видео. Пока подведем итог. Порой бывает удобно представить матрицу как произведение нескольких других матриц, которые обладают некоторыми хорошими свойствами. Такое представление называется матричным разложением. Мы рассмотрели два простых примера: спектральное разложение и сингулярное разложение. Сингулярное разложение особенно понадобится нам в дальнейшем, в частности в рекомендациях. А в следующем видео мы познакомимся с еще одной интерпретацией понятия «матричные разложения», которое будет еще более приближать нас к применению матричных разложений в рекомендациях.