Por que usar um modelo de mistura gaussiano?

9

Estou aprendendo sobre os modelos de mistura gaussiana (GMM), mas estou confuso sobre o motivo pelo qual alguém deveria usar esse algoritmo.

  1. Como esse algoritmo é melhor do que outro algoritmo padrão de cluster, como significa quando se trata de clustering? O significa que o algoritmo particiona os dados em clusters com associações claras do conjunto, enquanto o modelo de mistura Gaussiano não produz uma associação clara do conjunto para cada ponto de dados. Qual é a métrica para dizer que um ponto de dados está mais próximo de outro no GMM?KKK

  2. Como posso usar a distribuição final de probabilidades que o GMM produz? Suponha que eu obtenha minha distribuição final de probabilidade onde são os pesos, e daí? Eu obtive uma distribuição de probabilidade que se ajusta aos meus dados . O que posso fazer com isso?f(x|w)wx

  3. Para acompanhar meu ponto anterior, para significa, no final, obtemos um conjunto de clusters, que podemos designar como o conjunto , que são coisas. Mas para o GMM, tudo o que obtenho é uma distribuição que é coisa. Como isso pode ser usado para agrupar coisas no cluster ?KK{S1,,SK}Kf(x|w)=i=1NwiN(x|μi,Σi)1K

Olórin
fonte
11
GMM tem outros significados, inclusive em econometria. Abreviação removida do título para reduzir a distração.
Nick Cox

Respostas:

11

Emprestarei a notação de (1), que descreve GMMs muito bem na minha opinião. Suponha que tenhamos um recurso . Para modelar a distribuição de , podemos ajustar um GMM da formaXRdX

f(x)=m=1Mαmϕ(x;μm;Σm)
com o número de componentes na mistura, o peso da mistura do ésimo componente e sendo a função de densidade gaussiana com média e matriz de covariância . Usando o algoritmo EM ( sua conexão com o K-Means é explicada nesta resposta ), podemos obter estimativas dos parâmetros do modelo, que vou denotar com um chapéu aqui ( . Então, nosso GMM agora foi ajustado ao , vamos usá-lo!Mαmmϕ(x;μm;Σm)μmΣmα^m,μ^m,Σ^m)X

Isso aborda suas perguntas 1 e 3

Qual é a métrica para dizer que um ponto de dados está mais próximo de outro no GMM?
[...]
Como isso pode ser usado para agrupar coisas no cluster K?

Como agora temos um modelo probabilístico da distribuição, podemos, entre outras coisas, calcular a probabilidade posterior de uma determinada instância pertencente ao componente , que às vezes é chamada de 'responsabilidade' do componente por (produzir) (2). ), denotado comoximmxir^im

r^im=α^mϕ(xi;μm;Σm)k=1Mα^kϕ(xi;μk;Σk)

isso nos dá as probabilidades de pertencer aos diferentes componentes. É exatamente assim que um GMM pode ser usado para agrupar seus dados.xi

Os meios K podem encontrar problemas quando a escolha de K não é adequada para os dados ou as formas das subpopulações diferem. A documentação do scikit-learn contém uma ilustração interessante desses casos

insira a descrição da imagem aqui

A escolha da forma das matrizes de covariância do GMM afeta as formas que os componentes podem assumir; aqui novamente a documentação do scikit-learn fornece uma ilustração

insira a descrição da imagem aqui

Enquanto um número mal escolhido de clusters / componentes também pode afetar um GMM equipado com EM, um GMM montado de maneira bayesiana pode ser um pouco resistente aos efeitos disso, permitindo que os pesos de mistura de alguns componentes sejam (próximos a) zero. Mais sobre isso pode ser encontrado aqui .

Referências

(1) Friedman, Jerome, Trevor Hastie e Robert Tibshirani. Os elementos da aprendizagem estatística. Vol. 1. Não. 10. Nova York: série Springer em estatística, 2001.
(2) Bishop, Christopher M. Reconhecimento de padrões e aprendizado de máquina. springer, 2006.

deemel
fonte
7
  1. Como esse algoritmo é melhor do que outro algoritmo padrão de cluster, como significa quando se trata de clustering?K
  • O k-means é adequado para clusters aproximadamente esféricos de tamanho igual. Pode falhar se essas condições forem violadas (embora ainda funcione se os clusters forem muito amplamente separados). Os GMMs podem caber em clusters com uma variedade maior de formas e tamanhos. Porém, nenhum algoritmo é adequado para dados com clusters curvos / não convexos.

  • Os GMMs atribuem probabilisticamente pontos aos agrupamentos. Isso nos permite quantificar a incerteza. Por exemplo, se um ponto estiver próximo da 'fronteira' entre dois clusters, geralmente é melhor saber que ele tem probabilidades de associação quase iguais para esses clusters, em vez de atribuí-lo cegamente ao mais próximo.

  • A formulação probabilística de GMMs permite incorporar conhecimentos prévios, usando métodos bayesianos. Por exemplo, talvez já saibamos algo sobre as formas ou localizações dos clusters ou quantos pontos eles contêm.

  • A formulação probabilística fornece uma maneira de lidar com dados ausentes (por exemplo, usando o algoritmo de maximização de expectativas normalmente usado para ajustar GMMs). Ainda podemos agrupar um ponto de dados, mesmo que não tenhamos observado seu valor em algumas dimensões. E podemos inferir quais poderiam ter sido esses valores ausentes.

  1. ... O significa que o algoritmo particiona dados em clusters com associações claras ao conjunto, enquanto o modelo de mistura Gaussiano não produz uma associação clara ao conjunto para cada ponto de dados. Qual é a métrica para dizer que um ponto de dados está mais próximo de outro no GMM?KK

Os GMMs dão uma probabilidade de que cada ponto pertence a cada cluster (veja abaixo). Essas probabilidades podem ser convertidas em 'atribuições concretas' usando uma regra de decisão. Por exemplo, a escolha mais simples é atribuir cada ponto ao cluster mais provável (ou seja, aquele com maior probabilidade de associação).

  1. Como posso usar a distribuição final de probabilidades que o GMM produz? Suponha que eu obtenha minha distribuição final de probabilidade onde são os pesos, e daí? Eu obtive uma distribuição de probabilidade que se ajusta aos meus dados . O que posso fazer com isso?f(x|w)wx

Aqui estão apenas algumas possibilidades. Você pode:

  • Execute o armazenamento em cluster (incluindo atribuições concretas, como acima).

  • Imputar valores ausentes (como acima).

  • Detecte anomalias (ou seja, pontos com baixa densidade de probabilidade).

  • Aprenda algo sobre a estrutura dos dados.

  • Amostra do modelo para gerar novos pontos de dados sintéticos.

  1. Para acompanhar meu ponto anterior, para significa, no final, obtemos um conjunto de clusters, que podemos designar como o conjunto , que são coisas. Mas para o GMM, tudo o que obtenho é uma distribuição que é coisa. Como isso pode ser usado para agrupar coisas no cluster ?KK{S1,,SK}Kf(x|w)=i=1NwiN(x|μi,Σi)1K

A expressão que você escreveu é a distribuição dos dados observados. No entanto, um GMM pode ser pensado como um modelo de variável latente. Cada ponto de dados está associado a uma variável latente que indica a qual cluster ele pertence. Ao ajustar um GMM, aprendemos uma distribuição sobre essas variáveis ​​latentes. Isso fornece uma probabilidade de que cada ponto de dados seja um membro de cada cluster.

user20160
fonte