Bases, frames (quadros) e decomposições
lineares
Introdução
●
Até o momento no curso:
– Bases e frames.
– Bases → ortogonais (ortonormais) e biortogonais.
– Frames → justos, genéricos.
– Representações “mínimas” e redundantes.
– Preservação da energia.
– Produtos internos, decomposições lineares.
– Etc…
●
Mas! De onde vem tudo isso? Por que é dessa forma?
Qual a sua importância?
Espaços vetoriais
●
Em nosso dia-a-dia, estamos acostumados a lidar com “coisas” em 2 ou 3 dimensões → ℝ 2 , ℝ 3 .
● Para tanto → notação vetorial
⃗ v = [ v v 1 2 ] = [ 3 2 ] = 3 ^ i + 2 ^ j = 3 [ 1 0 ] + 2 [ 0 1 ]
⃗ A = [ 2, 3, 6 ] T = 2 ^ i + 3 ^ j + 6 k ^
= [ A 1, A 2 , A 3 ] T
Espaços vetoriais
●
Fechamento em relação à adição:
⃗
a = [ a 1, a 2 ] T
⃗ b = [ b 1, b 2 ] T
⃗
a +⃗ b = [ a 1 + b 1, a 2 + b 2 ] T
⃗
a −⃗ b =⃗ a + ( −⃗ b ) =
= [ a 1 − b 1, a 2 − b 2 ] T
⃗
a =⃗ b ⇒ ⃗ a −⃗ b =⃗ 0 = [ 0, 0 ] T ⇒ a 1 = b 1, a 2 = b 2
⃗
a = [ a 1, a 2 ] T
k ⃗ a = [ k a 1, k a 2 ] T
●
Fechamento em relação à multiplicação por escalar:
ℝ 2 , ℝ 3 são
espaços vetoriais
fechados
Produto interno, norma e distância
●
Produto interno (escalar, “dot product”):
⟨⃗ a , ⃗ b ⟩=‖ a ‖⋅‖ b ‖ cos θ a b , 0 ⩽θ a b ⩽π
=‖ a ‖⋅‖ b ‖⋅ [ cos (θ a ) cos (θ b )+ sin (θ a ) sin (θ b ) ]
= a 1 b 1 + a 2 b 2
Forma trigonométrica
Forma algébrica
=‖ a ‖⋅‖ b ‖ cos (θ a −θ b )
=‖ a ‖⋅‖ b ‖⋅ [ ‖ a a 1 ‖ ‖ b b 1 ‖ + ‖ a a 2 ‖ ‖ b b 2 ‖ ]
⟨⃗ a , ⃗ b ⟩= ∑
i = 1 N
a i b i
⟨⃗ a , ⃗ b ⟩=⃗ a ⋅⃗ b ⇒
Produto interno, norma e distância
●
Em ℝ 3 teríamos
⃗
v A =[ x A 0 x A1 x A 2 ] T ⃗ v B =[ x B 0 x B 1 x B 2 ] T
⟨⃗ v A , ⃗ v B ⟩=‖ v A ‖⋅‖ v B ‖ cos θ AB = x A 0 x B 0 + x A 1 x B 1 + x A 2 x B 2
Forma trigonométrica Forma algébrica
●
Generalizando → em espaços vetoriais de dimensão N ( ℝ N ):
⟨ ⃗ v A , v ⃗ B ⟩=‖ v A ‖⋅‖ v B ‖ cos θ AB = x A 0 x B 0 + x A 1 x B 1 +⋯+ x A ( N − 1 ) x B ( N − 1 )
⟨ ⃗ v A , v ⃗ B ⟩= ∑
k = 0 N − 1
x Ak x Bk ∗ Produto interno generalizado
Produto interno, norma e distância
●
O produto interno de um vetor com ele mesmo será
⟨ ⃗ v A , v ⃗ A ⟩= x A 0 x A 0 + x A 1 x A 1 +⋯+ x A ( N − 1 ) x A ( N − 1 )
= x 2 A0 + x 2 A1 +⋯+ x 2 A ( N − 1 )
= ∑
k = 0 N − 1
x 2 Ak
●
A raiz quadrada positiva é a norma-l 2 do vetor:
‖⃗ v A ‖= √ ⟨ ⃗ v A , v ⃗ A ⟩= √ N ∑ k = − 0 1 x 2 Ak = l 2
“Energia” do vetor
“Comprimento”
do vetor
Produto interno, norma e distância
●
Distância (erro, discrepância) entre dois vetores → norma da diferença:
d ( ⃗ v A , v ⃗ B )=‖⃗ v A − ⃗ v B ‖= √ [ x A 0 − x B 0 ] 2 +⋯+[ x A ( N − 1 ) − x B ( N − 1 ) ] 2
= √ N ∑ k = −1 0 [ x Ak − x Bk ] 2
Usado, por exemplo, em avaliações de aproximações:
“root-mean-square” (RMSE),
“signal to noise ration” (SNR),
“peak SNR” (PSNR) e
regressão por mínimos
quadrados, etc...
Produto interno, norma e distância
●
O produto interno é uma medida de orientação entre dois vetores: ⟨ ⃗ v A , v ⃗ B ⟩=‖ v A ‖⋅‖ v B ‖ cos θ AB
– Se os vetores são colineares e no mesmo sentido:
Vetores ortogonais θ AB = 0 ⇒ ⟨ ⃗ v A , v ⃗ B ⟩ máximo
θ AB = π ⇒ ⟨ ⃗ v A , v ⃗ B ⟩ mínimo ( negativo )
θ AB = π
2 ⇒ ⟨ ⃗ v A , v ⃗ B ⟩= 0 ⇒ ⃗ a ⊥⃗ b
– Se são colineares, mas em sentidos opostos:
– Se são perpendiculares:
●
Se um dos vetores for de norma constante ou unitário→
avaliação de similaridade!
⟨ v A , v B ⟩=‖ v A ‖⋅ 1 cos θ AB ⃗ u a = ⃗ a
‖ a ‖ , ‖⃗ u a ‖= 1
Projeção vetorial
●
Projetar um vetor em outro vetor:
proj ⃗ B ⃗ A =‖ A ‖ cos θ AB ⃗ u B
= ⟨ ⃗ A , ⃗ B ⟩
‖⃗ B ‖ ⋅ ⃗ B
‖⃗ B ‖
●
Projetar um vetor em um subespaço vetorial:
⃗ a proj xy ⃗ a = proj x ⃗ a + proj y ⃗ a
=‖ A ‖ cos α ⃗ u x +‖ A ‖ cos β ⃗ u y
= ⟨ ⃗ A , ⃗ x ⟩
‖⃗ x ‖ ⋅ ⃗ x
‖⃗ x ‖ + ⟨ ⃗ A , ⃗ y ⟩
‖⃗ y ‖ ⋅ ⃗ y
‖⃗ y ‖
Espaços vetoriais N-dimensionais
●
Os conceitos de vetores, pontos, linhas, planos, etc., podem ser generalizados para qualquer
dimensão.
●
Ex.:
⃗
a = [ a 1, a 2, ⋯ , a N ] T N-tuplos de números reais, .
Espaço ℝ N Todos os vetores de números reais de dimensão N.
●
Ex.: Espaço ℂ N Vetores de números complexos de dimensão N.
a i ∈ℝ
⃗
a = [ a 1, a 2, ⋯ , a N ] T N-tuplos de números complexos . a i ∈ℂ
= [ ( a 1 ℜ + j a 1 ℑ ) , ( a 2 ℜ + j a 2 ℑ ) , ⋯ , ( aN ℜ + j aN ℑ ) ] T
= [ (| a 1 | e ϕ
a1) , (| a 2 | e ϕ
a2) , ⋯ , (| a N | e ϕ
aN) ] T
Espaço ℝ ∞ Todas as funções de variáveis reais contínuas.
⃗ f = f ( t )
●
Ex.:
Espaços vetoriais N-dimensionais
●
Os conceitos de vetores, pontos, linhas, planos, etc., podem ser generalizados para qualquer
dimensão.
●
Ex.:
⃗
a = [ a 1, a 2, ⋯ , a N ] T N-tuplos de números reais, .
Espaço ℝ N Todos os vetores de números reais de dimensão N.
●
Ex.: Espaço ℂ N Vetores de números complexos de dimensão N.
a i ∈ℝ
⃗
a = [ a 1, a 2, ⋯ , a N ] T N-tuplos de números complexos . a i ∈ℂ
= [ ( a 1 ℜ + j a 1 ℑ ) , ( a 2 ℜ + j a 2 ℑ ) , ⋯ , ( aN ℜ + j aN ℑ ) ] T
= [ (| a 1 | e ϕ
a1) , (| a 2 | e ϕ
a2) , ⋯ , (| a N | e ϕ
aN) ] T
Espaço ℝ ∞ Todas as funções de variáveis reais contínuas.
⃗ f = f ( t )
●
Ex.:
Hummm! → qualquer conjunto de dados, reais ou complexos, de dimensão N (ex.:
x(n), 0 ≤ n ≤ N-1) pode ser tratado como um vetor em um espaço de dimensão N…
Qualquer função de variável contínua (ex.:
f(t), f(d), f(°C)), real ou complexa, pode ser tratada como um vetor em um espaço de dimensão ∞…
Qualquer função de 2 dimensões MxN
(ex.: imagens) pode ser tratada como um
vetor em um espaço MxN...
Espaços vetoriais N-dimensionais
●
As propriedades básicas são as mesmas. Ex.:
⃗
a = [ a 1, a 2, ⋯ , a N ] T
⃗ b = [ b 1, b 2, ⋯ , b N ] T
⃗
a +⃗ b = [ a 1 + b 1, a 2 + b 2, ⋯ , a N + b N ] T
k ⃗ a = [ k a 1 , k a 2, ⋯ , k a N ] T
‖⃗ a ‖= √ a 1 2 + a 2 2 +⋯+ a N =‖⃗ a ‖ 2 = l 2 norm
⟨⃗ a , ⃗ b ⟩=‖⃗ a ‖⋅‖⃗ b ‖ cos θ a b , 0 ⩽θ a b ⩽π ,
= a 1 b 1 + a 2 b 2 +⋯+ a N b N = ∑
i = 1 N
a i b i
⃗
u a = ⃗ a
‖ a ‖ , ‖⃗ u a ‖= 1 Normalização de ⃗ a
Produto interno
Se ⟨⃗ a , ⃗ b ⟩= 0 Vetores ortogonais
Alguns espaços vetoriais importantes
●
A linha real ℝ , o plano real ℝ 2 e o espaço real ℝ 3 .
●
Vetores reais e complexos e dimensão N, ℝ N e .
●
Polinômios P n de ordem menor ou igual a n:
f ( x )= c n x n + c n − 1 x n − 1 +⋯+ c 1 x + c 0
●
Polinômios P de ordem infinita.
●
Funções reais contínuas f de variáveis reais.
●
Funções reais contínuas f em um intervalo fechado [a, b].
●
Funções reais contínuas f para as quais f’, f’’,…, f (n) existem em um intervalo fechado [a, b].
ℂ N
Subespaços
●
Um subconjunto W de um espaço vetorial V é um subespaço de V se:
– W é fechado em relação à adição e multiplicação por um escalar.
– W contém a origem (vetor ). ⃗ 0
(⃗ a +⃗ b )=(⃗ b +⃗ a ) ∈ W
Closure
∀ ⃗ a , ⃗ b ∈ W
k ⃗ a ∈ W
●
Example: V = [ v 1, v 2, v 3 ] T Space ℝ 3
W = [ w 1, w 2 ] T is a subspace of V
⃗ b = [ b 1, b 2 ] T ∈ W
⃗
c = [ c 1, c 2 ] T ∈ W
(⃗ b +⃗ c )=(⃗ c +⃗ b )= [ b 1 + c 1, b 2 + c 2 ] T ∈ W
k ⃗ b = [ k b 1, k b 2 ] T ∈ W
⃗ 0 = [ 0, 0 ] T ∈ W
Bases
●
Independência linear:
{ ⃗ x 1, ⃗ x 2, ⃗ x 3, ⋯ , ⃗ x N , } são linearmente independentes se
k 1 ⃗ x 1 + k 2 ⃗ x 2 + ⋯+ k N ⃗ x N = ⃗ 0 ⇒ k 1 = k 2 =⋯= k N = 0
●
Bases:
B = { ⃗ x 1 , ⃗ x 2 , ⃗ x 3 , ⋯ , ⃗ x N } são linearmente independentes e Se
∀ ⃗ v ∈ V , ⃗ v = k 1 ⃗ x 1 + k 2 ⃗ x 2 + ⋯+ k N ⃗ x N , então B é uma base de V
●
Exemplos:
{ x n , x n − 1 , ⋯ , x , 1 } é a base padrão para P n ℝ 3
{ ^ i , ^ j , k ^ } é a base padrão para
⃗
e 1 = [ 1,0, ⋯ , 0 ] T , ⃗ e 2 = [ 0,1, ⋯ , 0 ] T , ⋯ , ⃗ e N = [ 0, 0, ⋯ , 1 ] T é a base padrão para ℝ N
Dimensão do espaço
n + 1
Bases
●
Cobertura (span) de um conjunto de vetores:
S = { ⃗ x 1, ⃗ x 2, ⃗ x 3, ⋯ , ⃗ x N }
k 1 ⃗ x 1 + k 2 ⃗ x 2 + ⋯+ k N ⃗ x N , ∀ k 1, k 2, ⋯ , k N
Se é umconjunto de vetores no espaço V, então
é o Span ( S )
Consequentemente,
se S = { ⃗ x 1, ⃗ x 2, ⃗ x 3, ⋯ , ⃗ x N } forem linearmente independentes e
Span ( S )= V então S é uma base de V
Dimensão de V
O conjunto de todas as combinações lineares de um conjunto finito
de vetores S é chamado de “cobertura” (span) de S!
Exemplos
●
Vetores linearmente dependentes em 2D e 3D.
●
Vetores linearmente independentes em 2D e 3D.
●
Bases em 2D e 3D.
Bases ortogonais e ortonormais
B = { ⃗ e 1 , ⃗ e 2 , ⋯ , ⃗ e N } é uma base ortogonal de se ℝ N
⟨⃗ e i , ⃗ e j ⟩= { 0, ⟨⃗ e i , ⃗ e i ⟩=‖ e i ‖ , i i = ≠ j j }
●
Exemplo: base ortogonal não-padrão.
B = { ⃗ w 1 , ⃗ w 2 , ⃗ w 3 } ,
⃗ w
1= [ 1 √ 3 , 1 √ 3 , 1 √ 3 ]
T⃗ w
2= [ − √ 6 2 , 1 √ 6 , 1 √ 6 ]
T⃗ w
3= [ 0, 1 √ 2 , 1 √ 2 ]
T⃗ w 1 ⋅⃗ w 2 = 0 → w 1 ⊥ w 2
⃗ w 1 ⋅⃗ w 3 = 0 → w 1 ⊥ w 3
⃗ w 2 ⋅⃗ w 3 = 0 → w 2 ⊥ w 3
‖⃗ w 1 ‖= 1
‖⃗ w 2 ‖= 1
‖⃗ w 3 ‖= 1
B = { ⃗ e 1 , ⃗ e 2 , ⋯ , ⃗ e N } é uma base ortonormal de se ℝ N ⟨⃗ e i , ⃗ e i ⟩= 1
Exemplos
●
Exemplo: base ortonormal padrão para ℝ N (vetores unitários, matriz identidade, matriz de amostragem)
●
Exemplos: FFT, DCT, DST, DWT, etc...
{ ⃗ e 1 , ⃗ e 2 , ⋯ , ⃗ e N } = [ ⋮ ⋮ ⋮ ⋱ ⋮ ⋮ 1 0 0 0 1 0 0 0 1 ⋯ ⋯ ⋯ 0 0 0 0 0 0 0 0 0 ⋯ 1 0
0 0 0 ⋯ 0 1 ] ⟨⃗ e i , ⃗ e j ⟩= { 0, ⟨⃗ e i , ⃗ e i ⟩= 1 , i i = ≠ j j }
Projeção em uma base ortogonal
●
Considere um vetor na base padrão R 3
B = { ⃗ w 1 , ⃗ w 2 , ⃗ w 3 }
⃗
a = [ a 1 , a 2 , a 3 ] T = a 1 ⋅^ i + a 2 ⋅^ j + a 3 ⋅^ k = a 1 ⋅ [ 1 0 0 ] + a 2 ⋅ [ 0 1 0 ] + a 3 ⋅ [ 0 0 1 ]
A projeção de em outra base ortogonal é:
k 1 =⟨⃗ a , ⃗ w 1 ⟩ , k 2 =⟨⃗ a , ⃗ w 2 ⟩ , k 3 =⟨⃗ a , ⃗ w 3 ⟩
⃗ a
●
Exemplo: projeção em base ortogonal não-padrão.
B = { ⃗ w 1 , ⃗ w 2 , ⃗ w 3 } , ⃗ a = [ 3 , − 2 , 9 ] T = 3 ^ i − 2 ^ j + 9 k ^
c
1=⟨⃗ a , ⃗ w
1⟩= 10
√ 3 , c
2=⟨⃗ a , ⃗ w
2⟩=
1
√ 6 , c
3=⟨⃗ a , ⃗ w
3⟩=−
11
√ 2
⃗
a B = 10
√ 3 ⃗ w 1 +
1
√ 6 ⃗ w 2 −
11
√ 2 ⃗ w 3 = ∑
k − 1 3
c k w ⃗ k
⃗ w
1= [ 1 √ 3 , 1 √ 3 , 1 √ 3 ]
T⃗ w
2= [ − √ 6 2 , 1 √ 6 , 1 √ 6 ]
T⃗ w
3= [ 0, 1 √ 2 , 1 √ 2 ]
T⃗
a B = k 1 ⋅⃗ w 1 + k 2 ⋅⃗ w 2 + k 3 ⋅⃗ w 3 ,
Bases biortogonais
●
Agora, considere o seguinte par de vetores em ℝ 2 .
ϕ ⃗ 1 =[ 1, 0 ] T , ϕ ⃗ 2 = [ 1 2 , 1 ] T
– É possível reconstruir qualquer vetor x como uma expansão
⃗ x = ∑
k = 1 2
c k ϕ ⃗ k = c 1 ϕ ⃗ 1 + c 2 ϕ ⃗ 2 ?
●
Neste caso → base dual!
~ ⃗
ϕ 1 = [ 1 , − 1 2 ] T
ϕ ⃗~ 2 =[ 0,1 ] T
c 1 = ⟨ ⃗ x , ϕ ~ ⃗ 1 ⟩ = x 1 − 1 2 x 2
c 2 = ⟨ ⃗ x , ϕ ~ ⃗ 2 ⟩ = x 2
⃗ x = c 1 ϕ ⃗ 1 + c 2 ϕ ⃗ 2
= ( x 1 − 1 2 x 2 ) ⋅ [ 1 0 ] + ( x 2 ) ⋅ [ 1 1 / 2 ]
=[ x 1 x 2 ] T
Bases biortogonais
●
O conjunto ϕ 1 =[ 1 0 ] T ϕ 2 = [ 1 2 1 ] T
ϕ ~ 1 = [ 1 − 1 2 ] T
ϕ ~ 2 =[ 0 1 ] T
Forma um par de bases biortogonais em ℝ 2 . As equações de análise e síntese tornam-se
⃗ x = ∑
k = 1 2
c k ϕ ⃗ k = c 1 ϕ ⃗ 1 + c 2 ϕ ⃗ 2 =
=⟨⃗ x , ϕ ~ ⃗ 1 ⟩ ⃗ ϕ 1 +⟨⃗ x , ϕ ~ ⃗ 2 ⟩ ⃗ ϕ 2
Bases biortogonais
●
Qualquer conjunto de N vetores pode ser uma base em ℝ N .
– Desde que não sejam colineares (paralelos).
●
Para qualquer base, a base dual é única.
●
Condição geral para formação de bases biortogonais?
⟨ ϕ ⃗~ i , ϕ ⃗ k ⟩ =δ i − k = { 1, 0, if i otherwise = k }
●
Bases biortogonais oferecem mais graus de liberdade.
●
Desvantagens:
– Normas (energias dos sinais) não são preservadas.
– Vetores das bases não podem ser unitários !
– Computações instáveis se vetores da base são quase-colineares.
Bi-orthogonality!
Frames
●
Nos exemplos anteriores sempre usamos N vetores para espaços ℝ N .
– 2 vetores em ℝ 2 , 3 em ℝ 3 , etc.
– Mínima informação para reconstrução perfeita → BASES de ℝ N .
●
Mas, podemos usar mais do que N vetores?
●
Ex.: 3 vetores em ℝ 2 .
x =〈 x , ϕ ̃ 0 〉 ϕ 0 +〈 x , ϕ ̃ 1 〉 ϕ 1 +〈 x , ϕ ̃ 2 〉 ϕ 2
This expansion exists if ϕ
0, ϕ
1and ϕ
2are not collinear.
Frames
●
Tais conjuntos redundantes { ϕ 0 , ϕ 1 , ϕ 2 } são frames.
●
Para cada frame há infinitos frames duais que garantem reconstrução perfeita:
– Dependência linear entre os vetores.
– Infinitas formas de reconstrução.
{ ϕ 0, ϕ 1, ϕ 2, … , ϕ N + K − 1 } { ϕ ̃ 0, ϕ ̃ 1, ϕ ̃ 2, … , ϕ ̃ N + K − 1 }
●
Como escolher?
– Crie suas regras! Regularização!
Frames
●
Ex.: comece com a base ϕ 0 =[ 1 0 ] T ϕ 1 =[ 0 1 ] T
Adicione outro vetor ϕ 2 =− ϕ 0 − ϕ 1 =[− 1 − 1 ] T
●
Como há 3 vetores em ℝ 2 :
– Linearmente dependentes.
– A decomposição é redundante.
– Sobrecompleto → podem
representar qualquer outro vetor
em ℝ 2 .
Frames
●
Um possível frame dual é
ϕ ~ 0 = ϕ 0 + ϕ 1 =[ 1 1 ] T ϕ ~ 1 = 2 ϕ 1 =[ 0 2 ] T ϕ ~ 2 = ϕ 0 =[ 1 0 ]
Nesse caso, a decomposição será:
x =〈 x , ϕ ̃ 0 〉 ϕ 0 +〈 x , ϕ ̃ 1 〉 ϕ 1 +〈 x , ϕ ̃ 2 〉 ϕ 2 =
=〈 x , ( ϕ 0 + ϕ 1 )〉 ϕ 0 +〈 x , 2 ϕ 1 〉 ϕ 1 +〈 x , ϕ 1 〉 ϕ 2
Frames justos
●
É possível construir um frame de forma a “imitar” uma base ortogonal?
●
Considere:
ϕ 0 = [ √ 2 3 0 ] T
ϕ 1 = [ − √ 1 6 √ 1 2 ] T
ϕ 2 = [ − √ 1 6 − √ 1 2 ]
●
Para qualquer vetor em ℝ 2 pode-se verificar que:
x = ∑
k = 0 2
〈 x , ϕ k 〉=〈 x , ϕ 0 〉 ϕ 0 +〈 x , ϕ 1 〉 ϕ 1 +〈 x , ϕ 2 〉 ϕ 2
Frames justos
●
Frames justos:
– Os mesmos vetores compõem o frame original e seu dual.
– A norma é preservada (conservação da energia).
●
Para isso, as normas dos vetores devem ser menores que 1 (no exemplo, √ 2/3).
– Se os vetores forem unitários → redundância
∑ k = 0 2
∣〈 x , ϕ k 〉∣ 2 = 3
2 ∥ x ∥ 2 3/2 é a redundância do frame.
●
Exemplos:
– FFT sobrecompleta, SWT, Wpackets, Ridgelets, Curvelets,
Contourlets, etc...
Matrizes, transformadas e decomposições lineares
●
Matrizes:
A = ( a a a ⋮ m 11 21 1 a a a ⋮ m 12 22 2 ⋯ ⋯ ⋯ ⋮ ⋯ a a a mn 1n 2 n ) = ( a ij ) m × n
●