Decomposi¸c˜
ao em valores
singulares, pseudoinversas,
normas,
Amit Bhaya,
Programa de Engenharia El´etrica COPPE/UFRJ
Universidade Federal do Rio de Janeiro [email protected]
Decomposi¸c˜
ao em valores singulares
(DVS)
Ponto alto de ´algebra linear: diagonaliza¸c˜ao para qualquer tipo de matriz A, retangular (AM⌊⌉ ou BG⊏⊐) Al´em de diagonalizar, achamos bases o.n. para os 4 espa¸cos fundamentais associados a matriz A.
Para exemplificar, come¸camos com uma matriz 2 × 2 com posto 2, i.e., r = m = n = 2.
Queremos: v1 e v2 base o.n. para R(AT). Tamb´em queremos Av1 ⊥ Av2 (esta ´e a parte n˜ao-´obvia). Supondo poss´ıvel, os vetores ui = Avi/kAvik, i = 1, 2 formam base o.n. para R(A).
Dois coment´arios: 1. Porque n˜ao escolher uma base em vez de duas? Porque nenhuma matriz ortogonal Q tornaria Q−1AQ diagonal.
2. Porque n˜ao escolher os −→AV de A? Porque n˜ao ´e uma base o.n., pois A n˜ao ´e sim´etrica e precisamos de duas bases o.n. para diagonaliz´a-la.
Bases ortonormais que diagonalizam
No exemplo da matriz A ∈ R2×2, quando as ‘entradas’ s˜ao v1 e v2 as sa´ıdas s˜ao Av1 e Av2. Queremos que sejam alinhados com u1 e u2: Avi = σiui, i =
1, 2. Os n´umeros σi s˜ao os comprimentos kAvik.
Colocando os vi nas colunas de uma matriz, estamos querendo: A[v1 v2] = [σ1u1 σ2u2] = [u1 u2] · σ1 σ2 ¸ .
Em nota¸c˜ao matricial, AV = UΣ. A matriz diagonal Σ cont´em os valores singulares σi. As matrizes U e V s˜ao ortogonais.
Coment´ario: Compare a decomposi¸c˜ao acima (AV = UΣ) com a decomposi¸c˜ao na base de autovetores que diagonaliza (AX = XΛ). As colunas de X (−→AV de A) n˜ao s˜ao o.n. (a menos que A seja sim´etrica).
Decomposi¸c˜
ao em valores singulares
Teorema: Dada uma matriz A ∈ Rm×n, existem duas matrizes ortogonais U ∈ Rm×m, V ∈ Rn×n e uma matriz Σ ∈ Rm×n que possui apenas a diagonal principal possivelmente n˜ao-nula composta de n´umeros n˜ao-negativos denominados valores singulares, σi(A), de A:
A = UΣVT
Observa¸c˜oes sobre a DVS:
1. As colunas de U s˜ao os −→AV de AAT, e as colunas de V s˜ao os −→AV de ATA.
2. Ordenando os valores singulares σ1 ≥ σ2 ≥ · · · ≥ σr >
0 = σr+1 = · · · = σm, os r valores singulares n˜ao-nulos s˜ao
os AV n˜ao-nulos de ATA (ou de AAT, veja prova na pr´oxima transparˆencia)
3.
Base para Colunas R(A) primeiras r de U N (AT) ´ultimas m − r de U R(AT) primeiras r de V
N (A) ´ultimas n − r de V 4. Posto(A) = r.
Uma identidade matricial
A partir da identidade (para A ∈ Rm×n, B ∈ Rn×m) · I −A 0 I ¸ · AB 0 B 0 ¸ · I A 0 I ¸ = · 0 0 B BA ¸ . concluimos que F := · AB 0 B 0 ¸ e G := · 0 0 B BA ¸
s˜ao similares; AV de F s˜ao os AV de AB mais n zeros; AV de G s˜ao os AV de BA mais m zeros.
Conclus˜ao: Para m ≥ n, AB possui os mesmos AV que BA mais m − n zeros.
Aplica¸c˜ao: Escolhendo B = AT, temos o resultado citado na transparˆencia anterior (observa¸c˜ao 2).
Geometria da DVS
v1 v2 σ1 σ2 σ1u1 σ2u2 V U VT A ΣA figura mostra a a¸c˜ao de uma matriz A ∈ R2×2, n˜ao-singular, em termos da sua DVS: U, V s˜ao rota¸c˜oes/reflex˜oes, e Σ ‘estica’ os eixos. Esta matriz, e qualquer outra 2 × 2 invers´ıvel, transforma o c´ırculo unit´ario em elipse, cujos semi-eixos (em comprimento) s˜ao os valores singulares. Utilize o programa MATLAB eigshow (op¸c˜ao svd) para investigar outras matrizes 2 × 2 com anima¸c˜ao gr´afica.
Exemplos da DVS
A = 2 0 0 −3 0 0 = 1 0 0 0 −1 0 0 0 1 2 0 0 3 0 0 · 1 0 0 1 ¸ A = −1 2 2 = −13 23 23 2 3 − 1 3 2 3 2 3 2 3 − 1 3 3 0 0 [1]A j´a ortogonal ⇒ A = QII ou A = IIQ ou at´e mesmo A = QQ2IQT2 , por´em, em todos os casos, certamente Σ = I.
A ´e uma matriz de incidˆencia com AAT =
· 2 −1 −1 2 ¸ : A= · −1 1 0 0 −1 1 ¸ = · −1 1 1 1 ¸ /√2 /√2 · √ 3 0 0 0 1 0 ¸ 1 −2 1 −1 0 1 1 1 1 /√6 /√2 /√3
Pseudoinversas e m´ınimos quadrados
J´a vimos o problema de m´ınimos quadrados que, sob a hip´otese de A AM, posto completo por colunas, leva a equa¸c˜ao normal ATAbx = ATb. Na ausˆencia desta hip´otese, ATA n˜ao ´e invers´ıvel e qualquer z no seu espa¸co nulo pode ser acrescentado ao bx. H´a duas possibilidades: (i) linhas de A dependentes, (ii) colunas de A dependentes.
Em (i), se b 6∈ R(A), podemos projetar b em p ∈ R(A) e tentar resolver Abx = p. O problema surge quando (ii) tamb´em se verifica e n˜ao h´a solu¸c˜ao ´unica a esta ´ultima equa¸c˜ao.
Temos que achar o ‘melhor’ bx para qualquer matriz A. Isto ´e, escolher uma solu¸c˜ao particular da equa¸c˜ao Abx = p e a regra ser´a:
A solu¸c˜ao ´otima de Abx = p ´e aquela que possui comprimento m´ınimo.
Chamaremos esta solu¸c˜ao ´otima de x† e ser´a nossa solu¸c˜ao preferida tanto para Ax = b (que n˜ao admite solu¸c˜ao), quanto para Abx = p (que possui infinitas solu¸c˜oes).
Vemos agora o exemplo mais simples em que (i) e (ii) se verificam ...
Exemplo de pseudoinversa
Come¸camos pelo exemplo mais simples de A diagonal com linhas e colunas dependentes:
A = σ1 0 0 0 0 σ2 0 0 0 0 0 0 .
Como as colunas todas terminam em 0, o vetor no espa¸co coluna mais pr´oximo ao b ´e p = (b1, b2, 0). Temos, portanto, que resolver
σ1 0 0 0 0 σ2 0 0 0 0 0 0 ˆ x1 ˆ x2 ˆ x3 ˆ x4 = b1 b2 0 .
Como as colunas s˜ao dependentes, bx n˜ao ´e ´unica: os primeiros dois componentes s˜ao b1/σ1 e b2/σ2, por´em os outros dois componentes s˜ao arbitr´arios.
Exemplo de pseudoinversa (cont.)
Para minimizar a norma evidentemente devemos escolher ˆx3 = ˆx4 = 0.
A solu¸c˜ao de norma m´ınima de Abx = p ´e x†:
x† = b1/σ1 b2/σ2 0 0 = 1/σ1 0 0 0 1/σ2 0 0 0 0 0 0 0 b1 b2 b3 .
A matriz que produz x† a partir de b ´e chamada pseudoinversa de A e denotada A†.
Generalizando este exemplo, para qualquer matriz A ∈ Rm×n, com r elementos na diagonal principal n˜ao nulos, σ1, . . . , σr (e os demais todos nulos), a matriz A† ´e n×m com os ´unicos elementos n˜ao nulos tamb´em na diagonal principal dados por 1/σ1, . . . , 1/σr.
Pseudoinversa para uma matriz arbitr´
aria
Para generalizar o resultado anterior, provamos que a solu¸c˜ao mais curta x† sempre fica no espa¸co linha de A.
Pelo teorema fundamental, qualquer vetor x pode ser decomposto em um componente no espa¸co linha e outro no espa¸co nulo: bx = bxℓ + bxn. Agora:
1. Abxℓ = p, pois Abxn = 0.
2. Como bxℓ ⊥ bxn, pelo Pit´agoras kbxk2 = kbxℓk2 + kbxnk2, consequentemente bx ´e mais curto quando bxn = 0.
3. Todas as solu¸c˜oes de Abx = p possuem o mesmo componente no espa¸co linha bxℓ. Este vetor ´e x†.
F´
ormula para pseudoinversa em termos
da DVS
Seja a DVS de A = UΣVT. Ent˜ao a pseudoinversa de A ´e dada por
A† = VΣ†UT.
Os rec´ıprocos dos valores singulares n˜ao nulos aparecem na diagonal principal de Σ†. A pseudoinversa de A† ´e (A†)† = A. Exemplo: [−1 2 2] = [1][3 0 0] −13 23 23 2 3 −13 23 2 3 23 −13 [−1 2 2]† = −13 23 23 2 3 −13 23 2 3 23 −13 1 3 0 0 [1] = −19 2 9 2 9
Solu¸c˜
ao de norma m´ınima
A solu¸c˜ao de norma m´ınima, no sentido de m´ınimos quadrados, a Ax = b ´e x† = A†b = VΣ†UTb.
Prova: Multiplica¸c˜ao pela matriz ortogonal UT n˜ao muda comprimentos, portanto:
kAx − bk = kUΣVTx − bk = kΣVTx − UTbk
Introduzindo a nova inc´ognita y = VTx = V−1x (que possui o mesmo comprimento que x), vemos que minimizar kAx − bk ´e o mesmo que minimizar kΣy − UTbk. Mas este ´ultimo problema de minimiza¸c˜ao possui uma matriz ‘diagonal’ Σ para a qual sabemos calcular y† que ´e y† = Σ†UTb. Portanto o vetor x† ´e dado por:
x† = Vy† = VΣ†UTb.
Coment´ario: Podemos verificar diretamente que este x† pertence ao espa¸co linha de A e que satisfaz Ax† = p.
Normas de vetores
As no¸c˜oes essenciais de tamanho e distˆancia em um espa¸co vetorial s˜ao capturadas pelas normas que s˜ao utilizadas para medir convergˆencia e aproxima¸c˜ao em ´algebra linear (num´erica).
Uma norma ´e uma fun¸c˜ao k · k : V → R : v 7→ kvk que aloca um valor real (‘comprimento’) a cada vetor. Para que corresponda a uma id´eia razo´avel de comprimento, uma norma deve satisfazer trˆes axiomas: 1. ∀x ∈ V, kxk ≥ 0, e kxk = 0 somente se x = 0. 2. ∀x, y ∈ V, kx + yk ≤ kxk + kyk.
3. ∀α ∈ R, ∀x ∈ V, kαxk = αkxk.
Em palavras, estas condi¸c˜oes expressam o seguinte. (1): Norma de um vetor n˜ao-nulo ´e positiva, (2) ´e a famosa desigualdade do triˆangulo, (3) ´e a propriedade de homogeneidade. As vezes, dizemos` que propriedades (2) e (3) juntas definem o conceito de subaditividade.
Exemplos de normas vetoriais e bolas
unit´
arias (para n = 2)
kxk1 = Pni=1 |xi| kxk2 = ¡Pni=1 |xi|2 ¢1/2 kxk∞ = max1≤i≤n |xi| kxkp = (Pni=1 |xi|p)1/p , 1 ≤ p < ∞
Normas vetoriais
A norma-2 ´e o comprimento euclideano: sua bola unit´aria ´e realmente uma bola (esfera). Em engenharia el´etrica, a norma-2 representa a energia ou valor RMS (root-mean-square) de um sinal. ´E muito popular, f´acil de calcular e diferenci´avel.
A norma-∞ ´e o valor m´aximo (pico) dos componentes de um vetor (em m´odulo). ´E f´acil de calcular, por´em n˜ao-diferenci´avel.
A norma-1 ´e utilizada pelas companhias ´aereas para definir o tamanho m´aximo de bagagem de m˜ao (norma-1 de uma mala = soma das suas trˆes dimens˜oes lineares). Tamb´em pelo tax´ımetro em um bairro com grid de ruas planejadas (N/S/L/O: e.g. Manhattan): a distˆancia percorrida entre a origem e o ponto x = (x1, x2) ´e kxk1 = |x1| + |x2|.
Al´em das normas-p, outras normas ´uteis s˜ao as normas-p ponderadas onde cada coordenada recebe uma pondera¸c˜ao wi. Em geral, dada qualquer norma k · k, uma norma ponderada pode ser escrita como
kxkW :=kWxk,
Normas matriciais induzidas
Uma matriz m × n pode ser vista como um vetor no espa¸co de dimens˜ao mn – cada um dos elementos considerado como coordenada independente. Portanto, qualquer norma vetorial pode ser utilizada para medir o ‘tamanho’ de uma matriz.
Por´em, as normas induzidas, definidas em termos do comportamento da matriz encarada como transforma¸c˜ao entre um espa¸co normado (dom´ınio) e outro (imagem), s˜ao mais ´uteis. Para simplicidade, utilizando a mesma norma k · kp no dom´ınio
e na imagem, a p-norma induzida de A, denotado kAkp, ´e
definida como o m´aximo da raz˜ao kAxkp/kxkp quando x varre
o dom´ınio. Em outras palavras, ´e o fator m´aximo pelo qual uma matriz pode ‘esticar’ um vetor; ou ´e o m´aximo ganho da entrada para a sa´ıda.
Pela propriedade de homogeneidade da norma, a a¸c˜ao de A ´e determinada pela sua a¸c˜ao sobre vetores unit´arios. Portanto, podemos definir a norma induzida equivalentemente em termos das imagens dos vetores unit´arios pelo A.
kAkp = sup x∈Rn x6=0 kAxkp kxkp = sup x∈Rn kxkp=1 kAxkp.
F´
ormulas para normas induzidas de
A
∈ R
m×nA norma-1 induzida de uma matriz ´e dada pela soma m´axima das colunas (em m´odulo), i.e.:
kAk1 = max 1≤j≤n m X i=1 |aij|
A norma-2 induzida de uma matriz ´e dada pelo seu m´aximo valor singular:
kAk2 = s max x6=0 xTATAx xTx = q λmax(ATA) = σ max(A).
A norma-∞ induzida de uma matriz ´e dada pela soma m´axima das linhas (em m´odulo), i.e.:
kAk∞ = max 1≤i≤m n X j=1 |aij|
Propriedades de normas induzidas
kABk ≤ kAkkBk (submultiplicatividade)
Axiomas de norma:
1. kAk ≥ 0, e kAk = 0 somente se A = 0. 2. kA + Bk ≤ kAk + kBk. (subaditividade) 3. kαAk = |α|kAk.
Uma norma matricial frequentemente utilizada, que n˜ao ´e induzida, ´e a norma de Frobenius ou Hilbert-Schmidt, definida como:
kAkF := m X i=1 n X j=i |aij|2 1/2
Para qualquer A ∈ Rm×n, Q ∈ Rm×m ortogonal, kQAk2 =
Aplica¸c˜
oes da DVS
Vimos uma aplica¸c˜ao a compress˜ao de imagens e uma outra a busca de documentos indexados por palavras-chave em ordem de relevˆancia a uma solicita¸c˜ao (= combina¸c˜ao linear de palavras-chave).
Ambas as aplica¸c˜oes s˜ao baseadas no seguinte resultado:
Se σ1 ≥ σ2 ≥ · · · ≥ σr s˜ao os valores singulares n˜ao-nulos de
A ∈ Rm×n, ent˜ao para cada k < r, a distˆancia de A `a matriz mais pr´oxima (em norma-2 induzida) de posto k ´e:
σk+1 = min
posto(B)=kkA − Bk2.
Consequentemente, a matriz de posto k que melhor aproxima A ´e dada por:
Um teorema importante:
Cayley–Hamilton
Um resultado importante que n˜ao mencionamos at´e agora ´e o teorema de Cayley–Hamilton que diz, em palavras, que toda matriz quadrada satisfaz seu polinˆomio caracter´ıstico.
Mais formalmente, se A ∈ Rn×n possui polinˆomio caracter´ıstico pA(s) := sn+(−1)n−1tr(A)sn−1+· · ·+(−1)n det A, ent˜ao
pA(A) := An+(−1)n−1tr(A)An−1+· · ·+(−1)n(det A)I = 0.
Note que este teorema diz que pA(A) produz a matriz nula
n × n. N˜ao confunda isso com o argumento trivial e errado pA(λ) := det(λI − A), logo substitutindo λ por A, temos