• Nenhum resultado encontrado

O Modelo de Mistura de Gaussianas (do inglês Gaussian Mixture Model – GMM) é um método comumente utilizado para estimar a função densidade de probabilidade para sistemas de classificação baseados em estatística. Classificadores baseados em GMM são conhecidos por sua capacidade de modelar distribuições arbitrariamente complexas e por apresentarem grande eficácia para muitas tarefas (BROWN; SMARAGDIS, 2009). Apesar de esta técnica ter sido inicialmente utilizada em pesquisas relacionadas à fala e, principalmente, no reconhecimento de locutor (REYNOLDS; ROSE, 1995), atualmente tem sido aplicada a diferentes sistemas que se baseiam em características extraídas de sinais acústicos (OLIVEIRA et al., 2015; LU; WU,2013).

A fim de modelar dados provenientes do mundo real, a utilização de somente uma distribuição Gaussiana em geral não é suficiente, fazendo-se necessárias estruturas mais complexas. Por exemplo, a Figura 4.1 apresenta uma distribuição formada pela soma ponderada de três Gaussianas que, de certa forma, consegue modelar os dados de forma mais precisa do que se fosse utilizada apenas uma única Gaussiana. Estas superposições, formadas pela combinação linear de distribuições básicas, neste caso Gaussianas, podem ser formuladas como modelos probabilísticos conhecidos como distribuições de misturas (MCLACHLAN; BASFORD,1988). Logo, utilizando um número suficiente de Gaussianas e ajustando suas médias e covariâncias assim como os coeficientes da combinação linear, é possível aproximar qualquer densidade contínua com razoável precisão.

Na abordagem utilizando o modelo de mistura de Gaussianas, cada classe formada pelas características do sinal é identificado e modelado por uma função densidade de probabilidade. De acordo com Reynolds e Rose (1995), dado um vetor x com dimensão

Capítulo 4. Algoritmos e Técnicas de Classificação 29

Figura 4.1 – Exemplo de distribuição formada pela combinação linear de três Gaussianas. Fonte: (BISHOP, 2006).

𝐷, a densidade de misturas de Gaussiana pode ser definida conforme a equação 𝑝(x | 𝜆) =

𝑀 ∑︁ 𝑚=1

𝑤𝑚𝑏𝑚(x) (4.1)

no qual a densidade 𝑝(x|𝜆) é uma combinação linear ponderada de 𝑚 = 1, . . . , 𝑀 densi- dades de Gaussianas, representadas por 𝑏𝑚(x), em que cada densidade é parametrizada por um vetor de média 𝜇𝑚, uma matriz de covariância Σ𝑚 e pesos de mistura 𝑤𝑚, que satisfazem a restrição ∑︀𝑀

𝑚=1𝑤𝑚 = 1 (KUMARI et al., 2012; DHANALAKSHMI et al.,

2011). Logo, cada componente 𝑏𝑚(x) da densidade é uma função Gaussiana 𝐷-variada na forma 𝑏𝑚(x) = 1 (2𝜋)𝐷/2 𝑚|1/2 exp {︂ −1 2(x − 𝜇𝑚) T Σ−1𝑚 (x − 𝜇𝑚) }︂ (4.2)

Em geral, a densidade de mistura de Gaussianas completa pode ser parametrizada por 𝜆 = (𝑤𝑚, 𝜇𝑚, Σ𝑚), para 𝑚 = 1, . . . , 𝑀 , em que o número de componentes da mistura,

𝑀 , é escolhido empiricamente de acordo com o conjunto de dados a ser modelado. Um

exemplo desta representação pode ser visto na Figura 4.2.

Existem diversas variantes do GMM, definido como 𝜆 = (𝑤𝑚, 𝜇𝑚, Σ𝑚). A matriz de covariância, Σ𝑚, pode ser utilizada completa ou restrita pela diagonal principal. Além disso, os parâmetros podem ser compartilhados (shared) ou amarrados (tied) entre os componentes (Gaussianas), ou seja, pode haver uma matriz de covariância comum para todos os componentes. A escolha do modelo de configuração (número de componentes, matrizes completas ou diagonal) é muitas vezes determinada pelo quantidade de dados disponíveis para estimar os parâmetros do GMM e como o modelo é utilizado em uma aplicação particular. É também importante notar que, como os componentes (Gaussianas) atuam em conjunto para modelar a função de densidade global, as matrizes de covariância completas não são necessárias, mesmo que as características não sejam estatisticamente independentes.

Capítulo 4. Algoritmos e Técnicas de Classificação 30

Figura 4.2 – Representação de um modelo de misturas com 𝑀 Gaussianas.

4.2.1

Treinamento de Modelo de Mistura de Gaussianas

Com o intuito de gerar resultados confiáveis e precisos, classificadores baseados em GMM, assim como acontece com outras técnicas (Redes Neurais, HMM etc.), precisam passar por um procedimento de treinamento, que consiste em modelar um padrão repre- sentativo para uma dada classe, antes de serem finalmente utilizados para classificação.

