Estou aprendendo sobre os modelos de mistura gaussiana (GMM), mas estou confuso sobre o motivo pelo qual alguém deveria usar esse algoritmo.
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?
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?
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 ?
Respostas:
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 formaX∈Rd X
Isso aborda suas perguntas 1 e 3
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 comoxi m m xi r^im
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
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
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
fonte
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.
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).
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.
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.
fonte