Відмінності між версіями «Сингулярне розкладання»
Рядок 38: | Рядок 38: | ||
\end{matrix} \right)</math> | \end{matrix} \right)</math> | ||
</center> | </center> | ||
+ | має сингулярне розкладання | ||
+ | <center> | ||
+ | <math>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}}</math> | ||
+ | </center> | ||
+ | Легко побачити, що матриці <math>U</math> і <math>V</math> ортогональні, | ||
+ | <center><math>{{U}^{T}}U=U{{U}^{T}}=I</math>, також <math>~{{V}^{T}}V=V{{V}^{T}}=I</math>,</center> | ||
+ | і сума квадратів значень їх стовпців дорівнює одиниці. | ||
+ | |||
+ | = Геометричний зміст SVD = | ||
+ | |||
+ | Нехай матриці <math>A</math> поставлений у відповідність лінійний оператор. Cінгулярне розкладання можна переформулювати в геометричних термінах. Лінійний оператор, що відображає елементи простору <math>{{R}^{n}}</math> в себе представимо у вигляді послідовно виконуваних лінійних операторів обертання, розтягування і обертання. Тому компоненти сингулярного розкладання наочно показують геометричні зміни при відображенні лінійним оператором <math>A</math> безлічі векторів з векторного простору в себе або в векторний простір іншої розмірності. | ||
+ | |||
+ | = Простори матриці і SVD = | ||
+ | |||
+ | Сингулярне розкладання дозволяє знайти ортогональні базиси різних векторних просторів розкладається матриці | ||
+ | <center> | ||
+ | <math>{{A}_{(n\times n)}}={{U}_{(n\times n)}}{{\Lambda }_{(n\times n)}}V_{(n\times n)}^{T}.</math> | ||
+ | </center> | ||
+ | Для прямокутних матриць існує так зване економне уявлення сингулярного розкладання матриці | ||
+ | <center> | ||
+ | <math>{{A}_{(m\times n)}}={{U}_{(m\times m)}}{{\Lambda }_{(m\times n)}}V_{(n\times n)}^{T}</math> | ||
+ | </center> | ||
+ | Згідно з цим поданням при <math>m>n</math>, діагональна матриця <math>\Lambda </math> має порожні рядки (їх елементи рівні нулю), а при <math>m<n</math> - порожні стовпці. Тому існує ще одне економне подання | ||
+ | <center> | ||
+ | <math>{{A}_{(m\times n)}}={{U}_{(m\times r)}}{{\Lambda }_{(r\times r)}}V_{(r\times n)}^{T},</math> | ||
+ | </center> | ||
+ | в якому <math>r=\min (m,n).</math> | ||
+ | Нуль-простір матриці <math>A</math> - набір векторів <math>\mathbf{x}</math>, для якого справедливе висловлювання <math>A\mathbf{x}=\mathbf{0}.</math> Власне простір матриці <math>A</math> - набір векторів <math>\mathbf{b}</math>, при якому рівняння <math>A\mathbf{x}=\mathbf{b}</math> має ненульове рішення для <math>\mathbf{x}</math>. Позначимо <math>\mathbf{u}k</math> і <math>\mathbf{v}k</math> - стовпці матриць <math>U</math> і <math>V</math>. Тоді розкладання <math>A=U\Lambda {{V}^{T}}~</math> може бути записано у вигляді: <math>A=\sum\limits_{k=1}^{r}{{{A}_{k}}},\text{ }</math> де <math>~{{A}_{k}}={{\mathbf{u}}_{k}}{{\lambda }_{k}}\mathbf{v}_{k}^{T}.</math> Якщо сингулярне число <math>{{\lambda }_{k}}=0,</math> то <math>A{{\mathbf{v}}_{k}}=\mathbf{0}~</math> і <math>{{\mathbf{v}}_{k}}</math> знаходиться в нуль-просторі матриці <math>A</math>, а якщо сингулярне число <math>{{\lambda }_{k}}\ne 0,</math> то вектор <math>{{\mathbf{u}}_{k}}</math> перебувають у власному просторі матриці <math>A</math>. |
Версія за 22:42, 29 лютого 2012
Дана стаття являється неперевіреним навчальним завданням.
До вказаного терміну стаття не повинна редагуватися іншими учасниками проекту. Після завершення терміну виконання будь-який учасник може вільно редагувати дану статтю і витерти дане попередження, що вводиться за допомогою шаблону. |
Прізвище | Чура |
Ім'я | Наталя |
По-батькові | Ярославівна |
Факультет | ФІС |
Група | СНм-51 |
Залікова книжка | СНм-11-256 |
Сингулярне розкладання (Singular Value Decomposition, SVD) – декомпозиція речовинної матриці з метою її приведення до канонічного виду. Сингулярне розкладання є зручним методом при роботі з матрицями. Воно показує геометричну структуру матриці і дозволяє наочно представити наявні дані. Сингулярне розкладання використовується при вирішенні найрізноманітніших завдань - від наближення методом найменших квадратів і рішення систем рівнянь до стиснення зображень. При цьому використовуються різні властивості сингулярного розкладання, наприклад, здатність показувати ранг матриці, наближати матриці даного рангу. SVD дозволяє обчислювати зворотні і транспонованих матриць великого розміру, що робить його корисним інструментом при вирішенні задач регресійного аналізу.
Для будь-якої речовинної [math](n\times n)[/math] - матриці [math]A[/math] існує дві речовинні ортогональні [math](n\times n)[/math] - матриці [math]U[/math] і [math]V[/math] й такі, що [math]{{U}^{T}}AV[/math] - діагональна матриця [math]\Lambda[/math],
[math]{{U}^{T}}AV=\Lambda[/math].
Матриці [math]U[/math] і [math]V[/math] вибираються так, щоб диагональні елементи матриці [math]\Lambda[/math] мали вид
[math]{{\lambda }_{1}}\ge {{\lambda }_{2}}\ge ...\ge {{\lambda }_{r}}\gt {{\lambda }_{r+1}}=...={{\lambda }_{n}}=0[/math],
[math]{{\lambda }_{1}}\ge {{\lambda }_{2}}\ge ...\ge {{\lambda }_{n}}\gt 0~[/math].
Індекс [math]r[/math] елемента [math]{{\lambda }_{r}}[/math] є фактична розмірність власного простору матриці [math]A[/math].
Стовпці матриць [math]U[/math] і [math]V[/math] називаються відповідно лівими і правими сингулярними векторами, а значення діагоналі матриці [math]\Lambda[/math] називаються сингулярними числами.
Еквівалентна запис сингулярного розкладання [math]A=U\Lambda {{V}^{T}}[/math].
Наприклад, матриця
[math]A=\left( \begin{matrix} 0.96 & 1.72 \\ 2.28 & 0.96 \\ \end{matrix} \right)[/math]
має сингулярне розкладання
[math]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}}[/math]
Легко побачити, що матриці [math]U[/math] і [math]V[/math] ортогональні,
і сума квадратів значень їх стовпців дорівнює одиниці.
Геометричний зміст SVD
Нехай матриці [math]A[/math] поставлений у відповідність лінійний оператор. Cінгулярне розкладання можна переформулювати в геометричних термінах. Лінійний оператор, що відображає елементи простору [math]{{R}^{n}}[/math] в себе представимо у вигляді послідовно виконуваних лінійних операторів обертання, розтягування і обертання. Тому компоненти сингулярного розкладання наочно показують геометричні зміни при відображенні лінійним оператором [math]A[/math] безлічі векторів з векторного простору в себе або в векторний простір іншої розмірності.
Простори матриці і SVD
Сингулярне розкладання дозволяє знайти ортогональні базиси різних векторних просторів розкладається матриці
[math]{{A}_{(n\times n)}}={{U}_{(n\times n)}}{{\Lambda }_{(n\times n)}}V_{(n\times n)}^{T}.[/math]
Для прямокутних матриць існує так зване економне уявлення сингулярного розкладання матриці
[math]{{A}_{(m\times n)}}={{U}_{(m\times m)}}{{\Lambda }_{(m\times n)}}V_{(n\times n)}^{T}[/math]
Згідно з цим поданням при [math]m\gt n[/math], діагональна матриця [math]\Lambda[/math] має порожні рядки (їх елементи рівні нулю), а при [math]m\lt n[/math] - порожні стовпці. Тому існує ще одне економне подання
[math]{{A}_{(m\times n)}}={{U}_{(m\times r)}}{{\Lambda }_{(r\times r)}}V_{(r\times n)}^{T},[/math]
в якому [math]r=\min (m,n).[/math] Нуль-простір матриці [math]A[/math] - набір векторів [math]\mathbf{x}[/math], для якого справедливе висловлювання [math]A\mathbf{x}=\mathbf{0}.[/math] Власне простір матриці [math]A[/math] - набір векторів [math]\mathbf{b}[/math], при якому рівняння [math]A\mathbf{x}=\mathbf{b}[/math] має ненульове рішення для [math]\mathbf{x}[/math]. Позначимо [math]\mathbf{u}k[/math] і [math]\mathbf{v}k[/math] - стовпці матриць [math]U[/math] і [math]V[/math]. Тоді розкладання [math]A=U\Lambda {{V}^{T}}~[/math] може бути записано у вигляді: [math]A=\sum\limits_{k=1}^{r}{{{A}_{k}}},\text{ }[/math] де [math]~{{A}_{k}}={{\mathbf{u}}_{k}}{{\lambda }_{k}}\mathbf{v}_{k}^{T}.[/math] Якщо сингулярне число [math]{{\lambda }_{k}}=0,[/math] то [math]A{{\mathbf{v}}_{k}}=\mathbf{0}~[/math] і [math]{{\mathbf{v}}_{k}}[/math] знаходиться в нуль-просторі матриці [math]A[/math], а якщо сингулярне число [math]{{\lambda }_{k}}\ne 0,[/math] то вектор [math]{{\mathbf{u}}_{k}}[/math] перебувають у власному просторі матриці [math]A[/math].