Modelo de mistura finita baseado em Dirichlet Distribution PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Modelo de mistura finita baseado na distribuição de Dirichlet

Esta postagem no blog é a segunda parte de uma série de artigos sobre modelos de mistura do Processo Dirichlet. No artigo anterior tivemos uma visão geral de várias técnicas de Análise de Cluster e discutimos alguns dos problemas/limitações que surgem ao usá-los. Além disso, apresentamos brevemente os Modelos de Mistura de Processo de Dirichlet, falamos sobre por que eles são úteis e apresentamos algumas de suas aplicações.

Atualização: O Datumbox Machine Learning Framework agora é de código aberto e gratuito para download. Confira o pacote com.datumbox.framework.machinelearning.clustering para ver a implementação de Modelos de Mistura de Processo Dirichlet em Java.

Os modelos de mistura de processo de Dirichlet podem ser um pouco difíceis de engolir no início, principalmente porque são modelos de mistura infinita com muitas representações diferentes. Felizmente, uma boa maneira de abordar o assunto é partir dos Modelos de Misturas Finitas com Distribuição de Dirichlet e depois passar para os infinitos.

Conseqüentemente, neste artigo, apresentarei brevemente algumas distribuições importantes que precisaremos, vamos usá-las para construir o modelo Dirichlet Prior com Verossimilhança Multinomial e, em seguida, passaremos para o Modelo de Mistura Finita baseado na Distribuição de Dirichlet.

1. Distribuição Beta

A Distribuição beta é uma família de distribuições contínuas que é definida no intervalo de [0,1]. Ele é parametrizado por dois parâmetros positivos aeb e sua forma depende muito da seleção desses dois parâmetros.

imagem

Figura 1: Distribuição Beta para diferentes parâmetros a, b

A distribuição Beta é comumente usada para modelar uma distribuição sobre probabilidades e tem a seguinte densidade de probabilidade:

imagem

Equação 1: PDF Beta

Onde Γ(x) é a função gama e a, b os parâmetros da distribuição. Beta é comumente usado como uma distribuição de valores de probabilidade e nos dá a probabilidade de que a probabilidade modelada seja igual a um determinado valor P = p0. Por sua definição, a distribuição Beta é capaz de modelar a probabilidade de resultados binários que assumem valores verdadeiros ou falsos. Os parâmetros aeb podem ser considerados como pseudocontagens de sucesso e falha, respectivamente. Assim, a Distribuição Beta modela a probabilidade de sucesso dados a sucessos e b falhas.

2. Distribuição de Dirichlet

A Distribuição de Dirichlet é a generalização da Distribuição Beta para múltiplos resultados (ou, em outras palavras, é usada para eventos com múltiplos resultados). É parametrizado com k parâmetros ai que deve ser positivo. A Distribuição de Dirichlet é igual à Distribuição Beta quando o número de variáveis ​​k = 2.

imagem

Figura 2: Distribuição de Dirichlet para vários ai parâmetros

A distribuição de Dirichlet é comumente usada para modelar uma distribuição sobre probabilidades e tem a seguinte densidade de probabilidade:

imagem

Equação 2: PDF de Dirichlet

Onde Γ(x) é a função gama, o pi assumir valores em [0,1] e Σpi=1. A distribuição de Dirichlet modela a distribuição conjunta de pi e dá a probabilidade de P1=p1,P2=p2,….,Pk-1=pk-1 com Pk=1 –ΣPi. Como no caso do Beta, o ai parâmetros podem ser considerados como pseudocontagens das aparições de cada evento i. A distribuição de Dirichlet é usada para modelar a probabilidade de ocorrência de k eventos rivais e é frequentemente denotada como Dirichlet(a).

3. Dirichlet Prior com Probabilidade Multinomial

Como mencionado anteriormente, a distribuição de Dirichlet pode ser vista como uma distribuição sobre distribuições de probabilidade. Nos casos em que queremos modelar a probabilidade de ocorrência de k eventos, uma abordagem bayesiana seria usar Probabilidade Multinomial e Priores de Dirichlet .

Abaixo podemos ver o modelo gráfico de tal modelo.

imagem

Figura 3: Modelo Gráfico de Priores de Dirichlet com Probabilidade Multinomial

