(Clustering) Introdução Aglomeramento de K-partes Desafios do Aglomeramento Aglomeramento Hierárquico Aglomeramento divisivo (top-down) Aglomeramento inclusivo (bottom-up) Aplicações para o reconhecimento da voz 1
Modelamento Acústico Representação do Sinal Vetor Quantização Forma de Onda Vetores Característicos Símbolos Representação do Sinal produz seqüência de vetor características, Seqüências multi- dimensionais podem ser processadas por: Métodos que modelam diretamente espaço contínuo; Quantização e modelamento de símbolos discretos; Principais vantagens e desvantagens da quantização: Redução no armazenamento e nos custos computacionais; Potencial perda de informação devido à quantização; 2
Vetor Quantização (VQ) Usado na compressão do sinal, codificação da voz e imagem. Transmissão da informação mais eficiente que a quantização escalar (pode obter menos que 1 bit/parâmetro). Usado para modelamento acústico discreto desde os primórdios dos anos 80. Baseado em algoritmos padrões de aglomeramento: Aglomerados individuais centralizados são denominados de codewords. Um conjunto de aglomerados centralizados é denominado de codebook. VQ básico é um aglomerado de K- partes. VQ binário é uma forma de aglomeramento top-down (usado para quantização eficiente). 3
VQ & Aglomeramento Aglomeramento é um exemplo de conhecimento não supervisionado. Número e forma das classes {C i } desconhecida. Amostras de dados disponíveis {x i } não são classificadas. Útil para descobrir estrutura de dados antes da classificação ou adaptação dos classificadores. Resulta fortemente dependente do algoritmo de aglomeramento. 4
Exemplo de Modelamento Acústico 5
Desafios do Aglomeramento O que define um aglomerado? Existe um protótipo representando cada aglomerado? Como é definido um membro associado a um determinado aglomerado? O que é a distância métrica, d(x; y)? Quantos aglomerados existem? O número de aglomerados é escolhido antes do aglomeramento? Quanto bem os aglomerados representam dados não vistos? Como um novo dado é atribuído para um dado aglomerado? 6
Aglomeramento de K-Partes Usado para agrupar dados em K aglomerados, {C 1,...,C K } Cada aglomerado é representado por meio de dados atribuídos O algoritmo converge de forma iterativa para um ótimo local: Seleciona K aglomerados médios iniciais, {µ 1,, µ K }. Calcula iterativamente até o critério de termino ser satisfeito: 1. Atribui cada amostra de dados para o aglomerado mais próximo. x C i ; d(x;µ i ) d(x;µ j ); i j 1. Atualiza as K médias a partir das amostras atribuídas. µ i = E(x); x C i ;1 i K Quantizado vizinho mais próximo usado para dados não vistos. 7
K-Partes Exemplo: K = 3 Seleção aleatória 3 amostras de dados para medias iniciais. Distância métrica Euclidiana entre médias e amostras. 8
Propriedades do K-Partes Geralmente usado com uma distância métrica Euclidiana d(x;µ i ) = x - µ i 2 = (x - µ i ) t (x - µ i ) A distorção, D, é a soma do erro quadrático D = K i= 1 x C i x 2 µ D decresce entre a n th e n + 1 st iteração D(n + 1) D(n) Também conhecido como Isodata, ou algoritmo de Lloyd generalizado. Semelhanças com o algoritmo Maximização-Expectativa para conhecimento de parâmetros a partir de dados não classificados. 9
Aglomeramento K-Partes: Inicialização K-partes converge para um ótimo local. Ótimo Global não é garantido. Escolha inicial pode influenciar o resultado final. K-partes inicial pode ser escolhido aleatoriamente. Aglomeramento pode ser repetido múltiplas vezes. Estratégias Hierárquicas são freqüentemente utilizadas para iniciar os aglomerados. Top-down (divisiva) (ex., binary VQ). Bottom-up (inclusiva). 10
Aglomeramento K- Partes: Critério de Término Muitos critérios podem ser utilizados para terminar K-partes: Não há mudança nas atribuições dos dados. Máximo número de iterações foi excedido. Mudança na distorção total, D, cai abaixo de um limiar. 1 ( + 1) ( ) D n D n < T 11
Exemplo de Aglomeramento Acústico 12 aglomerados, iniciados com aglomeramento inclusivo. Representação Espectral baseada no modelo de audição. 12
Desafios do Aglomeramento: Número de Aglomerados Em geral, o número de aglomerados é desconhecido. Depende do critério de aglomeramento, espaço, computação ou requisitos de distorção ou métricas de reconhecimento 13
Desafios do Aglomeramento: Critério de Aglomeramento O critério utilizado em particionar os dados em aglomerados tem um papel importante na determinação do resultado final. 14
Desafios do Aglomeramento: Distância Métrica A distância métrica geralmente tem as seguintes propriedades: 1. 0 d(x; y) 2. d(x; y) = 0 if x = y 3. d(x; y) = d(y; x) 4. d(x; y) d(x; z) + d(y; z) 5. d(x + z; y + z) = d(x; y) (invariante) Na prática,a distância métrica pode não seguir algumas destas propriedades mas são uma medida das dissimilaridades. 15
Desafios do Aglomeramento: Distância Métrica Distância métrica influencia fortemente a forma dos aglomerados: Produto escalar normalizado: Euclidiana: x - µ i 2 = (x - µi) t (x - µ i ) Euclidiana pesada: (x - µi) t W(x - µ i ) (ex., W = -1 ) Distância Mínima (cadeia): min d(x; x i ); x i C i Representação específica... x t x y y 16
Desafios do Aglomeramento: Impacto da Escala A escala das dimensões do vetor característica pode influenciar significativamente os resultados do aglomeramento. A escala pode ser utilizada para normalizar dimensões e portanto uma simples distância métrica é um critério razoável para a similaridade. 17
Desafios do Aglomeramento: Treinamento e Teste de Dados O desempenho do treinamento de dados pode ser arbitrariamente bom ex., lim D = 0 k Teste independente dos dados é necessário para medir o desempenho. Desempenho pode ser medido pela distorção, D, ou alguma outra métrica de reconhecimento de voz relevante. Treinamento robusto irá degradar minimamente durante o teste Bons dados de treinamento casam bastante bem com as condições do teste. Dados de Desenvolvimento são freqüentemente utilizados para refinamentos, pois através testes iterativos podem implicitamente se tornar uma forma de dados de treinamento. k 18
Critério de Avaliação Alternativo: Exemplo LPC VQ Autumn (Outono) Autumn LPC (tamanho codebook = 1024) 19
Aglomeramento Hierárquico Aglomere os dados em uma estrutura de classes hierárquicas. Top-down (divisiva) ou bottom-up (inclusiva). Freqüentemente baseado na formulação stepwise-optimal, ou greedy. Estrutura Hierárquica útil para supor classes. Usado para iniciar algoritmos de aglomeramento tais como K- partes. 20
Aglomeramento Divisivo Cria hierarquia dividindo sucessivamente os aglomerados em grupos menores. Em cada iteração, um ou mais dos existentes aglomerados são divididos para formar novos aglomerados. O processo é repetido até que um critério de término seja atingido. Técnicas divisivas podem incorporar heurísticas de cortes e de união para melhorar o resultado final. 21
Exemplo de Aglomeramento Divisivo Não-Uniforme 22
Exemplo de Aglomeramento Divisivo Uniforme 23
Desafios no Aglomeramento Divisivo Inicialização de novos aglomerados: Seleção Aleatória a partir de amostras de aglomerados; Seleção de membros amostra distantes do centro; Perturba dimensão de máxima variância; Perturba todas as dimensões ligeiramente. Estruturas Árvore Uniforme ou não-uniforme. Corte de Aglomerados (devido a uma pobre expansão). Atribuição de Aglomerado (distância métrica). Critério de Término: Decréscimo na taxa de distorção; Não pode aumentar o tamanho do aglomerado. 24
Exemplo de Aglomeramento Divisivo: VQ Binário Freqüentemente usado para criar codebook de tamanho M = 2 B (B bit codebook, codebook tamanho M). É utilizado o aglomeramento divisivo binário uniforme. Em cada iteração cada aglomerado é dividido em dois: + µ i = µ i µ i = µ i ( 1+ ) ( 1 ) K-partes é utilizado para determinar o centróide do aglomerado. Também conhecido como algoritmo LBG (Linde, Buzo, Gray). Uma versão mais eficiente faz K-partes somente entre cada divisão binária, e mantém a árvore para uma procura eficiente. 25
Aglomeramento Inclusivo Estruture N amostras ou inicie aglomerados em uma hierarquia; Em cada iteração, os aglomerados mais semelhantes são reunidos para formar um novo aglomerado; Após N -1 iterações, a hierarquia é completada; A estrutura é apresentada na forma de um dendrograma; Levando em consideração o grau de semelhança quando novos aglomerados são criados, o dendrograma pode freqüentemente fornecer ajuda no agrupamento natural dos dados. 26
Dendrograma Exemplo (Uma Dimensão) 27
Desafios com o Aglomeramento Inclusivo Medindo distâncias entre aglomerados C i e C j com número respectivo de tokens n i e n j. Distância média: 1 n n i j ij d ( x, x ) i j Máxima distância (compacta): max d, ij ( x x ) i j Mínima distância (cadeia): ( x x ) min d, ij i j Distância entre dois vetores representativos de cada aglomerado tal como suas médias: d(µ i ;µ j ). 28
Aglomeramento Stepwise-Optimal Comum para minimizar o incremento na distorção total em cada interação de junção: stepwise-optimal ou greedy. A cada iteração, juntar os dois aglomerados que produzem o menor aumento na distorção. Distância métrica para minimizar a distorção, D, é: n n n i i j + n j µ + µ i j Tende a combinar pequenos aglomerados com grandes aglomerados antes de juntar aglomerados de tamanho similar. 29
Aglomeramento por Segmentação 30
Aglomeramento de pessoas falando 23 mulheres e 53 homens falando a partir do TIMIT corpus. Vetor baseado na media de F1 e F2 para 9 vogais. Distância d(c i ;C j ) é a media das distâncias entre membros. 31
Velar Oclusiva Alofônica 32
Velar Oclusiva Alofônica (continuação) 33
Hierarquia Acústica - Fonética Aglomeramento das distribuições fonéticas ao longo de 12 aglomerados. 34
Aglomeramento de Palavras 35
Aplicações VQ Normalmente usada para reduzir a computação. Pode ser utilizada sozinha para a classificação. Usada em dynamic time warping (DTW) e discrete hidden Markov models (HMMs). Codebooks Multiplos são usados quando espaços são estatisticamente independentes (product codebooks). Codebooks Matrizes são às vezes utilizados para capturar a correlação entre quadros sucessivos. Usado para estimação semi-paramétrica da densidade (ex., misturas semi-contínuas). 36
Referências Huang, Acero, and Hon, Spoken Language Processing, Prentice- Hall, 2001. Duda, Hart and Stork, Pattern Classification, John Wiley & Sons, 2001. A. Gersho and R. Gray, Vector Quantization and Signal Compression, Kluwer Academic Press, 1992. R. Gray, Vector Quantization, IEEE ASSP Magazine, 1(2), 1984. A. Juang, D. Wang, A. Gray, Distortion Performance of Vector Quantization for LPC Voice Coding, IEEE Trans ASSP, 30(2), 1982. J. Makhoul, S. Roucos, H. Gish, Vector Quantization in Speech Coding, Proc. IEEE, 73(11), 1985. L. Rabiner and B. Juang, Fundamentals of Speech Recognition, Prentice-Hall, 1993. 37