Para estimar os parâmetros do modelo (𝑤𝑚, 𝜇𝑚, Σ𝑚), pode-se utilizar um método poderoso conhecido como algoritmo EM (do inglês: expectation-maximization) (DEMPS- TER et al.,1977), que tem como objetivo encontrar as soluções que maximizam a verosimi- lhança dos modelos. Para uma sequência de 𝑇 vetores de treinamento, X = (x1, . . . , x𝑇), a verossimilhança do GMM pode ser calculada através da equação

𝑝(X|𝜆) =

𝑇 ∏︁ 𝑡=1

𝑝(x𝑡|𝜆). (4.3)

Consequentemente, os parâmetros são ajustados aumentando a verossimilhança do modelo estimado de forma iterativa, ou seja, para iterações 𝑘 e 𝑘 + 1, 𝑝(X|𝜆𝑘+1) > 𝑝(X|𝜆𝑘). Em cada iteração, os pesos da mistura, as médias e variâncias são calculadas através das respectivas equações: ¯ 𝑤𝑚 = 1 𝑇 𝑇 ∑︁ 𝑡=1 𝑝(𝑚|x𝑡, 𝜆) (4.4)

Capítulo 4. Algoritmos e Técnicas de Classificação 31 ¯ 𝜇𝑚 = 𝑇 ∑︁ 𝑡=1 𝑝(𝑚|x𝑡, 𝜆)x𝑡 𝑇 ∑︁ 𝑡=1 𝑝(𝑚|x𝑡, 𝜆) (4.5) ¯ 𝜎2𝑚 = 𝑇 ∑︁ 𝑡=1 𝑝(𝑚|x𝑡, 𝜆)x𝑡 𝑇 ∑︁ 𝑡=1 𝑝(𝑚|x𝑡, 𝜆) − ¯𝜇2𝑚. (4.6)

Por fim, a probabilidade de uma determinada classe 𝑚 pertencer ao modelo 𝜆, após a atualização dos parâmetros, pode ser obtida através da equação:

𝑝(𝑚|x𝑡, 𝜆) = 𝑤𝑚𝑏𝑚(x𝑡) 𝑀 ∑︁ 𝑘=1 𝑤𝑘𝑏𝑘(x𝑡) . (4.7)

Dois pontos críticos no treinamento de modelos de mistura de gaussianas são a escolha do número 𝑀 de Gaussianas na mistura e a inicialização dos parâmetros do modelo para iniciar o algoritmo EM. O método utilizado para a inicialização dos parâmetros neste trabalho foi o algoritmo K -means.

4.2.1.1 Algoritmo K -means

O algoritmo 𝐾-means (LLOYD, 1982) é uma técnica não-probabilística utilizada em problemas que envolvem encontrar agrupamentos (clusters) em um conjunto de dados. É importante destacar que esta técnica não utiliza nenhum conhecimento sobre os dados em análise (sem rótulos), o que a classifica como uma abordagem de aprendizado não- supervisionada.

Considerando um problema em que se deseja identificar grupos em conjunto de dados em um espaço multidimensional, para um conjunto de dados {x1, . . . , x𝑁} composto por 𝑁 observações de uma variável aleatória Euclidiana x com dimensão 𝐷, o objetivo é particionar o dado em um determinado número de grupos 𝐾 (inicialmente se considera que 𝐾 é conhecido).

Intuitivamente, pode-se pensar em um cluster como um grupo de amostras no qual a distância entre elas é menor que quando comparada com a distância para amostras que não fazem parte do cluster. Pode-se formalizar esta notação primeiro introduzindo um conjunto de vetores 𝜇𝑘 com dimensão 𝐷, em que 𝑘 = 1, . . . , 𝐾, no qual 𝜇𝑘 é um protótipo associado ao 𝑘-ésimo cluster, ou melhor, uma representação do centro do respectivo cluster. Portanto, o objetivo é encontrar uma atribuição de amostras para clusters, ou ainda um conjunto de vetores {𝜇𝑘}, de forma que a soma do quadrado das distâncias de cada amostra para o seu vetor 𝜇𝑘 mais próximo seja mínimo.

Capítulo 4. Algoritmos e Técnicas de Classificação 32

Para representar a atribuição de um ponto (ou amostra) a um determinado cluster, pode-se definir para cada amostra x𝑛 uma variável binária de indicação 𝑟𝑛𝑘 ∈ {0, 1}, em que 𝑘 = 1, . . . , 𝐾 descreve a qual dos 𝐾 clusters está atribuída a amostra x𝑛. Ou seja, se x𝑛 está atribuída ao cluster 𝑘, então 𝑟𝑛𝑘 = 1 e 𝑟𝑛𝑗 = 0 para todo 𝑗 ̸= 𝑘. Este esquema é conhecido como codificação 1-para-𝐾. Logo, a função objetivo, também conhecida como

medida de distorção, pode ser definida como 𝐽 = 𝑁 ∑︁ 𝑛=1 𝐾 ∑︁ 𝑘=1 𝑟𝑛𝑘||x𝑛− 𝜇𝑘|| 2 (4.8)

