Сингулярное разложение
Материал из MachineLearning.
м (Правки Yury Chekhovich (обсуждение) откачены к версии Strijov) |
м (→Метод наименьших квадратов и число обусловленности) |
||
(13 промежуточных версий не показаны.) | |||
Строка 1: | Строка 1: | ||
- | + | {{TOCright}} | |
- | + | '''Сингулярное разложение''' (Singular Value Decomposition, SVD) — | |
- | + | декомпозиция [[вещественное число|вещественной]] [[матрица|матрицы]] с целью ее приведения к [[канонический вид|каноническому виду]]. | |
- | + | Сингулярное разложение является удобным методом при работе с матрицами. | |
- | + | Оно показывает геометрическую структуру матрицы и позволяет наглядно представить имеющиеся данные. | |
- | + | Сингулярное разложение используется при решении самых разных задач — | |
- | + | от приближения [[метод наименьших квадратов|методом наименьших квадратов]] и решения систем уравнений | |
- | + | до [[сжатие изображений|сжатия изображений]]. | |
- | </ | + | При этом используются разные свойства сингулярного разложения, например, |
+ | способность показывать [[ранг матрицы]], приближать матрицы данного ранга. | ||
+ | SVD позволяет вычислять обратные и [[псевдообратная матрица|псевдообратные матрицы]] большого размера, | ||
+ | что делает его полезным инструментом при решении задач [[регрессионный анализ|регрессионного анализа]]. | ||
+ | |||
+ | Для любой вещественной <tex>(n\times n)</tex>-матрицы <tex>A</tex> существуют две вещественные | ||
+ | [[ортогональная матрица|ортогональные]] <tex>(n\times n)</tex>-матрицы <tex>U</tex> и <tex>V</tex> такие, | ||
+ | что <tex>U^T A V</tex> — диагональная матрица <tex>\Lambda</tex>, | ||
+ | <center><tex>U^TAV=\Lambda.</tex></center> | ||
+ | Матрицы <tex>U</tex> и <tex>V</tex> выбираются так, чтобы диагональные элементы матрицы <tex>\Lambda</tex> имели вид | ||
+ | <center><tex>\lambda_1 \geq \lambda_2 \geq ... \geq \lambda_r > \lambda_{r+1}=...=\lambda_n=0,</tex></center> | ||
+ | где <tex>r</tex> — ранг матрицы <tex>A</tex>. В частности, если <tex>A</tex> [[вырожденная матрица|невырождена]], | ||
+ | то <center><tex>\lambda_1 \geq \lambda_2 \geq ... \geq \lambda_n > 0.</tex></center> | ||
+ | |||
+ | Индекс <tex>r</tex> элемента <tex>\lambda_r</tex> есть фактическая размерность [[собственное пространство матрицы|собственного пространства матрицы]] <tex>A</tex>. | ||
+ | |||
+ | Столбцы матриц <tex>U</tex> и <tex>V</tex> называются соответственно левыми и правыми сингулярными векторами, а значения диагонали матрицы <tex>\Lambda</tex> называются сингулярными числами. | ||
+ | |||
+ | Эквивалентная запись сингулярного разложения — <tex>A=U\Lambda V^T</tex>. | ||
+ | |||
+ | Например, матрица | ||
+ | <center><tex>A = \left(\begin{matrix}0.96 & 1.72\\2.28 & 0.96\\ \end{matrix}\right)</tex></center> | ||
+ | имеет сингулярное разложение | ||
+ | <center><tex>A = U\Lambda V^T=\left(\begin{matrix}0.6 & 0.8\\0.8 & -0.6\\\end{matrix}\right)\left(\begin{matrix}3 & 0\\0 & 1\\\end{matrix}\right)\left(\begin{matrix}0.8 & -0.6\\0.6 & 0.8\\\end{matrix}\right)^T</tex></center> | ||
+ | Легко увидеть, что матрицы <tex>U</tex> и <tex>V</tex> ортогональны, | ||
+ | <center><tex>U^TU=UU^T=I,</tex> также <tex>V^TV=VV^T = I,</tex></center>и сумма квадратов значений их столбцов равна единице. | ||
+ | |||
+ | == Геометрический смысл SVD == | ||
+ | |||
+ | Пусть матрице <tex>A</tex> поставлен в соответствие [[линейный оператор]]. | ||
+ | Cингулярное разложение можно переформулировать в геометрических терминах. | ||
+ | Линейный оператор, отображающий элементы пространства <tex>\R^n</tex> в себя представим в виде последовательно выполняемых | ||
+ | линейных операторов вращения, растяжения и вращения. | ||
+ | Поэтому компоненты сингулярного разложения наглядно показывают | ||
+ | геометрические изменения при отображении линейным оператором <tex>A</tex> | ||
+ | множества векторов из [[векторное пространство|векторного пространства]] в себя или в векторное пространство другой размерности. | ||
+ | |||
+ | == Пространства матрицы и SVD == | ||
+ | |||
+ | Сингулярное разложение позволяет найти [[ортогональный базис|ортогональные базисы]] | ||
+ | различных векторных пространств разлагаемой матрицы | ||
+ | <center><tex>A_{(n\times n)} = U_{(n\times n)} \Lambda_{(n\times n)} V_{(n\times n)}^T.</tex></center> | ||
+ | Для прямоугольных матриц существует так называемое экономное представление сингулярного | ||
+ | разложения матрицы. | ||
+ | <center><tex>A_{(m\times n)} = U_{(m\times m)} \Lambda_{(m\times n)} V_{(n\times n)}^T</tex></center> | ||
+ | Согласно этому представлению при <tex>m>n</tex>, диагональная | ||
+ | матрица <tex>\Lambda</tex> имеет пустые строки (их элементы равны нулю), а при <tex>m<n</tex> — пустые | ||
+ | столбцы. Поэтому существует еще одно экономное представление | ||
+ | <center><tex>A_{(m\times n)} = U_{(m\times r)} \Lambda_{(r\times r)} V_{(r\times n)}^T,</tex></center> | ||
+ | в котором <tex>r=\min(m,n)</tex>. | ||
+ | |||
+ | Нуль-пространство матрицы <tex>A</tex> — набор векторов <tex>\mathbf{x}</tex>, для | ||
+ | которого справедливо высказывание <tex>A\mathbf{x}=\mathbf{0}</tex>. Собственное | ||
+ | пространство матрицы <tex>A</tex> — набор векторов <tex>\mathbf b</tex>, при | ||
+ | котором уравнение <tex>A\mathbf{x}=\mathbf b</tex> имеет ненулевое решение | ||
+ | для <tex>\mathbf{x}</tex>. Обозначим <tex>\mathbf{u}k</tex> и <tex>\mathbf{v}k</tex> — столбцы матриц <tex>U</tex> и <tex>V</tex>. | ||
+ | Тогда разложение <tex>A=U\Lambda V^T</tex> может быть записано в виде: | ||
+ | <tex>A=\sum_{k=1}^rA_k</tex>, где <tex>A_k=\mathbf{u}_k\lambda_k{\mathbf{v}}_k^T</tex>. Если | ||
+ | сингулярное число <tex>\lambda_k=0</tex>, то <tex>A{\mathbf{v}}_k=\mathbf{0}</tex> и | ||
+ | <tex>\mathbf{v}_k</tex> находится в нуль-пространстве матрицы <tex>A</tex>, а если | ||
+ | сингулярное число <tex>\lambda_k\neq0</tex>, то вектор <tex>\mathbf{u}_k</tex> находятся в | ||
+ | собственном пространстве матрицы <tex>A</tex>. Следовательно, можно | ||
+ | сконструировать базисы для различных векторных подпространств, | ||
+ | определенных матрицей <tex>A</tex>. Hабор | ||
+ | векторов <tex>\mathbf{v}_1,\ldots,\mathbf{v}_k</tex> в векторном | ||
+ | пространстве <tex>V</tex> формирует [[базис линейного пространства|базис]] для <tex>V</tex>, если любой | ||
+ | вектор <tex>\mathbf{x}</tex> из <tex>V</tex> можно представить в виде [[линейная комбинация|линейной комбинации]] | ||
+ | векторов <tex>\mathbf{v}_1,\ldots,\mathbf{v}_k</tex> единственным способом. | ||
+ | Пусть <tex>V_0</tex> будет набором тех столбцов <tex>\mathbf{v}k</tex>, для | ||
+ | которых <tex>\lambda_k\neq 0</tex>, а <tex>V_1</tex> — все остальные | ||
+ | столбцы <tex>\mathbf{v}k</tex>. Также, пусть <tex>U_0</tex> будет набором столбцов <tex>\mathbf{u}k</tex>, | ||
+ | для которых <tex>\lambda_k\neq 0</tex>, а <tex>U_1</tex> — все остальные | ||
+ | столбцы <tex>\mathbf{u}k</tex>, включая и те, для которых <tex>k>n</tex>. Тогда, | ||
+ | если <tex>r</tex> — количество ненулевых сингулярных чисел, то | ||
+ | имеется <tex>r</tex> столбцов в наборе <tex>V_0</tex> и <tex>n-r</tex> столбцов в | ||
+ | наборе <tex>V_1</tex> и <tex>U_1</tex>, а также <tex>m-n+r</tex> столбцов в наборе <tex>U_0</tex>. | ||
+ | Каждый из этих наборов формирует базис векторного пространства матрицы <tex>A</tex>: | ||
+ | |||
+ | * <tex>V_0</tex> — ортонормальный базис для ортогонального комплементарного нуль-пространства <tex>A</tex>, | ||
+ | * <tex>V_1</tex> — ортонормальный базис для нуль-пространства <tex>A</tex>, | ||
+ | * <tex>U_0</tex> — ортонормальный базис для собственного пространства <tex>A</tex>, | ||
+ | * <tex>U_1</tex> — ортонормальный базис для ортогонального комплементарного нуль-пространства <tex>A</tex>. | ||
+ | |||
+ | == SVD и собственные числа матрицы == | ||
+ | |||
+ | Сингулярное разложение обладает свойством, которое связывает | ||
+ | задачу отыскания сингулярного разложения и задачу отыскания | ||
+ | собственных векторов. Собственный вектор <tex>\mathbf{x}</tex> матрицы <tex>A</tex> — | ||
+ | такой вектор, при котором выполняется условие <tex>A\mathbf{x}=\lambda\mathbf{x}</tex>, | ||
+ | число <tex>\lambda</tex> называется собственным числом. Так как матрицы <tex>U</tex> | ||
+ | и <tex>V</tex> ортогональные, то | ||
+ | <center><tex>\begin{array}{c}AA^T=U\Lambda V^TV\Lambda U^T=U\Lambda^2 U^T,\\A^TA=V\Lambda U^TU\Lambda V^T=V\Lambda^2 V^T.\\ \end{array}</tex></center> | ||
+ | Умножая оба выражения справа соответственно на <tex>U</tex> и <tex>V</tex> получаем | ||
+ | <center><tex>\begin{array}{c}AA^TU=U\Lambda^2,\\A^TAV=V\Lambda^2.\\\end{array}</tex></center> | ||
+ | Из этого следует, что столбцы матрицы <tex>U</tex> являются собственными | ||
+ | векторами матрицы <tex>AA^T</tex>, а квадраты сингулярных чисел | ||
+ | <tex>\Lambda=\mbox{diag}(\lambda_1,...,\lambda_r)</tex> — ее собственными | ||
+ | числами. | ||
+ | Также столбцы матрицы <tex>V</tex> являются собственными векторами матрицы <tex>A^TA</tex>, а | ||
+ | квадраты сингулярных чисел являются ее собственными числами. | ||
+ | |||
+ | == SVD и норма матриц == | ||
+ | |||
+ | Рассмотрим изменение длины вектора <tex>\mathbf{x}</tex> до и после его умножения | ||
+ | слева на матрицу <tex>A</tex>. Евклидова норма вектора определена как | ||
+ | <center><tex>\|\mathbf{x}\|_E^2=\mathbf{x}^T\mathbf{x}.</tex></center> | ||
+ | Если матрица <tex>A</tex> ортогональна, длина вектора <tex>A\mathbf{x}</tex> остается неизменной. В противном | ||
+ | случае можно вычислить, насколько матрица <tex>A</tex> растянула | ||
+ | вектор <tex>\mathbf{x}</tex>. | ||
+ | |||
+ | Евклидова норма матрицы есть максимальный коэффициент растяжения произвольного вектора <tex>\mathbf{x}</tex> заданной матрицей <tex>A</tex> | ||
+ | <center><tex>\|A\|_E=\max\limits_{\|\mathbf{x}\|=1}\left(\frac{\|A\mathbf{x}\|}{\|\mathbf{x}\|}\right).</tex></center> | ||
+ | Альтернативой Евклидовой норме является норма Фробениуса: | ||
+ | <center><tex>\|A\|_F=\sqrt{\sum_{i=1}^m\sum_{j=1}^na_{ij}^2}.</tex></center> | ||
+ | Если известно сингулярное разложение, то обе эти нормы легко | ||
+ | вычислить. Пусть <tex>\lambda_1,\ldots,\lambda_r</tex> — сингулярные числа матрицы <tex>A</tex>, отличные от нуля. | ||
+ | Тогда | ||
+ | <center><tex>\|A\|_E=\lambda_1,</tex></center> | ||
+ | и | ||
+ | <center><tex>\|A\|_F=\sqrt{\sum_{k=1}^r\lambda_k^2}.</tex></center> | ||
+ | |||
+ | Сингулярные числа матрицы <tex>A</tex> — это длины осей эллипсоида, | ||
+ | заданного множеством | ||
+ | <center><tex>\left. \{A\mathbf{x}\right|\|\mathbf{x}\|{_E}=1\}.</tex></center> | ||
+ | |||
+ | == Нахождение псевдообратной матрицы с помощью SVD == | ||
+ | |||
+ | Если <tex>(m\times n)</tex>-матрица <tex>A</tex> является вырожденной или | ||
+ | прямоугольной, то обратной матрицы <tex>A^{-1}</tex> для нее не существует. | ||
+ | Однако для <tex>A</tex> может быть найдена псевдообратная | ||
+ | |||
+ | матрица <tex>A^+</tex> — такая матрица, для которой выполняются условия | ||
+ | <center><tex>\begin{array}{l} A^+A=I_n,\\ AA^+=I_m,\\ A^+AA^+=A^+,\\ AA^+A=A.\\ \end{array}</tex></center> | ||
+ | Пусть найдено разложение матрицы <tex>A</tex> вида | ||
+ | <center><tex>A=U\Lambda{V}^T,</tex></center> где | ||
+ | <tex>\Lambda=\mbox{diag}(\lambda_1,...,\lambda_r)</tex>, <tex>r=\min(m,n)</tex> и | ||
+ | <tex>U^TU=I_m, VV^T=I_n</tex>. | ||
+ | Тогда матрица <tex>A^+=V^T\Lambda^{-1}U</tex> является для матрицы <tex>A</tex> | ||
+ | псевдообратной. | ||
+ | Действительно, <tex>A^+A=V\Lambda^{-1}U^TU\Lambda{V}^T=I_n</tex>, <tex>AA^+=U\Lambda{V}^TV\Lambda^{-1}U^T=I_m</tex>. | ||
+ | |||
+ | == Метод наименьших квадратов и число обусловленности == | ||
+ | |||
+ | Задача наименьших квадратов ставится следующим образом. Даны | ||
+ | действительная <tex>(m{\times}n)</tex>-матрица <tex>A</tex> и | ||
+ | действительный <tex>(m)</tex>-вектор <tex>Y</tex>. Требуется найти | ||
+ | действительный <tex>(n)</tex>-вектор <tex>\mathbf{w}</tex>, минимизирующий Евклидову длину | ||
+ | вектора невязки, <center><tex>\|Y-A\mathbf{w}\|_E\longrightarrow\min.</tex></center> Решение | ||
+ | задачи наименьших квадратов — | ||
+ | <center><tex>\mathbf{w}=(A^TA)^{-1}(A^TY).</tex></center> | ||
+ | |||
+ | Для отыскания решения <tex>\mathbf{w}</tex> требуется обратить матрицу <tex>A^TA</tex>. | ||
+ | Для квадратных матриц <tex>A</tex> число обусловленности <tex>\ae(A)</tex> определено отношением | ||
+ | <center><tex>\ae(A)=\|A\|_E\|A^{-1}\|_E.</tex></center> | ||
+ | Из формулы Евклидовой нормы матрицы и предыдущей формулы следует, что число обусловленности матрицы есть отношение ее первого сингулярного числа к последнему. | ||
+ | <center><tex>\ae(A)=\frac{\lambda_1}{\lambda_n}.</tex></center> | ||
+ | |||
+ | Следовательно, число обусловленности матрицы <tex>A^TA</tex> есть квадрат числа обусловленности матрицы <tex>A</tex>. | ||
+ | Это высказывание справедливо и для [[вырожденная матрица|вырожденных матриц]], если полагать число обусловленности как отношение | ||
+ | <tex>\lambda_1/\lambda_r</tex>, <tex>r</tex> — ранг матрицы <tex>A</tex>. | ||
+ | Поэтому для получения обращения, [[устойчивоcть|устойчивого]] к малым изменениям значений матрицы <tex>A</tex>, используется усеченное SVD. | ||
+ | |||
+ | == Усеченное SVD при обращении матриц == | ||
+ | |||
+ | Пусть матрица <tex>A</tex> представлена в виде <tex>A=U\Lambda{}V^T</tex>. | ||
+ | Тогда при нахождении обратной матрицы | ||
+ | <tex>A^+=V\Lambda^{-1}U^T</tex> в силу ортогональности матриц <tex>U</tex> и <tex>V</tex> и в силу условия убывания диагональных элементов | ||
+ | матрицы <tex>\Lambda=\mbox{diag}(\lambda_1,...,\lambda_n)</tex>, | ||
+ | псевдообратная матрица <tex>A^+</tex> будет более зависеть от тех элементов | ||
+ | матрицы <tex>\Lambda</tex>, которые имеют меньшие значения, чем от первых | ||
+ | сингулярных чисел. Действительно, если матрица <tex>A</tex> имеет сингулярные числа | ||
+ | <tex>\lambda_1\geq\lambda_2\geq...\geq\lambda_n</tex>, то | ||
+ | сингулярные числа матрицы <tex>A^+</tex> равны | ||
+ | <center><tex>\Lambda^{-1}=\mbox{diag}(\frac{1}{\lambda_1},...,\frac{1}{\lambda_n})</tex> | ||
+ | и | ||
+ | <tex>\frac{1}{\lambda_1}\leq\frac{1}{\lambda_2}...\leq\frac{1}{\lambda_n}.</tex></center> | ||
+ | Считая первые <tex>s</tex> сингулярных чисел определяющими собственное | ||
+ | пространство матрицы <tex>A</tex>, используем при обращении матрицы <tex>A</tex> | ||
+ | первые <tex>s</tex> сингулярных чисел, <tex>s\leq\mbox{rank}A</tex>. Тогда обратная матрица <tex>A^+</tex> будет | ||
+ | найдена как <tex>A^+=V\Lambda^{-1}_sU^T</tex>. | ||
+ | |||
+ | Определим усеченную псевдообратную матрицу <tex>A_s^+</tex> как | ||
+ | <center><tex> A_s^+=V\Lambda^{-1}_sU^T,</tex></center> | ||
+ | где <tex>\Lambda^{-1}_s=\mbox{diag}(\lambda_1^{-1},...,\lambda_s^{-1},0,...,0)</tex> — | ||
+ | <tex>(n\times{n})</tex>-диагональная матрица. | ||
+ | |||
+ | == Смотри также == | ||
+ | * [[Метод главных компонент]] | ||
+ | * [[Простой итерационный алгоритм сингулярного разложения]] | ||
+ | * [[Регрессионный анализ]] | ||
+ | * [[Интегральный индикатор]] | ||
+ | * [[Согласование экспертных оценок]] | ||
+ | |||
+ | == Литература == | ||
+ | * Голуб Дж., Ван-Лоун Ч. Матричные вычисления. М.: Мир. 1999. | ||
+ | * Деммель Дж. Вычислительная линейная алгебра. URSS. 2001. | ||
+ | * Логинов Н.В. Сингулярное разложение матриц. М.: МГАПИ. 1996. | ||
+ | * Стренг Г. Линейная алгебра и ее применения. М.: Мир. 1980. | ||
+ | * Форсайт Дж., Молер К. Численное решение систем линейных алгебраических уравнений. М.: Мир. 1969. | ||
+ | * Хорн Р., Джонсон Ч. Матричный анализ. М.: Мир. 1989. | ||
+ | * Vetterling W. T. Flannery B. P. Numerical Recipies in C: The Art of Scientific Computing. NY: Cambridge University Press. 1999. | ||
+ | * [http://www.prip.tuwien.ac.at/teaching/ws/statistische-mustererkennung/apponly.pdf Meltzer T. SVD and its Application to Generalized Eigenvalue Problems. 2004. 16 pages.] | ||
+ | [[Категория:Регрессионный анализ]] | ||
+ | [[Категория:Популярные и обзорные статьи]] |
Текущая версия
|
Сингулярное разложение (Singular Value Decomposition, SVD) декомпозиция вещественной матрицы с целью ее приведения к каноническому виду. Сингулярное разложение является удобным методом при работе с матрицами. Оно показывает геометрическую структуру матрицы и позволяет наглядно представить имеющиеся данные. Сингулярное разложение используется при решении самых разных задач от приближения методом наименьших квадратов и решения систем уравнений до сжатия изображений. При этом используются разные свойства сингулярного разложения, например, способность показывать ранг матрицы, приближать матрицы данного ранга. SVD позволяет вычислять обратные и псевдообратные матрицы большого размера, что делает его полезным инструментом при решении задач регрессионного анализа.
Для любой вещественной -матрицы существуют две вещественные ортогональные -матрицы и такие, что диагональная матрица ,
Матрицы и выбираются так, чтобы диагональные элементы матрицы имели вид
где ранг матрицы . В частности, если невырождена,
тоИндекс элемента есть фактическая размерность собственного пространства матрицы .
Столбцы матриц и называются соответственно левыми и правыми сингулярными векторами, а значения диагонали матрицы называются сингулярными числами.
Эквивалентная запись сингулярного разложения .
Например, матрица
имеет сингулярное разложение
Легко увидеть, что матрицы и ортогональны,
Геометрический смысл SVD
Пусть матрице поставлен в соответствие линейный оператор. Cингулярное разложение можно переформулировать в геометрических терминах. Линейный оператор, отображающий элементы пространства в себя представим в виде последовательно выполняемых линейных операторов вращения, растяжения и вращения. Поэтому компоненты сингулярного разложения наглядно показывают геометрические изменения при отображении линейным оператором множества векторов из векторного пространства в себя или в векторное пространство другой размерности.
Пространства матрицы и SVD
Сингулярное разложение позволяет найти ортогональные базисы различных векторных пространств разлагаемой матрицы
Для прямоугольных матриц существует так называемое экономное представление сингулярного разложения матрицы.
Согласно этому представлению при , диагональная матрица имеет пустые строки (их элементы равны нулю), а при пустые столбцы. Поэтому существует еще одно экономное представление
в котором .
Нуль-пространство матрицы набор векторов , для которого справедливо высказывание . Собственное пространство матрицы набор векторов , при котором уравнение имеет ненулевое решение для . Обозначим и столбцы матриц и . Тогда разложение может быть записано в виде: , где . Если сингулярное число , то и находится в нуль-пространстве матрицы , а если сингулярное число , то вектор находятся в собственном пространстве матрицы . Следовательно, можно сконструировать базисы для различных векторных подпространств, определенных матрицей . Hабор векторов в векторном пространстве формирует базис для , если любой вектор из можно представить в виде линейной комбинации векторов единственным способом. Пусть будет набором тех столбцов , для которых , а все остальные столбцы . Также, пусть будет набором столбцов , для которых , а все остальные столбцы , включая и те, для которых . Тогда, если количество ненулевых сингулярных чисел, то имеется столбцов в наборе и столбцов в наборе и , а также столбцов в наборе . Каждый из этих наборов формирует базис векторного пространства матрицы :
- ортонормальный базис для ортогонального комплементарного нуль-пространства ,
- ортонормальный базис для нуль-пространства ,
- ортонормальный базис для собственного пространства ,
- ортонормальный базис для ортогонального комплементарного нуль-пространства .
SVD и собственные числа матрицы
Сингулярное разложение обладает свойством, которое связывает задачу отыскания сингулярного разложения и задачу отыскания собственных векторов. Собственный вектор матрицы такой вектор, при котором выполняется условие , число называется собственным числом. Так как матрицы и ортогональные, то
Умножая оба выражения справа соответственно на и получаем
Из этого следует, что столбцы матрицы являются собственными векторами матрицы , а квадраты сингулярных чисел ее собственными числами. Также столбцы матрицы являются собственными векторами матрицы , а квадраты сингулярных чисел являются ее собственными числами.
SVD и норма матриц
Рассмотрим изменение длины вектора до и после его умножения слева на матрицу . Евклидова норма вектора определена как
Если матрица ортогональна, длина вектора остается неизменной. В противном случае можно вычислить, насколько матрица растянула вектор .
Евклидова норма матрицы есть максимальный коэффициент растяжения произвольного вектора заданной матрицей
Альтернативой Евклидовой норме является норма Фробениуса:
Если известно сингулярное разложение, то обе эти нормы легко вычислить. Пусть сингулярные числа матрицы , отличные от нуля. Тогда
и
Сингулярные числа матрицы это длины осей эллипсоида, заданного множеством
Нахождение псевдообратной матрицы с помощью SVD
Если -матрица является вырожденной или прямоугольной, то обратной матрицы для нее не существует. Однако для может быть найдена псевдообратная
матрица такая матрица, для которой выполняются условия
Пусть найдено разложение матрицы вида
, и . Тогда матрица является для матрицы псевдообратной. Действительно, , .
Метод наименьших квадратов и число обусловленности
Задача наименьших квадратов ставится следующим образом. Даны действительная -матрица и действительный -вектор . Требуется найти действительный -вектор , минимизирующий Евклидову длину
вектора невязки,задачи наименьших квадратов
Для отыскания решения требуется обратить матрицу . Для квадратных матриц число обусловленности определено отношением
Из формулы Евклидовой нормы матрицы и предыдущей формулы следует, что число обусловленности матрицы есть отношение ее первого сингулярного числа к последнему.
Следовательно, число обусловленности матрицы есть квадрат числа обусловленности матрицы . Это высказывание справедливо и для вырожденных матриц, если полагать число обусловленности как отношение , ранг матрицы . Поэтому для получения обращения, устойчивого к малым изменениям значений матрицы , используется усеченное SVD.
Усеченное SVD при обращении матриц
Пусть матрица представлена в виде . Тогда при нахождении обратной матрицы в силу ортогональности матриц и и в силу условия убывания диагональных элементов матрицы , псевдообратная матрица будет более зависеть от тех элементов матрицы , которые имеют меньшие значения, чем от первых сингулярных чисел. Действительно, если матрица имеет сингулярные числа , то сингулярные числа матрицы равны
и
Считая первые сингулярных чисел определяющими собственное пространство матрицы , используем при обращении матрицы первые сингулярных чисел, . Тогда обратная матрица будет найдена как .
Определим усеченную псевдообратную матрицу как
где -диагональная матрица.
Смотри также
- Метод главных компонент
- Простой итерационный алгоритм сингулярного разложения
- Регрессионный анализ
- Интегральный индикатор
- Согласование экспертных оценок
Литература
- Голуб Дж., Ван-Лоун Ч. Матричные вычисления. М.: Мир. 1999.
- Деммель Дж. Вычислительная линейная алгебра. URSS. 2001.
- Логинов Н.В. Сингулярное разложение матриц. М.: МГАПИ. 1996.
- Стренг Г. Линейная алгебра и ее применения. М.: Мир. 1980.
- Форсайт Дж., Молер К. Численное решение систем линейных алгебраических уравнений. М.: Мир. 1969.
- Хорн Р., Джонсон Ч. Матричный анализ. М.: Мир. 1989.
- Vetterling W. T. Flannery B. P. Numerical Recipies in C: The Art of Scientific Computing. NY: Cambridge University Press. 1999.
- Meltzer T. SVD and its Application to Generalized Eigenvalue Problems. 2004. 16 pages.