
















Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Esse tutorial tem uma breve introdução de ICA e implementação em Matlab
Tipologia: Notas de estudo
1 / 24
Esta página não é visível na pré-visualização
Não perca as partes importantes!
Tutorial Nielsen Castelo Damasceno
1 INTRODUÇÃO
Em linhas gerais, podemos dizer que a motivação do uso de Análise de Componentes Independentes (ACI) ou do inglês: Independent Componente Analysis (ICA) é o BSS ( Blind Source Separation ou Separação Cega de Fontes) (HYVÄRINEN, OJA, 1999). Todavia, vamos utilizar ACI e ICA, doravante, para representar a mesma entidade. Sobretudo, um dos problemas típicos investigados pela técnica de separação cega de fontes é motivado por um problema chamado “ cocktail party” ou separação de sinais de áudio.
Considere duas pessoas conversando em uma sala fechada utilizando sensores (microfones) para capturar suas vozes. Esta situação é representada na Figura 1. O problema consiste em separar os sinais captados pelos microfones sabendo que os sinais estão agora correlacionados. A particularidade da separação cega de fontes perante as outras técnicas de filtragens é que, nesse caso, não precisamos conhecer precisamente os sinais de fontes (HYVÄRINEN, 1999a).
Figura 1: O problema do cocktail-party. O problema do cocktail-party pode ser representado da seguinte forma: x =
2
1 x
x (^) , A =
21 22
11 12 a a
a a e s =
2
1 s
s (^) , ou seja,
x =
2
1 21 22
11 12 2
1 s
s a a
a a x
x (^) (1)
ou pode-se reescrever a Equação 1 utilizando a notação matricial, que tornar-se-á:
x = As (2) Denota-se x pelo vetor aleatório cujos elementos representam as misturas ou sensores, a matriz A com elementos (^) aij representam a atenuação ou
Por enquanto, deixemos de lado qualquer momento de atraso e outros fatores extras a partir de nosso modelo simplificado de mistura. Como ilustração, considere os sinais representados na Figura 2 e 3.
Figura 2: Dois sinais do discurso original. Os sinais do discurso original é semelhante aos sinais representado na Figura 2 e as misturas poderiam se parecer com os sinais na Figura 3. Nos gráficos acima as coordenadas abscissas representam o número de amostra do sinal em cada período de tempo e a ordenada representa a amplitude do sinal. O problema consiste em recuperar os dados na Figura 2 utilizando apenas os dados da Figura 3.
-0.02 0 2 4 6 8 10 12 14 16 18 20
-0.
0
Sinal de fonte 1 (Amplitude) Tempo (ms)
-0.04 0 2 4 6 8 10 12 14 16 18 20
-0.
0
Sinal de fonte 2 (Amplitude) Tempo (ms)
sistema misturador. Este problema é dito cego em razão da falta de informação que temos sobre as misturas e as fontes.
Figura 4: Sinais de fonte estimados a partir das misturas.
Figura 5: Diagrama esquemático do problema de separação cega linear.
Podemos também representar de forma simples o processo de misturas das fontes pela seguinte expressão:
x ( ) n = F ( s ( ) n , s ( n − 1 ),L , s ( n − L ), r ( ) n ) (3)
onde o F ( )⋅ corresponde a ação do sistema misturador, L é associado às memórias
(amostras atrasadas) no sistema e o vetor r representa o ruído presente nas fontes. Um sistema misturador é dito linear se o mapeamento F ( )⋅ atende o principio da
superposição, caso contrário é dito não linear.
-2 0 2 4 6 8 10 12 14 16 18 20
0
1
2
Sinal estimado 1 (Amplitude) Tempo (ms)
-4 0 2 4 6 8 10 12 14 16 18 20
0
2
Sinal estimado 2 (Amplitude) Tempo (ms)
Nas situações em que o sistema misturador depende das amostras passadas ( L > 0) é dito que o sistema misturador é convolutivo (com memória). Entretanto, há situações em que (L = 0) o sistema é chamado de instantâneo (COMON, 1994).
Em outras situações onde o número de sensores podem ser maiores que o número de sinais de fontes, tem-se o caso sobre determinado. Analogamente, temos o caso subdeterminado quando o número de sensores é menor que os sinais de fontes.
2 RELAÇÃO ENTRE ICA E PCA
O ICA procura transformar a mistura de sinais num número de componentes independentes (ICs), sem reduzir as dimensões da mistura. Mas, quando é necessário a redução da informação, então efetua-se um pré-processamento da mistura com PCA ( Principal Componentes Analysis ).
A principal diferença entre o ICA e o PCA é que o PCA usa, unicamente, a estatística de 2ª ordem (média e variância), enquanto o ICA utiliza a estatística de ordens superiores ( kurtosis ). Por isso, o PCA é usado para variáveis Gaussianas que são de estatística de 2ª ordem. Mas, como a maioria dos sinais são não- gassianos e com ordens estatísticas elevadas, logo o ICA é uma melhor opção.
3 INDEPENDÊNCIA E NÃO-CORRELAÇÃO
ICA consiste em recuperar os sinais originais a partir de uma mistura. Um princípio bastante utilizado para determinar ou inferir nas misturas tem sido a independência estatística, ou seja, o valor de qualquer um dos componentes não fornece nenhuma informação sobre os valores dos outros componentes.
Normalmente, uma distribuição de probabilidade é caracterizada em termos de sua função de densidade ao invés de cdf (função de distribuição cumulativa ou do inglês: cumulative distribution function ). Formalmente, a função de densidade de probabilidade é obtida derivando cdf. ICA está intimamente ligado à independência estatística. Matematicamente, a independência estatística é definida em termos de densidade de probabilidade (PAPOULIS, 1991), por exemplo. As variáveis aleatórias x e y são ditas independentes, se e somente se,
, , ^ ^ ^ (4)
Matematicamente, o modelo generativo foi apresentado na seção 1. A variável s é um vetor composto por todos os sinais originais (componentes independentes). Note-se que os sinais originais, só por si, são também vetores. Assim, nesta notação, as componentes independentes são os elementos de um único vector de sinais originais, s. Neste vetor encontram-se então as variáveis latentes, uma vez que, não são diretamente observáveis. Ou seja, estão escondidas ou latentes, no vector x.
As técnicas usadas no ICA pretendem usar a matriz inversa de A , de forma a estimar as componentes independentes, s , da seguinte forma:
s = A −^1 x (9) Em situações que a matriz A é conhecida basta utilizar a Equação 9 para estimar s. Quando a matriz A não é conhecida devemos inicialmente assumir que, a mistura, x , estão relacionados com os sinais latentes, s , através de uma transformação linear (rotação e scaling ). Logo, alguma transformação inversa (rotação/scaling) pode ser encontrada de forma a se obter os sinais originais.
Note-se que as transformações podem também ser não-lineares. Desta forma, a separação das componentes independentes complica-se. A Equação 10 e 11 descrevem, sucintamente, que existe uma função de mistura, F , também desconhecida:
x = F ( x ) (10)
∑=
n i u j ij j x F a s 1
onde, i = 1 , L, n e j = 1 , L, n.
Para estimar a matriz de mistura A é preciso admitir algumas restrições:
Figura 6: Distribuição conjunta de duas variáveis aleatórias gaussianas.
x = As ⇔ A −^1 x = A −^1 As ⇔ s = Bx (12) Se a matriz A não for quadrada, então não terá inversa.
A correlação é considerada uma medida “fraca”. Todavia, pode-se verificar que este procedimento permite a determinação de uma transformação linear sobre a mistura. À luz deste paradigma, conclui-se que a PCA considera apenas estatística de segunda ordem, diferentemente de ICA, que considera estatística de ordem superior, discutido anteriormente. Assim, utiliza-se a PCA como um pré- processamento ao ICA que chamamos de branqueamento (POBLADOR; MORENO et. al., 2004). Este método será detalhado na próxima seção. Para ilustrar a tentativa de recuperar as fontes usando branqueamento, representamos duas fontes independentes, e , uniformemente distribuídas em um quadrado (Figura 7). Usou-se uma matriz quadrada 2x2 para gerar as misturas dadas pela Equação 2. O resultado desta mistura é apresentado na Figura 8 e por fim suas estimativas obtidas pelo processo de branqueamento são ilustradas na Figura 9. Considerando o efeito do sistema misturador linear, verifica-se a dificuldade da recuperação das fontes (Figura 9) usando estatística de segunda ordem. Claramente, o método consegue recuperar as escalas das fontes, mas é incapaz de recuperar a rotação, pois existe uma indeterminação referente a uma matriz ortogonal cujo efeito é a rotação dos dados (HYVÄRINEN; OJA, 1999). Intuitivamente, percebe-se que a utilização dessa ideia para um pré- processamento no algoritmo ICA dito anteriormente é obrigatório na utilização do branqueamento para a separação das fontes, visto que em distribuições gaussianas conhecemos apenas duas características, a média e variância. Percebe-se com este resultado a ineficácia da estatística de segunda ordem, no que tange a impossibilidade de recuperar fontes gaussianas e este resultado foi provado por Comon (1994).
Figura 7: Distribuição conjunta é uniforme em um quadrado.
Figura 8: Distribuição das misturas dos componentes.
Figura 9: Distribuições conjuntas das estimativas usando PCA.
O branqueamento de x pode ser feito pela matriz V tal que,
/^ , (18)
onde, é uma matriz ortogonal cujas colunas são os autovetores de ^ e é uma matriz diagonal com os autovalores correspondentes:
^ (19)
Assim, o branqueamento transforma a matriz em uma nova matriz , de forma que agora temos:
(20) Vamos agora fazer uma transformação ortogonal em fazendo: ! " (21) Em razão à ortogonalidade de ",! também é branco como mostra a seguinte expressão:
!! "" "I"^ I (22) Portanto, mostrou-se que o branqueamento é um pré-processamento para o ICA, pois ele não é suficiente para que se estimem as fontes independentes, e fornecendo apenas uma transformação ortogonal em . O que precisamos agora é de uma estratégia elaborada para rotacionar os dados das misturas.
8 MÉTODO DE ESTIMAÇÃO ICA
As componentes independentes são determinadas através da aplicação de uma transformação na matriz de mistura ortogonal, após o processo de whitening. Uma vez que, as misturas são uma combinação linear das ICs, então é possível reconstrui-las a partir duma transformação linear inversa sobre as variáveis de x. Assim sendo, a Equação 23 mostra a transformação, a partir da qual, se obtém as ICs:
ic (^) i = bit x (23)
O elemento $% da Equação 23 é uma componente independente e trata-se duma estimativa do sinal original. O elemento b é o vetor apropriado que reconstrói cada componente independente. Existem inúmeras e diferentes abordagens para estimar b que, se baseiam numa função objetivo relacionada com a independência das variáveis. Essa função é maximizada ou minimizada através de algoritmos de optimização. As várias abordagens diferem entre si, na definição da função objetivo que é optimizada e, no método de optimização a usar. Alguns métodos são: Maximização da não-gaussianidade; estimativa da máxima probabilidade; minimização da Informação mútua; métodos tensoriais, método usando PCA, entre outros.
8.1 ALGORITMO ICA UTILIZANDO PCA
Um dos algoritmos que foi desenvolvido recentemente provou ser superior a algumas abordagens ICA (KUN, CHAN, 2006). Conhecido como P-ICA , esta abordagem basicamente resolve o problema de BSS linear aplicando PCA e posteriormente usa uma transformação para recuperar os sinais de fontes.
Considerando os dados observados representados por x , PCA e ICA visam à transformação linear dado pela Equação 2. No entanto, elas exploram os dados de formas diferentes. O PCA visa encontrar uma transformação ortogonal em W que dá resultados não correlacionados (vale lembrar que se mostrou anteriormente que PCA considera apenas estatística de segunda ordem). Porém, o PCA utiliza a distribuição conjunta gaussiana para ajustar os dados e encontrar uma transformação ortogonal que faz a distribuição conjunta gaussiana fatorável independente da verdadeira distribuição dos dados. Neste contexto, a ICA tenta encontrar uma transformação linear que faz a verdadeira distribuição conjunta dos dados transformados fatorável, de modo que as saídas são mutuamente independentes. Grande parte dos algoritmos ICA requerem o branqueamento das misturas como descrito na seção 7.2, podemos citar como exemplo o FastICA (HYVÄRIEN, 1999c) e o JADE (CARDOSO, 1999). Discorremos na mesma seção que o processo de branqueamento pode ser feito a partir de PCA, bem como usar decomposição de autovalores e autovetores.
Sendo um processo iterativo, um novo valor de W é dado por: W = [ E { x ( Wtx )^3 }− 3 No final, o vector W fornece uma das componentes independentes como uma combinação (Equação 24). Mas para tal acontecer, é necessário que os valores old and new de W apontem na mesma direção.
ic = Wt x (24) 8.2.2 UTILIZANDO NEGENTROPIA
O algoritmo FastICA foi primeiramente publicado por Hyvärinen (1999b). O objetivo do algoritmo é encontrar uma matriz W e ajustar as suas linhas denotadas por ), de modo que ! ) resulte numa estimativa das fontes, lembrando que a maximização da Negentropia é baseada nos momentos polinomiais (HYVÄRINEN, 1999a). Utilizando a aproximação da Negentropia e considerando que os dados foram branqueados, a maximização da Negentropia se resume em encontrar uma matriz W que é descrito pelo seguinte problema de otimização (HYVÄRINEN, 2000):
)* +, - ./ 01 2 1 3
Fazendo uma restrição na etapa de adaptação, temos que restringir a potência de cada uma das estimativas assumindo que:
) 1
O máximo da função )* é quando encontramos certo valor ótimo de 1 em razão ao 10 3 4 ser constante. Assim, considerando o primeiro termo da equação, o problema de maximizar e otimizar são equivalentes. Podemos mostrar que o problema de otimização é resolvido usando o método de Lagrange , quando a seguinte condição é satisfatória (HYVÄRINEN, 1999):
1^6 ) 7 8) 0,
onde 8 é uma constante.
Considerando que as misturas estejam branqueadas, aplica-se o método de Newton para a solução da expressão anterior e assim se obtêm a seguinte regra de atualização:
onde G é uma função não quadrática e 16 é sua derivada. A expressão a seguir poderia representar 1 e sua derivada, respectivamente:
1; ^1 log ?@A B
16 ; CAB Para recuperar várias fontes a partir da regra de atualização (ou regra de ajuste), se faz necessário executá-la para vários vetores ). Frequentemente, se tem um problema em que o algoritmo sempre encontra a mesma fonte, ou seja, converge para o mesmo ótimo. Neste caso, o problema é contornado da seguinte maneira: Considere um problema de separação de três fontes distintas feita a extração da primeira fonte. A extração da segunda fonte é feita aplicando a regra de ajuste. Entretanto, a cada iteração se retira do vetor em processo de estimação a contribuição do vetor referente à primeira fonte, de modo que esses dois vetores sejam ortogonais. Podemos usar esta mesma estratégia para extrair a terceira fonte. Deve-se, em cada iteração, retirar a contribuição dos dois vetores estimados e assim por diante. Finalmente, a regra de aprendizagem do FastICA é descrito:
Um dos grandes desafios da engenharia biomédica é na avaliação das alterações fisiológicas que ocorrem em diversos órgãos internos do corpo humano. Existem problemas nas extrações das informações relevantes para diagnósticos, ou seja, sinais de fontes biomédicos são geralmente fracos, não estacionários, com ruídos e interferências (CICHOCKI; AMARI, 2002). A seguir têm-se algumas aplicações da ICA em problemas de separação cega de fontes.
9.1 MONITORAMENTO DE BATIMENTOS CARDÍACOS
A ação mecânica dos músculos do coração é estimulada por sinais elétricos. Estes níveis de sinais podem ser medidos e visualizados como funções de tempo usando eletrocardiograma (ECG) (CICHOCKI; AMARI, 2002). Tal como para adultos também seria possível medir a atividade elétrica do coração de um feto. As características de um eletrocardiograma fetal (FECG) podem ser muito úteis para determinar se um feto está se desenvolvendo corretamente, por exemplo. Estas características incluem uma elevação da frequência cardíaca fetal que indica estresse, arritmias. Obter uma informação fiel do FEGC é uma tarefa não trivial. Problemas podem acontecer em virtude de que o eletrocardiograma também contém informações dos batimentos cardíacos materno (MECG) (JAHN; AMARI et al., 1999). Além disso, o FECG irá ocasionalmente sobrepor sinais ao MECG e torná-lo normalmente difícil de detectar (CARDOSO, 1998). Também juntamente com o MECG ruídos extensivos nestes sensores interferem no FECG e podem mascarar completamente este. A separação destes sinais de fontes fetal e materno de uma mulher grávida pode ser modelado como um problema BSS (HAYKIN, 2001a).
9.2 CANCELAMENTO DE RUÍDO E INTERFERÊNCIA
O sistema nervoso dos seres humanos e dos animais deve codificar e processar informações sensoriais. Dentro deste contexto, os sinais codificados (as imagens, sons) têm propriedades muito específicas. Uma das tarefas desafiadoras é a de saber como fielmente detectar, localizar e melhorar os sinais cerebrais em que
muitas vezes as fontes são corrompidas. ICA e Análise Fatorial Adaptativo (AFA) são abordagens promissoras para a eliminação de artefatos e ruídos provenientes dos EEG / MEG (HE; REED, 1996) (JAHN; AMARI et al., 1999).
9.3 SISTEMAS DE COMUNICAÇÃO DIGITAL
Considere um sistema onde se têm múltiplos sinais de uma propagação de comunicação sem fio, bem como um número de usuários difundidos em sinais modulados digitalmente para uma estação base em um ambiente de vários usuários. A transmissão destes sinais interage com diversos objetos físicos na região antes de chegar à antena ou estação de base. Cada sinal segue caminhos diferentes com atraso e atenuação. Este é um típico problema que é conhecido como “multi-path fading” (CARDOSO, 1998). Além disto, em algumas redes de celulares existem outras fontes adicionais de distorções. Estas interferências podem ser causadas por vários utilizadores que partilham a mesma frequência e tempo. Um problema desafiador é a separação e processamento de sinais cegos conjunta de espaço-tempo e equalização dos sinais transmitidos, isto é, para estimar a fonte de sinais e seus canais na presença de outros sinais e ruído (HAYKIN, 2001a).
10 EXEMPLO DA APLICAÇÃO ICA UTILIZANDO MATLAB
Neste experimento utilizamos 3 sinais de fontes que são misturados por uma matriz 3x3 gerado aleatoriamente e finalmente estimado pelo P-ICA. Vamos primeiramente descrever o método P-ICA dado pelo pca_ica.m. E o método utilizado para realizar o branqueamento é dado por branqueamento.m.
% A seguinte função implementa o P-ICA linear % % Entrada: x é mistura uma matriz(dxn) % % y é os sinais estimados % w é a matriz de mistura (inversa de A) % % % Autor: Nielsen C. Damasceno % Data: 20.12. function [y,w] = pca_ica(x)
n = size(x,1);