Decomposição em valores singulares

Em álgebra linear, a decomposição em valores singulares ou singular value decomposition (SVD) é a fatoração de uma matriz real ou complexa, com diversas aplicações importantes em processamento de sinais e estatística.

Visualização da SVD de uma matriz real bi-dimensional (shearing matrix) M. Primeiro, vê-se o círculo unitário em azul juntamente com os dois vetores unitários da base canônica. Também pode ser vista a ação de M, que distorce o círculo a uma elipse. A SVD decompõe M em três transformações simples: a rotação V*, a escala (esticamento) Σ juntamente com os eixos rotacionados e uma segunda rotação U. Os comprimentos σ1 e σ2 dos semi-eixos da elipse são os valores singulares de M.

Formalmente, a decomposição em valores singulares de uma matriz m×n real ou complexa M é uma fatoração ou fatorização na forma:

onde U é uma matriz unitária m×m real ou complexa, Σ é uma matriz retangular diagonal m×n com números reais não-negativos na diagonal, e V* (a conjugada transposta de V) é uma matriz unitária n×n real ou complexa. As entradas diagonais Σi,i de Σ são os chamados valores singulares de M. As m colunas de U e as n colunas de V são os chamados vetores singulares à esquerda e vetores singulares à direita de M, respetivamente.

A decomposição em valores singulares e a decomposição em autovalores são intimamente relacionadas. Mais especificamente:

  • Os vetores singulares à esquerda de M são autovetores de
  • Os vetores singulares à direita de M são autovetores de
  • Os valores singulares não-nulos de M (ao longo da diagonal de Σ) são as raízes quadradas dos autovalores não-nulos de ou

Dentre as aplicações que envolvem a SVD estão o cálculo da pseudoinversa, o ajuste (fitting) de dados por mínimos quadrados, aproximação de matrizes, e a determinação do posto, imagem e núcleo de uma matriz.

Enunciado do teorema editar

Suponha-se que M é uma matriz m×n cujas entradas vêm de um corpo de escalares K, que pode ser tanto o corpo de números reais ou o corpo de números complexos. Então existe uma fatorização da forma:   onde U é uma matriz unitária m×m sobre K, a matriz Σ é uma matriz diagonal m×n com números reais não-negativos na diagonal, e V*, uma matriz unitária n×n sobre K, denota a transposta conjugada de V. Tal fatorização é chamada de decomposição em valores singulares de M.

Os elementos diagonais   de Σ são chamados de valores singulares de M. Uma convenção bastante comum é listar os valores singulares em ordem decrescente. Neste caso, a matriz diagonal Σ é determinada de forma única por M (mas as matrizes U e V não são).

Interpretações intuitivas editar

Rotação, escala, rotação editar

No caso especial porém comum no qual M é apenas uma matriz quadrada m×m com determinante positivo cujas entradas são meros números reais, então U, V*, e Σ são matrizes m×m também de números reais, Σ pode ser vista como uma matriz de escala, e U e V* podem ser vistas como matrizes de rotação.

Se as condições supracitadas são satisfeitas, a expressão   pode ser interpretada intuitivamente como uma composição (ou sequência) de três transformações geométricas: uma rotação, uma escala, e outra rotação. A figura acima exemplifica como uma matriz de cisalhamento (shear matrix) pode ser descrita como tal sequência.

Valores singulares como semi-eixos de uma elipse ou elipsoide editar

Como ilustrado na figura, os valores singulares podem ser interpretados como os semi-eixos de uma elipse em 2D. Este conceito pode ser generalizado para o Espaço euclidiano n-dimensional, com valores singulares de qualquer matriz quadrada nxn sendo vistos como os semi-eixos de um elipsoide n-dimensional. Veja abaixo para maiores detalhes.

U e V são bases ortonormais editar

Como U e V* são unitárias, as colunas de cada uma formam um conjunto de vetores ortonormais, que podem ser tomados uma base. Pela definição de matriz unitária, o mesmo vale para suas conjugadas transpostas U* e V. Em suma, U, U*, V, e V* são bases ortonormais.

Exemplo editar

Considere-se a matriz 4×5

 [1]


A decomposição em valores singulares desta matriz é dada por  

 