No modelo gráfico acima, α é um vetor dimensional k com os hiperparâmetros de priores de Dirichlet, p é um vetor dimensional k com os valores de probabilidade e xi é um valor escalar de 1 a k que nos diz qual evento ocorreu. Finalmente devemos notar que o P segue a distribuição de Dirichlet parametrizada com o vetor α e assim P ~ Dirichlet(α), enquanto o xi as variáveis ​​seguem a distribuição Discreta (Multinomial) parametrizada com o vetor p de probabilidades. Modelos hierárquicos semelhantes podem ser usados ​​na classificação de documentos para representar as distribuições de frequências de palavras-chave em diferentes tópicos.

4. Modelo de Mistura Finita com Distribuição de Dirichlet

Usando a Distribuição de Dirichlet podemos construir uma Modelo de Mistura Finita que pode ser usado para realizar clustering. Vamos supor que temos o seguinte modelo:

imagem

imagem

imagem

imagem

Equação 3: Modelo de Mistura Finita com Distribuição de Dirichlet

O modelo acima assume o seguinte: Temos um conjunto de dados X com n observações e queremos realizar uma análise de cluster nele. O k é um número finito constante que mostra o número de clusters/componentes que usaremos. O Ci variáveis ​​armazenam a atribuição de cluster de observação Xi, eles assumem valores de 1 a k e seguem a Distribuição Discreta com parâmetro p que são as probabilidades de mistura dos componentes. O F é a distribuição generativa do nosso X e é parametrizado com um parâmetro imagem que depende da atribuição de cluster de cada observação. No total temos k único imagem parâmetros iguais ao número de nossos clusters. o imagem A variável armazena os parâmetros que parametrizam a distribuição F generativa e assumimos que ela segue uma base G0 distribuição. A variável p armazena as porcentagens de mistura para cada um dos k clusters e segue o Dirichlet com os parâmetros α/k. Finalmente o α é um vetor dimensional k com os hiperparâmetros (pseudocontagens) da distribuição de Dirichlet [2].

imagem

Figura 4: Modelo Gráfico do Modelo de Mistura Finita com Distribuição de Dirichlet

Uma maneira mais simples e menos matemática de explicar o modelo é a seguinte. Assumimos que nossos dados podem ser agrupados em k clusters. Cada cluster tem seus próprios parâmetros imagem e esses parâmetros são usados ​​para gerar nossos dados. Os parametros imagem assume-se que seguem alguma distribuição G0. Cada observação é representada com um vetor xi e aci valor que indica o cluster ao qual pertence. Consequentemente o ci pode ser vista como uma variável que segue a Distribuição Discreta com um parâmetro p que nada mais é do que as probabilidades de mistura, ou seja, a probabilidade de ocorrência de cada cluster. Dado que tratamos nosso problema de forma bayesiana, não tratamos o parâmetro p como um vetor constante desconhecido. Em vez disso, assumimos que o P segue Dirichlet que é parametrizado por hiperparâmetros α/k.

5. Trabalhando com k clusters infinitos

O modelo de mistura anterior nos permite realizar aprendizado não supervisionado, segue uma abordagem bayesiana e pode ser estendido para ter uma estrutura hierárquica. No entanto, é um modelo finito porque usa um número k constante de clusters predefinido. Como resultado, é necessário definir o número de componentes antes de executar a Análise de Cluster e, como discutimos anteriormente na maioria dos aplicativos, isso é desconhecido e não pode ser facilmente estimado.

Uma maneira de resolver isso é imaginar que k tem um valor muito grande que tende ao infinito. Em outras palavras, podemos imaginar o limite deste modelo quando k tende ao infinito. Se este for o caso, então podemos ver que apesar do número de clusters k ser infinito, o número real de clusters que estão ativos (os que têm pelo menos uma observação), não pode ser maior que n (que é o número total de observações em nosso conjunto de dados). De fato, como veremos mais adiante, o número de clusters ativos será significativamente menor que n e eles serão proporcionais a imagem.

É claro que levar o limite de k ao infinito não é trivial. Várias questões surgem como se é possível tomar tal limite, como seria esse modelo e como podemos construir e usar tal modelo.

No próximo artigo vamos focar exatamente nestas questões: vamos definir o Processo de Dirichlet, vamos apresentar as várias representações do DP e finalmente vamos focar no Processo do Restaurante Chinês que é uma forma intuitiva e eficiente de construir um Processo de Dirichlet.

Espero que tenha achado este post útil. Se você fez, por favor, tome um momento para compartilhar o artigo no Facebook e Twitter. 🙂

Carimbo de hora:

Mais de Caixa de dados