Tópicos Especiais em Processamento de Sinais Biológicos COB 860
Download
Report
Transcript Tópicos Especiais em Processamento de Sinais Biológicos COB 860
Linguagem Orientada a
Matrizes
COB 727
Maurício Cagy
Bibliografia
Hahn, B., Valentine, D., Essential Matlab for
Engineers and Scientists, 4th Ed., Oxford:
Academic Press, 2010.
Gilat, A., Matlab: An Introduction with
Applications, John Wiley & Sons, 2004.
Cagy, M., Fundamentos de Matlab, apostila, 1997.
Linguagens Orientadas a
Matrizes
SciLab;
Octave;
FreeMat;
JMathLib;
Matlab.
Álgebra de Escalares
Puramente Reais ou Complexos...
Propriedades:
Soma / Diferença
a+0 = a
a+(b+c) = (a+b)+c
a+b = b+a
a-b = a+(-b)
Produto / Divisão
a0 = 0
a1 = a
a(b+c) = ab+ac
a(bc) = (ab)c
ab = ba
a / = 1/ a
b
b
Álgebra Vetorial
“Ênuplas” Reais: (x1, x2, ..., xN)
– Aplicação em geometria, cálculo vetorial...
Propriedades (ex. 3D):
– u=(xu, yu, zu);
– v=(xv, yv, zv);
– 0=(0, 0, 0).
Soma / Diferença
u+v = (xu+xv, yu+yv, zu+zv)
u+0 = u
u+(v+w) = (u+v)+w
u+v = v+u
-v = (-xv, -yv, -zv);
u-v = u+(-v)
Produto por Escalar
au = (axu, ayu, azu);
Produto Escalar
uv = xuxv + yuyv + zuzv
u0 = 0
uu = |u|2 (quadrado do módulo)
uv = vu
Produto Vetorial
u v Definido apenas em 3D
Álgebra Linear
Vetores:
– Agrupamento de valores quaisquer (reais ou complexas);
Propriedades:
– u=[u1, u2, u3]; v=[v1, v2, v3]
– w=[w1, w2, w3];
– 0=(0, 0, 0) (vetores-linha).
Soma / Diferença
u+v = [u1+v1, u2+v2, u3+v3]
u+0 = u
u+(v+w) = (u+v)+w
u+v = v+u
-v = [-v1, -v2, -v3];
u-v = u+(-v)
ut = vetor-coluna (transposição)
s1
s= s 2
s 3
(vetor-coluna)
Produto por Escalar
au = (au1, au2, au3);
Produto
uv = !!
us = u1s1 + u2s2 + u3s3
0s = 0
uut = ||u||2 (quadrado da norma)
(u+v)s = us + vs
Álgebra Linear
Exemplo:
8
– Cada cesta de maçãs tem 8 maçãs; cada saco de
10
f
laranja tem 10 laranjas; cada caixa de mangas
tem 6 mangas...
6
– Fulano tem 3 cestas de maçãs, 1 saco de laranja
8
Quantas frutas ele tem? u f 3 1 2 10 24 10 12 46
6
e 2 caixas de mangas: u = [3, 1, 2];
– Beltrano tem 4 cestas de maçãs, 2 saco de laranja
e 1 caixas de mangas: v = [4, 2, 1]; 8
v f 4 2 1 10 32 20 6 58
Quantas frutas ele tem?
– Agrupando as 2 operações...
6
8
3 1 2 46
4 2 1 10 58
6
Álgebra Linear
Exemplo das frutas e recipientes...
8
3 1 2 46
4 2 1 10 58
6
Matriz
23
Vetor-coluna
31
Vetor-coluna
21
Requisito de dimensões para o Produto Matricial:
– [m p] [p n] = [m n]
Álgebra Linear
Se não conhecêssemos o vetor f...
f1
3 1 2 46
4 2 1 f 2 58
f
3
Isto se traduz num sistema de equações:
3 f1 1 f 2 2 f 3 46
4 f1 2 f 2 1 f 3 58
Sistema INDETERMINADO
Álgebra Linear
Se soubéssemos que Sicrano tem 2 cestas de maçãs, 3
sacos de laranja e nenhuma caixa de mangas:
w = [2, 3, 0], e, portanto, 46 frutas...
3 1 2 f1 46
4 2 1 f 58
2
2 3 0 f 3 46
Que compõe um sistema de equações consistente, ou
uma Equação Matricial:
– Af=b
– Analogamente a uma equação linear: a f = b f = b/a = a-1b
– f = A-1 b, caso A seja inversível.
Produto Interno Produto Externo
– u = [u1, u2, ... , un];
s1
– s = s2
s m
– Produto Interno: us = u1s1 + u2s2 + ... + unsn (n=m!)
– Produto Externo:
s1u1
s u
su 2 1
sm u1
s1u 2
s2 u 2
sm u 2
s1u n
s2u n
sm u n
Exemplo: Transformada de Fourier
como Produto Matricial...
– Transformada Discreta de Fourier (DFT):
N 1
ak x[n]e jk ( 2 / N ) n , para k = 0, 1, ..., N-1
n 0
x k exp j 2 / N k n x n
onde:
0
1
k
N 1
n 0 1 N 1
x[0]
x[1]
xn
x[ N 1]
Os Coeficientes de um Polinômio
como um Vetor...
– Seja o polinômio:
aNxN + aN-1xN-1 + ... + a0
– ele pode ser representado pelo vetor:
a = [aN, aN-1, ..., a0]
– Desafio:
Encontrar o polinômio de ordem N cujo
gráfico passa por N+1 pontos conhecidos...
Outras Propriedades
Sejam as matrizes A e B tais que as operações abaixo
são viáveis:
Transposição
(At)t = A
(A + B)t = At + Bt
(A - B)t = At - Bt
(A B)t = Bt At
Inversão
(A-1)-1 = A
(A B)-1 = B-1 A-1
Operadores Lineares
Dada uma matriz quadrada A (n n), dizemos que ela é
um operador linear se consideramos y = f(x) = A x...
– Operadores lineares usuais:
Projeção;
Reflexão;
Rotação.
Exemplo - Operador Rotação em 2D:
x R cos ,
y R sen
x' R cos( ) R cos cos R sen sen
y' R sen( ) R sen cos R cos sen
x ' cos sen x
y ' sen cos y
R ( ) f (e 1 ) f (e 2 )
Operadores Lineares
Operador Rotação em 3D:
0
1
R x ( ) 0 cos
0 sen
0
cos
sen R y ( ) 0
sen
cos
cos cos
R z ( )R y ( )R x ( ) cos sen
sen
0 sen
cos
1
0 R z ( ) sen
0
0 cos
cos sen sen sen cos
cos cos sen sen sen
sen cos
Rotação em torno de um eixo u:
sen
cos
0
sen sen cos sen cos
sen cos cos sen sen
cos cos
0
0
1
Rotação + Translação
A Translação não é um Operador Linear!
• ft(x1+x2) = x1+x2+t ft(x1)+ ft(x2) = x1+t+x2+t
Associação usual de rotação e translação:
• y=Rx+t
•
x ' r11 r12
y ' r
21 r22
z ' r31 r32
r13 x t x
r23 y t y
r33 z t z
Álgebra homogênea:
• y = RT x
x' r11 r12
y ' r
21 r22
z ' r31 r32
1 0 0
r13
r23
r33
0
tx x
t y y
tz z
1 1
Mudança de Base
Dados n vetores linearmente independentes de um
espaço n-dimensional, qualquer ponto neste espaço
pode ser representado por uma combinação linear
destes n vetores. Para n = 3: t = au+bv+cw
t x u x
t u
y y
t z u z
vx
vy
vz
wx a
w y b t U a
wz c
– portanto, dizemos que u, v e w formam uma base () do
espaço tridimensional, e a tríade [a, b, c]t representa as
coordenadas do ponto t nesta base, e
a = U-1t
é o processo de mudança de base a partir da base canônica
para a base .
Mudança de Base
Ilustração no espaço bidimensional (bases
ortonormais):
x R cos ,
y R sen
x' R cos( ) R cos cos R sen sen
y ' R sen( ) R sen cos R cos sen
x' cos
y ' sen
sen x
cos y
t
u
1
t
U u v U U t
v
Autovalores e Autovetores
Seja A uma matriz quadrada, diz-se que ela possui
um ponto fixo x se:
Ax = x
De maneira mais geral, define-se um autovalor de
A, , como um escalar tal que:
Ax = x
– situação em que o vetor x é chamado de autovetor de A
associado a .
Problema:
– Estabelecer os autovalores de uma matriz A;
– Estabelecer um autovetor não-nulo associado a cada
autovalor .
Autovalores e Autovetores
Seja A uma matriz n n; se Ax = x, então:
A x λ I x λ I x A x 0 ( λ I A)x 0
– como x é não-nulo, então det (I - A) = 0;
– det (I - A) = 0 é chamada equação característica de A.
Exemplo:
1 2
1 2
A
I A
3 2
3 2
1 2
0 ( 1)( 2) 6 0
3 2
2 3 2 6 2 3 4 0
1 1
2 4
Autovalores e Autovetores
Para 1 = -1:
1 2 2 2
3 2 3 3
2 2 x11 0
3 3 x 0
12
x11 x12
Para 2 = 4
1 2 3 2
3 2 3 2
3 2 x21 0
3 2 x 0
22
3x21 2 x22
Autovalores e Autovetores
Propriedades:
i tr(A)
n
i det(A)
n
Se não houver autovalor nulo, det(A) 0, logo A é
inversível;
O número de autovalores não-nulos (contabilizando as
multiplicidades maiores que 1) é o posto de A;
O conjunto de autovetores associados a todos
autovalores não-nulos de A compõe o autoespaço de A;
Caso A seja quadrada, seus autovetores são ortogonais.
Decomposição em Autovalores
Considerando
a matriz quadrada
inversível A como um Operador Linear:
y = Ax;
se montarmos uma matriz P cujas colunas
são autovetores de A:
z = P-1x representa a mudança de base de x da
base canônica para o autoespaço de A, de
modo que:
Az = Dz
onde D é uma matriz diagonal com os
autovalores ordenados de A...
Decomposição em Autovalores
Assim:
w = Dz = DP-1x representa a aplicação do
operador A sobre a notação de x no
autoespaço de A;
Logo, para se obter y, basta voltar para a
base canônica: y = Pw = PDP-1x.
Ou
seja:
A = PDP-1
Que é a chamada Decomposição em
Autovalores (EVD) de A.
Diagonalização Ortogonal
Caso
a matriz A seja simétrica:
A = PDPt
onde P é uma matriz ortonormal formada pelos
autovetores de A, de modo que P-1=Pt.
Diz-se
que P diagonaliza ortogonalmente A.
1 0 0
A v 1 v n 0 0
0 0 n
v1
vn
Variância e Covariância
Para um sinal x[n] ergódico:
Ex[n]
var(x[n]) c xx [0] E x[n] Ex[n]
Ex[n]
E x[n] x
2
2
2
x
2
2
x2
rxx [0] x2
onde E{...} refere-se à esperança matemática.
Analogamente, a covariância entre 2 sinais x[n] e y[n] 0 é definida por:
cov(x[n], y[n]) c xy [0] Ex[n] Ex[n] y[n] Ey[n]
Ex[n] y[n] x y rxy [0] x y
Matriz de Covariância
Sejam k sinais ergódicos x1[n] a xk[n]:
c x1x1 [0] c x1x2 [0]
c [0] c [0]
x x
x2 x2
C 2 1
c xk x1 [0] c xk x2 [0]
c x1xk [0]
c x2 xk [0]
c xk xk [0]
Se os sinais são todos reais, C é uma matriz simétrica, que pode ser
dada por:
Xt X
C
N 1
onde X é uma matriz (N k) cujas colunas são os sinais subtraídos de suas
respectivas médias.
x1[0] x1
x [1] x
1
X 1
x1[ N 1] x1
x2 [0] x2
x2 [1] x2
x2 [ N 1] x2
xk [0] xk
xk [1] xk
xk [ N 1] xk
Análise de Componentes Principais (PCA)
Sejam k sinais ergódicos x1[n] a xk[n]
correlacionados entre si (não ortogonais):
• sua matriz de covariância C não é diagonal.
Existe um conjunto de k outros sinais
descorrelacionados entre si (ortogonais e de
média nula), s1[n] a sk[n] (componentes
principais), tais que: Xt A S t
Problema: achar A e S...
Análise de Componentes Principais (PCA)
Multiplicando-se ambos os lados por X:
Xt X A S t X A S t S A t
– mas os sinais si[n] são ortogonais por
pressuposição, de modo que StS é uma matriz
diagonal. Dividindo-se ambos os lados por N1,
tem-se que:
C A D At
o que evidencia que A é a matriz que diagonaliza
ortogonalmente C:
•
decomposição por auto-valores e auto-vetores de C.
Decomposição em Valores Singulares (SVD)
Uma matriz A de tamanho m n (supondo m n, por
simplicidade), com posto k, pode ser fatorada por:
A = USVt
A u 1
S é uma matriz diagonal (m n) cujos elementos (si) são dados pela
raiz quadrada dos autovalores de B=AtA (i, usualmente, ordenados
de forma decrescente); note que B é uma matriz quadrada, simétrica e
positiva semi-definida (seus autovalores são não-negativos);
V é a matriz (n n) cujas colunas são os autovetores vi normalizados
da matriz B=AtA;
U é a matriz (m m) cujas k primeiras colunas são dadas por
ui=Avi/i, e os demais são vetores que completam uma base
ortonormal de m.
s 0 0
u 2 uk
u k 1
1
0
u m
0
s2 0
0
0 sk
0 m k k
v 1t
t
v2
0 k n k t
vk
t
v k 1
0 m k n k
t
vn
Decomposição em Valores
Singulares Reduzida
Devido às porções nulas da matriz S, a SVD
pode ser reduzida por:
A = U1S1V1t
S é uma matriz diagonal (k k);
V tem tamanho (k n);
U tem tamanho (m k).
A u1 u 2
s1
0
u k
0
0
s2
0
0 v 1t
t
0 v2
0
t
sk v k