Note-se que   contém apenas zeros fora da diagonal. Ademais, como as matrizes   e   são unitárias, multiplicando-se por suas respectivas conjugadas transpostas gera matrizes identidades, como mostrado a seguir. Nesse caso, como   e   são reais, cada uma delas é uma matriz ortogonal.

 

e

 

Deve-se notar que esta decomposição em valores singulares em particular não é única. Escolhendo-se   tal que

 

é também uma decomposição válida em valores singulares.

Valores singulares, vetores singulares e sua relação com a SVD editar

Um número real não-negativo σ é um valor singular para M se e somente se existem vetores unitários u em Km e v em Kn tal que

 

Os vetores u e v são chamados vetor singular à esquerda e vetor singular à direita para σ, respectivamente.

Em qualquer decomposição em valores singulares

 

os elementos diagonais de Σ são iguais aos valores singulares de M. As colunas de U e V são, respectivamente, vetores singulares à esquerda e à direita para os valores singulares correspondentes. Por consequência, o teorema acima implica que:

  • Uma matriz m × n M tem pelo menos um e no máximo p = min(m,n) valores singulares distintos.
  • É sempre possível encontrar uma base ortogonal U para Km consistindo dos vetores singulares à esquerda de M.
  • É sempre possível encontrar uma base ortogonal V para Kn consistindo dos vetores singulares à direita de M.

Um valor singular para o qual podemos encontrar dois vetores singulares à esquerda (ou direita) que sejam linearmente independentes é chamado degenerado.

Valores singulares não-degenerados têm sempre vetores singulares à esquerda e à direita únicos, a não ser pela multiplicação por um fator de fase único eiφ (para o caso real a não ser pelo sinal). Assim, se todos os valores singulares de M são não-degenerados e não-zero, então sua decomposição em valores singulares é única, a não ser por multiplicação de uma coluna de U por um fator de fase único e a multiplicação simultânea da coluna correspondente de V pelo mesmo fator unitário de fase.

Valores singulares degenerados têm, por definição, vários vetores singulares distintos. Ademais, se u1 e u2 são dois vetores singulares à esquerda ambos correspondendo ao valor singular σ, então qualquer combinação linear normalizada de dois vetores é também um vetor singular à esquerda correspondendo ao valor singular σ. Raciocínio análogo é válido para vetores singulares à direita. Por consequência, se M tem valores singulares degenerados, então sua decomposição em valores singulares não é única.

Aplicações da SVD editar

Pseudo-inversa editar

A decomposição em valores singulares pode ser usada para calcular a pseudoinversa de uma matriz, a qual é útil como uma forma de resolver problemas de mínimos quadrados lineares. De fato, a pseudoinversa da matriz M com decomposição em valores singulares   é

 

onde Σ+ é a pseudoinversa de Σ, a qual é formada substituindo-se todo elemento diagonal não-nulo por seu inverso e tomando-se a transposta da matriz resultante.

Solução de sistemas lineares homogêneos editar

Um conjunto de equações lineares homogêneas pode ser escrito como   para uma matriz  e vetor  . Uma situação típica é quando   é dada e quer-se determinar   não-nulo que satisfaça a equação. Tal   pertence ao núcleo de   e é por vezes chamado de vetor nulo (à direita) de  .   pode ser caracterizado como um vetor singular à direita correspondendo a um valor singular de   que seja zero. Isto significa que se   é uma matriz quadrada e não tem nenhum valor singular nulo, então a equação tem   não-nulo como solução. Também significa que se existem vários valores singulares nulos, qualquer combinação linear dos vetores singulares à direita é uma solução válida. Analogamente à definição de um vetor nulo (à direita), um   não-nulo satisfazendo  , com   sendo a transposta conjugada de  , é chamada de um vetor nulo à esquerda de  .

Minimização de mínimos quadrados totais editar

Um problema de mínimos quadrados totais (total least squares) objetiva determinar o vetor   que minimiza a norma   de um vetor   sob a restrição  . Mostra-se que a solução é o vetor singular à direita de   correspondendo ao menor valor singular.

Imagem, núcleo e posto editar

