A decomposição SVD¶
Vimos no Teorema Espectral que é possível decompor qualquer matriz simétrica como o produto entre 3 matrizes, sendo uma delas diagonal (contendo os autovalores) e as outras duas ortogonais (de transição entre a base canônica e a base ortonormal de autovetores). Esse tópico apresenta uma espécie de “generalização” do Teorema Espectral para uma matriz qualquer de dimensão .
A ideia geral é similar, queremos decompor uma matriz como o produto entre 3 matrizes:
Em particular, nos seria interessante que tais matrizes tenham propriedades similares ao caso do Teorema Espectral, com e ortogonais e diagonal. Mas note que se não é quadrada essa configuração não é possível, já que para tal deveríamos ter 3 matrizes quadradas, cujo produto não resultaria em uma matriz não quadrada. Como veremos, o que obteremos será o seguinte:
é uma matriz ortogonal ;
é uma matriz retangular diagonal ;
é a transposta de uma matriz ortogonal .
O próximo teorema é a base para essa ideia. Ele nos indica quais serão os valores da diagonal de , chamados de valores singulares, e quais os vetores que irão compor as matrizes e . Para demonstrá-lo precisamos do seguinte lema:
Demonstração 11.1
Demonstração 11.2
Pelo Teorema 9.12 sabemos que existe uma base ortonormal do constituída de autovetores de , com autovalores associados respectivamente. Além disso, e portanto todos os seus autovalores são não negativos.
Dessa forma, considere ordenados tais que . Também de Teorema 9.12 sabemos que o posto de é o mesmo de , igual a . Logo, temos que:
Então, para iremos definir:
Ou seja, para temos , onde cada é um vetor unitário. Além disso, como , temos
(observe que como é ortonormal, então )
Para temos que (pois compõem uma base ortonormal). Além disso e , então:
Logo, e também são ortogonais. Em particular, são ortonormais. Além disso, para ,
E como consequência do Lema 11.1 temos que, para , é autovetor de com autovalor não nulo.
Observe também que a dimensão do espaço nulo de deve ser , uma vez que .
Consideramos então uma base ortonormal de (ou seja, cada desses é um autovetor de associado ao autovalor 0). E ainda, são ortogonais a , pois a soma direta dos espaços gerados por eles, respectivamente, é igual ao espaço , que por sua vez também é igual a soma direta entre o espaço gerado por e seu complemento ortogonal. Logo, constitui uma base ortonormal de formada por autovetores de .
Note que, para , temos , pois , como proposto. Similarmente, para temos e , logo , pois .
Tais constituirão as colunas da matriz e são chamados de vetores singulares à direita, enquanto constituirão as colunas de e são chamados de vetores singulares à esquerda.
A partir disso, temos então a chamada Decomposição em Valores Singulares (também conhecida como SVD, do inglês Singular Value Decomposition) de uma matriz:
Demonstração 11.3
Novamente, considere , e do Teorema 11.2 (Valores Singulares). Claramente as matrizes e são ortogonais, pois são formadas por vetores ortonormais.
Considere a matriz retangular diagonal de dimensão , contendo em sua diagonal principal (nesta ordem) e as demais entradas nulas.
Observe que . Multiplicando isto por à direita, obtemos:
Pelo Teorema 11.2 (Valores Singulares), sabemos que a ação de em qualquer vetor é dada por:
Mas note que isso coincide com a ação de em , pois
(consequência do fato que é ortonormal, logo se e se )
Dado que é uma base de , devemos ter (pela unicidade de uma transformação linear sobre uma base) que
Vejamos agora um exemplo, para entender como a decomposição em valores singulares é feita na prática.
Aproximação de matrizes utilizando SVD¶
Entre uma das muitas aplicações da decomposição SVD está a aproximação de matrizes. Em um cenário computacional, é comum que seja mais vantajoso trabalharmos com uma aproximação de determinado objeto matemático do que com sua forma exata. Para matrizes isso ocorre com bastante frequência.
Por exemplo, suponha que uma matriz de posto possua os valores singulares não nulos . Ou seja, . Ao realizarmos cálculos com essa matriz na forma SVD em um computador, devido à natureza da arimética de ponto flutuante, haverá um acúmulo de erros decorrente dos produtos com a entrada 0.0001. Nesse caso, como 0.0001 está muito próximo de 0, acaba sendo mais benéfico (do ponto de vista de minimização de erros) “truncarmos” o posto de para , isto é, consideramos .
Primeiramente, precisamos de uma métrica que nos permita determinar o quão “próximas” estão duas matrizes, assim definimos uma norma para matrizes. Em particular, existem diferentes tipos de normas para matrizes (assim como existem para vetores), mas para os própositos desse tópico nos será útil a norma 2, pela relação que ela possui com os valores singulares.
Essa é a definição mais comum, mas verifica-se que ela é equivalente a seguinte, que explicita a relação dessa norma com os valores singulares:
Essa equivalência entre as duas definições fica evidente quando pensamos geometricamente. A primeira definição diz respeito ao maior “alongamento” na norma 2 vetorial que causa, entre todos os vetores unitários do , que corresponde justamente ao seu maior valor singular (uma vez que os vetores que compõem a matriz da decomposição SVD formam uma base de ).
Então, temos a aproximação de matrizes via truncamento da SVD:
Observe que possui posto .
Demonstração 11.8
Começamos pela igualdade . Devemos mostrar que é o maior valor singular de . Mas observe que
e pela definição de concluímos que é de fato o maior valor singular.
Agora, para com posto , mostremos que .
Sejam os vetores que compõem as colunas de , defina . Temos então , pois . Logo,
Por outro lado, observe que (pela definição de ) e (pois tem posto ). Portanto,
indicando que .
Sendo assim, consideremos tal que . Pela definição de (dado que são ortonormais) e como, em particular, , temos
Como , temos . Mas, pela ortonormalidade de :
Logo,
Além disso, , então:
e temos que , para . Em particular, são ortonormais, utilizando esses fatos temos
Mas, (utilizando (37)). Portanto, considerando que é equivalente ao máximo de para todo tal que (pela primeira definição da norma 2 matricial), concluímos:
O tópico 13. Compressão de imagens utilizando Decomposição em Valores Singulares mostra como essa ideia de aproximação de matrizes pode ser aplicada.
Pseudoinversa¶
A decomposição SVD também nos permite construir uma generalização da ideia de inversa para uma matriz qualquer, que não precisa nem mesmo ser quadrada.
Para ilustrar melhor como obter , se posto de é igual a e seja:
A matriz resultante da inversão dos () é:
E então, .
O caráter de “inversa” da matriz se dá pelas seguintes propriedades que ela satisfaz:
Tais propriedades são verificadas sem muita dificuldade considerando-se a decomposição SVD de e as propriedades das matrizes , , e . Note que valem as igualdades mesmo sem a garantia de que e são iguais as identidades nos espaços correspondentes (em particular, isso valerá quando é quadrada e invertível, tendo-se ). Por isso, é uma generalização da inversa.
Essas quatro propriedades são chamadas de condições de Penrose e definem, na verdade, um tipo específico de pseudoinversa (daí o nome “pseudoinversa de Moore-Penrose”). Em geral, essa é a pseudoinversa mais conhecida e utilizada, mas existem outros tipos (normalmente definidas para atender condições computacionais específicas).
Uma das principais aplicações da pseudoinversa se dá na obtenção de soluções para o problema de quadrados mínimos, abordado no tópico 14. Resolução de sistemas lineares por Quadrados Mínimos.
Caso todos os autovalores sejam distintos, por Proposição 9.5 sabemos que todos os autovetores encontrados serão ortogonais. Mas, caso hajam autovalores repetidos, não há essa garantia. Logo, talvez seja necessário ortogonalizar alguns autovetores, o que pode ser feito via processo de Gram-Schmidt.
O que mais uma vez pode ser feito via processo de Gram-Schmidt.