que representa a soma dos quadrados das distâncias entre cada amostra e o vetor 𝜇𝑘 ao qual está atribuído. O objetivo é encontrar valores para {𝑟𝑛𝑘} e {𝜇𝑘} que minimizem o valor de 𝐽 . Isto pode ser feito iterativamente – cada iteração envolve duas etapas sucessivas que correspondem a sucessivas otimizações em relação a 𝑟𝑛𝑘 e 𝜇𝑘. Este procedimento pode ser descrito da seguinte forma:

1. Escolher valores inicias para 𝜇𝑘;

2. Minimizar 𝐽 em relação a 𝑟𝑛𝑘, mantendo 𝜇𝑘 fixo; 3. Minimizar 𝐽 em relação a 𝜇𝑘, mantendo 𝑟𝑛𝑘 fixo;

4. Repetir os dois estágios de otimização (etapas 2 e 3) até que haja convergência.

Estes dois estágios responsáveis por atualizar 𝑟𝑛𝑘 e 𝜇𝑘 correspondem respectivamente às etapas E (do inglês Expectation) e M (do inglês Maximization), do algoritmo EM. Para enfatizar esta ideia, os termos passo E e passo M são utilizados na descrição do algoritmo

𝐾-means (BISHOP, 2006).

Pode-se iniciar pela determinação de 𝑟𝑛𝑘. Como 𝐽 na Equação (4.8) é uma função linear com relação a 𝑟𝑛𝑘, esta otimização pode ser realizada facilmente para dar uma solução de forma fechada. Os termos envolvendo diferentes valores de 𝑛 são independentes e portanto podem ser otimizados separadamente escolhendo 𝑟𝑛𝑘 igual a 1 para qualquer valor de 𝑘 que minimiza o valor de ||x𝑛−𝜇𝑘||2. Em outras palavras, corresponde a atribuir a mostra 𝑛 ao cluster mais próximo. Formalmente, pode ser expresso por

𝑟𝑛𝑘 = ⎧ ⎪ ⎨ ⎪ ⎩ 1 se 𝑘 = arg min𝑗||x𝑛− 𝜇𝑗||2 0 caso contrário. (4.9)

O próximo passo é a otimização de 𝜇𝑘 com 𝑟𝑛𝑘 fixo. A função objetivo 𝐽 é uma função quadrática de 𝜇𝑘, e pode-se minimizá-la fazendo sua derivada em relação 𝜇𝑘 igual a zero, resultando 2 𝑁 ∑︁ 𝑛=1 𝑟𝑛𝑘(x𝑛− 𝜇𝑘) = 0 (4.10)

Capítulo 4. Algoritmos e Técnicas de Classificação 33

que facilmente pode ser resolvido para 𝜇𝑘

𝜇𝑘 = ∑︀ 𝑛𝑟𝑛𝑘x𝑛 ∑︀ 𝑛𝑟𝑛𝑘 . (4.11)

O denominador desta expressão representa o número de pontos atribuídos ao cluster 𝑘 e portanto se pode interpretar este resultado como a média de todos os pontos x𝑛atribuídos ao cluster 𝑘. Por isto o nome do algoritmo é 𝐾-means (em que means significa médias).

O algoritmo 𝐾-means é baseado no uso de distâncias Euclidianas ao quadrado como medida de dissimilaridade entre as amostras e os vetores centrais. Isto não apenas limita o tipo de dado a ser considerado (pode ser inapropriado quando algumas ou todas as variáveis representam rótulos de categorias), mas também pode gerar as médias dos

clusters de forma que não sejam robustas a exceções. Desta forma, outras abordagens

baseadas em probabilidade se tornam mais apropriadas, como é o caso dos Modelos de Mistura de Gaussianas (GMM). Neste caso, o algoritmo 𝐾-means é utilizado para a inicialização dos parâmetros do GMM antes de aplicar o algoritmo EM.

4.2.2

Classificação Utilizando Modelo de Mistura de Gaussianas

Considerando um grupo de 𝑆 classes diferentes, representadas por 𝒮 = {1, 2, . . . , 𝑆}, cujos modelos GMM, 𝜆1, 𝜆2, . . . , 𝜆𝑆, foram obtidos através do processo de treinamento ba- seado no algoritmo EM, a classificação é o processo de encontrar o modelo 𝜆 com a maior verossimilhança, calculado através da equação:

^

𝒮 = arg max

1≤𝑘≤𝑆𝑝(X|𝜆𝑘) (4.12)

na qual X = (x1, x2, . . . , x𝑇) representa a sequência de observações em análise. Assumindo- se que os vetores (observações) de X são independentes, pode-se aplicar o logaritmo para substituir o produto entre termos por um somatório a fim de evitar que o produto en- tre valores muito pequenos resulte em números extremamente pequenos ou nulos. Desta forma, a equação pode ser definida como:

^ 𝒮 = arg max 1≤𝑘≤𝑆 𝑇 ∑︁ 𝑡=1 log 𝑝(x𝑡|𝜆𝑘) (4.13)

na qual 𝑝(x𝑡|𝜆𝑘) é obtido pela Equação (4.1).