Outra aplicação da SVD é que a mesma representa explicitamente a imagem e o núcleo de uma matriz M. Os vetores singulares à direita que correspondem a valores singulares nulos de M geram o núcleo (kernel) de M. Por exemplo, o núcleo é gerado pelas últimas duas colunas de   no exemplo acima. Os valores singulares à esquerda correspondendo aos valores singulares não-nulos de M geram a imagem de M. Assim, o posto de M é igual ao número de valores singulares não-nulos que é igual ao número de elementos não-diagonais em  .

Em álgebra linear numérica os valores singulares podem ser usados para determinar o posto efetivo de uma matriz, já que erros de arredondamento podem levar a valores singulares pequenos porém não-nulos numa matriz de posto deficiente.

Aproximação por matriz de baixo posto editar

Algumas aplicações práticas precisam resolver o problema de se aproximar uma matriz   usando outra matriz   de posto  . Para o caso em que a aproximação é baseada na minimização da norma de Frobenius da diferença entre   e   sob a restrição de que  , pode-se mostrar que a solução é dada pela SVD de  :

 

onde   é a mesma matriz que   a não ser pelo fato de conter os   maiores valores singulares (os outros valores singulares são substituídos por zero). Isso é conhecido como o teorema Eckart–Young, provado por tais autores em 1936 (apesar de ter-se descoberto mais tarde que já era conhecido por outros autores; veja Stewart 1993).

Modelos separáveis editar

A SVD pode ser vista como a decomposição de uma matriz em uma soma ponderada e ordenada de matrizes separáveis. O termo 'separável' refere-se ao fato de uma matriz   poder ser escrita como um produto externo de dois vetores  , ou, em coordenadas,  . Especificamente, a matriz M pode ser decomposta como:

 

Aqui,   e   são as i-ésimas colunas das matrizes SVD correspondentes,   são os autovalores ordenados, e cada   é separável. A SVD pode ser usada para encontrar a decomposição de um filtro de processamento de imagens em filtros separados verticais e horizontais. Note-se que o número de  's não-nulos é precisamente o posto da matriz.

Matriz ortogonal mais próxima editar

Pode-se utilizar a SVD de   para determinar a matriz ortogonal   mais próxima de  . A proximidade é medida pela norma de Frobenius de  . A solução é o produto  .[2] Isso confere com a intuição já que uma matriz ortogonal deveria ter a decomposição   onde   é a matriz identidade, de forma que se   então o produto   se reduz a colocar 1's no lugar dos valores singulares.

Um problema similar, com aplicações fundamentais em visão computacional, robótica e en:shape analysis, é o Problema de Procrustes Ortogonal (orthogonal Procrustes problem), que consiste em encontrar uma matriz ortogonal   que mapeia   o mais próximo possível de  . Formalmente,

 

onde   é a norma de Frobenius.

Este problema é equivalente ao de encontrar a matriz ortogonal mais próxima a uma dada matriz  .

O Algoritmo de Kabsch editar

O algoritmo de Kabsch (Kabsch algorithm), também conhecido como Wahba's problem, utiliza a SVD para calcular a rotação ótima (no sentido dos mínimos quadrados) que alinha um conjunto de pontos com um conjunto de pontos correspondentes. Isso tem aplicações para a comparação de estruturas moleculares e em problemas relacionados a modelos 3D em visão computacional e robótica.

Outros exemplos editar

A SVD é também aplicada extensivamente ao estudo de problemas inversos lineares e é útil na análise de métodos de regularização tais como os de regularização de Tikhonov (Tikhonov regularization).[3] Também é amplamente utilizada em estatística, onde se relaciona com a análise de componentes principais e à en:Correspondence analysis, de aplicação direta em processamento de sinais e reconhecimento de padrões. Também é usada em análise modal, onde os mode shapes não escalados podem ser determinados pelos vetores singulares. Ainda outro uso é no indexamento semântico latente no processamento de linguagem natural textual.

A SVD também tem papel crucial no campo da informação quântica (quantum information), numa forma comumente chamada de decomposição de Schmidt. Através dela, estados de dois sistemas quânticos são decompostos naturalmente, provendo condição necessária e suficiente para eles serem entangled: se o posto de   é maior que um.

