Сингулярное разложение

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
м (Правки Yury Chekhovich (обсуждение) откачены к версии Strijov)
Строка 1: Строка 1:
-
<p>'''Сингулярное разложение''' (Singular Value Decomposition, SVD)&nbsp;&#151; декомпозиция вещественной матрицы с целью ее приведения к следующему каноническому виду.</p>
+
'''Сингулярное разложение''' (Singular Value Decomposition, SVD)&nbsp;&#151; декомпозиция вещественной матрицы с целью ее приведения к каноническому виду. SVD является удобным методом при работе с&nbsp;матрицами. Оно показывает геометрическую структуру матрицы и позволяет наглядно представить имеющиеся данные. SVD используется при решении самых разных задач&nbsp;&#151; от&nbsp;приближения методом наименьших квадратов и решения систем уравнений до&nbsp;сжатия и&nbsp;распознавания изображений. При этом используются разные свойства сингулярного разложения, например, способность показывать ранг матрицы, приближать матрицы данного ранга. SVD позволяет вычислять обратные и псевдообратные матрицы большого размера, что делает его полезным инструментом при решении задач регрессионного анализа.
-
<p><b>Теорема</b>. Для любой вещественной <tex>(m\times m)</tex>-матрицы&nbsp;<tex>A</tex> существуют две вещественные ортогональные <tex>(m\times m)</tex>-матрицы&nbsp;<tex>U</tex> и&nbsp;<tex>V</tex> такие, что <tex>U^T A V</tex>&nbsp;&#151; диагональная матрица&nbsp;<tex>\Lambda</tex>, </p>
+
 
-
<p><center><tex>U^TAV=\Lambda.</tex></center></p>
+
Для любой вещественной <tex>(n\times n)</tex>-матрицы&nbsp;<tex>A</tex> существуют две
-
<p>Матрицы&nbsp;<tex>U</tex> и&nbsp;<tex>V</tex> выбираются так, чтобы диагональные элементы матрицы&nbsp;<tex>\Lambda</tex> имели вид </p>
+
вещественные ортогональные <tex>(n\times n)</tex>-матрицы&nbsp;<tex>U</tex> и&nbsp;<tex>V</tex> такие,
-
<p><center><tex>\lambda_1 \geq \lambda_2 \geq \ldots \geq \lambda_r > \lambda_{r+1}=\ldots=\lambda_m=0,</tex></center></p>
+
что <tex>U^T A V</tex>&nbsp;&#151; диагональная матрица&nbsp;<tex>\Lambda</tex>,
-
<p>где&nbsp;<tex>r</tex>&nbsp;&#151; ранг матрицы&nbsp;<tex>A</tex>. В частности, если&nbsp;<tex>A</tex> невырождена, то </p>
+
<center><tex>U^TAV=\Lambda.</tex></center>
-
<p><center><tex>\lambda_1 \geq \lambda_2 \geq \ldots \geq \lambda_m > 0.</tex></center></p>
+
Матрицы&nbsp;<tex>U</tex> и&nbsp;<tex>V</tex> выбираются так, чтобы диагональные элементы матрицы&nbsp;<tex>\Lambda</tex> имели вид
-
<p>Индекс&nbsp;<tex>r</tex> элемента&nbsp;<tex>\lambda_r</tex> есть фактическая размерность собственного пространства матрицы&nbsp;<tex>A</tex>. Столбцы матриц&nbsp;<tex>U</tex> и&nbsp;<tex>V</tex> называются соответственно левыми и правыми сингулярными векторами, а значения диагонали матрицы&nbsp;<tex>\Lambda</tex> называются сингулярными числами.
+
<center><tex>\lambda_1 \geq \lambda_2 \geq ... \geq \lambda_r > \lambda_{r+1}=...=\lambda_n=0,</tex></center>
-
</p>
+
где&nbsp;<tex>r</tex>&nbsp;&#151; ранг матрицы&nbsp;<tex>A</tex>. В частности, если&nbsp;<tex>A</tex> невырождена,
 +
то
 +
<center><tex>\lambda_1 \geq \lambda_2 \geq ... \geq \lambda_n > 0.</tex></center>
 +
 
 +
Индекс&nbsp;<tex>r</tex> элемента&nbsp;<tex>\lambda_r</tex> есть фактическая размерность собственного пространства матрицы&nbsp;<tex>A</tex>.
 +
 
 +
Столбцы матриц&nbsp;<tex>U</tex> и&nbsp;<tex>V</tex> называются соответственно левыми и правыми сингулярными векторами, а значения диагонали матрицы&nbsp;<tex>\Lambda</tex> называются сингулярными числами.
 +
 
 +
Эквивалентная запись сингулярного разложения&nbsp;&#151; <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>
 +
Легко увидеть, что матрицы&nbsp;<tex>U</tex> и&nbsp;<tex>V</tex> ортогональны,
 +
<center><tex>U^TU=UU^T=I,</tex> также <tex>V^TV=VV^T = I,</tex></center>
 +
и сумма квадратов значений их столбцов равна единице.

Версия 15:29, 8 февраля 2008

Сингулярное разложение (Singular Value Decomposition, SVD) — декомпозиция вещественной матрицы с целью ее приведения к каноническому виду. SVD является удобным методом при работе с матрицами. Оно показывает геометрическую структуру матрицы и позволяет наглядно представить имеющиеся данные. SVD используется при решении самых разных задач — от приближения методом наименьших квадратов и решения систем уравнений до сжатия и распознавания изображений. При этом используются разные свойства сингулярного разложения, например, способность показывать ранг матрицы, приближать матрицы данного ранга. SVD позволяет вычислять обратные и псевдообратные матрицы большого размера, что делает его полезным инструментом при решении задач регрессионного анализа.

Для любой вещественной (n\times n)-матрицы A существуют две вещественные ортогональные (n\times n)-матрицы U и V такие, что U^T A V — диагональная матрица \Lambda,

U^TAV=\Lambda.

Матрицы U и V выбираются так, чтобы диагональные элементы матрицы \Lambda имели вид

\lambda_1 \geq \lambda_2 \geq ... \geq \lambda_r > \lambda_{r+1}=...=\lambda_n=0,

где r — ранг матрицы A. В частности, если A невырождена, то

\lambda_1 \geq \lambda_2 \geq ... \geq \lambda_n > 0.

Индекс r элемента \lambda_r есть фактическая размерность собственного пространства матрицы A.

Столбцы матриц U и V называются соответственно левыми и правыми сингулярными векторами, а значения диагонали матрицы \Lambda называются сингулярными числами.

Эквивалентная запись сингулярного разложения — A=U\Lambda V^T.

Например, матрица

A = \left(\begin{matrix}0.96 & 1.72\\2.28 & 0.96\\ \end{matrix}\right)

имеет сингулярное разложение

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

Легко увидеть, что матрицы U и V ортогональны,

U^TU=UU^T=I, также V^TV=VV^T = I,

и сумма квадратов значений их столбцов равна единице.