Uma aplicação da SVD para matrizes grandes é na previsão numérica do tempo, onde os vetores singulares gerados podem representar sistemas meteorológicos inteiros. Outra aplicação é a obtenção da equação do raio de luz que gerou um ponto em uma projeção perspectiva de uma cena (como uma foto) através da pseudoinversa.[4]

História editar

A decomposição em valores singulares foi originalmente desenvolvida por geômetras estudando geometria diferencial. Eles desejavam determinar se uma forma bilinear real pode ser tornada igual a uma outra por transformações ortogonais independentes dos dois espaços no qual ela age. Eugenio Beltrami e Camille Jordan descobriram independentemente, em 1873 e 1874, respectivamente, que os valores singulares das formas bilineares, representados por uma matriz, formam um conjunto completo de invariantes para formas bilineares sob substituições ortogonais. James Joseph Sylvester também chegou à decomposição em valores singulares para matrizes quadradas reais em 1889, aparentemente independentemente de Beltrami e Jordan. Sylvester chamou os valores singulares de multiplicadores canônicos da matriz A. O quarto matemático a descobrir a decomposição em valores singulares de forma independente foi Autonne em 1915, que chegou a ela via a decomposição polar (Polar decomposition). A primeira prova da decomposição singular para matrizes retangulares e complexas parece ter sido realizada por Carl Eckart e Gale Young em 1936;[5] eles viam a SVD como uma generalização da transformação de eixo principal para matrizes hermitianas.

Em 1907, Erhard Schmidt definiu um conceito análogo ao de valores singulares para operadores integrais (que são compactos, sob certas premissas técnicas); parece que ele não estava ciente do trabalho paralelo de valores singulares para matrizes finitas. Essa teoria foi levada adiante por Émile Picard em 1910, que é o primeiro a chamar os números   de valores singulares (ou valeurs singulières).

Relação com a decomposição em autovalores (espectral) editar

A decomposição em valores singulares é bastante geral, já que pode ser aplicada a qualquer matriz m × n , ao passo que a decomposição em autovalores pode apenas ser aplicada para algumas classes de matrizes quadradas.

Dada uma SVD de M, como acima, valem as seguintes condições:

 
 

Os lados direitos dessas relações descrevem a decomposição em autovalor dos lados esquerdos. Sendo assim:

  • Os vetores singulares à esquerda de M são autovetores de  
  • Os vetores singulares à direita de M são autovetores de  
  • Os valores singulares não-nulos de M (ao longo da diagonal de Σ) são as raízes dos autovalores não-nulos de   ou  

No caso especial em que M é uma matriz normal, que por definição deve ser quadrada, o teorema espectral diz que ela pode ser unitariamente diagonalizada usando-se uma base de autovalores, de forma que ela pode ser escrita   para uma matriz unitária U e uma matriz diagonal D. Quando M é também positiva semi-definida, a decomposição   é também uma SVD.

No entanto, as decomposições em autovalores e em valores singulares diferem para todas outras matrizes M: a decomposição espectral é   onde U não é necessariamente unitária e D não é necessariamente positiva semi-definida, enquanto a SVD é   onde Σ é diagonal postiva semi-definida, e U e V são matrizes unitárias que não são necessariamente relacionadas exceto através de M.

Ver também editar

Notas editar

  1. «Confira este exemplo e faça outros com O Monitor». omonitor.io. Consultado em 22 de março de 2016 
  2. The Singular Value Decomposition in Symmetric (Lowdin) Orthogonalization and Data Compression
  3. Francisco Duarte Moura Neto e Antônio José da Silva Neto, Problemas Inversos: Conceitos Fundamentais e Aplicações, EdUERJ. Veja um resumo formal e útil de SVD no apêndice.
  4. Richard Hartley and Andrew Zisserman, Multiple View Geometry in Computer Vision, Cambridge University Press
  5. Eckart, C.; Young, G. (1936). «The approximation of one matrix by another of lower rank». Psychometrika. 1 (3): 211–8. doi:10.1007/BF02288367. 

Referências editar

Ligações externas editar

  • «Material on-line de cursos de graduacao e pos-graduacao de Algebra Linear Numerica/Aplicada e Analise Matricial do IPRJ» 🔗