Processo de Dirichlet - Dirichlet process
Na teoria da probabilidade , os processos de Dirichlet (após Peter Gustav Lejeune Dirichlet ) são uma família de processos estocásticos cujas realizações são distribuições de probabilidade . Em outras palavras, um processo de Dirichlet é uma distribuição de probabilidade cujo intervalo é, ele próprio, um conjunto de distribuições de probabilidade. É freqüentemente usado na inferência bayesiana para descrever o conhecimento prévio sobre a distribuição de variáveis aleatórias - quão provável é que as variáveis aleatórias sejam distribuídas de acordo com uma ou outra distribuição particular.
Por exemplo, um saco de 100 dados do mundo real é um pmf aleatório - para provar esse pmf aleatório, você coloca sua mão no saco e tira um dado, ou seja, você tira um pmf. Uma sacola de dados fabricada usando um processo bruto 100 anos atrás provavelmente terá probabilidades que se desviam radicalmente do PMF uniforme, enquanto uma sacola de dados de última geração usada por cassinos de Las Vegas pode ter imperfeições quase imperceptíveis. Podemos modelar a aleatoriedade de pmfs com a distribuição de Dirichlet.
O processo de Dirichlet é especificado por uma distribuição de base e um número real positivo denominado parâmetro de concentração (também conhecido como parâmetro de escala). A distribuição de base é o valor esperado do processo, ou seja, o processo de Dirichlet desenha distribuições "em torno" da distribuição de base da mesma forma que uma distribuição normal desenha números reais em torno de sua média. No entanto, mesmo se a distribuição de base for contínua , as distribuições extraídas do processo de Dirichlet são quase certamente discretas . O parâmetro de escala especifica o quão forte é essa discretização: no limite de , as realizações são todas concentradas em um único valor, enquanto no limite das realizações tornam-se contínuas. Entre os dois extremos, as realizações são distribuições discretas com cada vez menos concentração à medida que aumenta.
O processo de Dirichlet também pode ser visto como a generalização de dimensão infinita da distribuição de Dirichlet . Da mesma forma que a distribuição de Dirichlet é o conjugado anterior para a distribuição categórica , o processo de Dirichlet é o conjugado anterior para distribuições discretas não paramétricas infinitas . Uma aplicação particularmente importante dos processos de Dirichlet é como uma distribuição de probabilidade prévia em modelos de mistura infinita .
O processo de Dirichlet foi formalmente introduzido por Thomas Ferguson em 1973. Desde então, tem sido aplicado em mineração de dados e aprendizado de máquina , entre outros para processamento de linguagem natural , visão computacional e bioinformática .
Uma área de aplicação onde o Dirichlet provou ser particularmente útil é na modelagem da distribuição de palavras em documentos de texto. Se tivermos um dicionário contendo k palavras possíveis, um determinado documento pode ser representado por um pmf de comprimento k produzido pela normalização da frequência empírica de suas palavras. Um grupo de documentos produz uma coleção de pmfs, e podemos ajustar uma distribuição Dirichlet para capturar a variabilidade desses pmfs. Diferentes distribuições de Dirichlet podem ser usadas para modelar documentos de diferentes autores ou documentos sobre diferentes tópicos.
Introdução
Os processos de Dirichlet são geralmente usados na modelagem de dados que tendem a repetir os valores anteriores da maneira chamada "rico fica mais rico". Especificamente, suponha que a geração de valores possa ser simulada pelo algoritmo a seguir.
- Entrada: (uma distribuição de probabilidade chamada distribuição de base), (um número real positivo chamado parâmetro de escala )
- Para :
a) Com probabilidade retirada de .
b) Com probabilidade definida , onde é o número de observações anteriores de .
(Formalmente, onde denota o número de elementos no conjunto.)
Ao mesmo tempo, outro modelo comum para dados é que as observações são consideradas independentes e distribuídas de forma idêntica (iid) de acordo com alguma distribuição (aleatória) . O objetivo de introduzir os processos de Dirichlet é ser capaz de descrever o procedimento descrito acima neste modelo iid.
As observações no algoritmo não são independentes , pois temos que considerar os resultados anteriores ao gerar o próximo valor. Eles são, no entanto, trocáveis . Esse fato pode ser demonstrado calculando a distribuição de probabilidade conjunta das observações e observando que a fórmula resultante depende apenas de quais valores ocorrem entre as observações e de quantas repetições cada uma possui. Por causa dessa permutabilidade, o teorema da representação de de Finetti se aplica e implica que as observações são condicionalmente independentes dada uma distribuição (latente) . Esta é uma variável aleatória em si e tem uma distribuição. Essa distribuição (sobre distribuições) é chamada de processo de Dirichlet ( ). Em resumo, isso significa que obtemos um procedimento equivalente ao algoritmo acima:
- Desenhe uma distribuição de
- Desenhe observações independentemente de .
Na prática, porém, traçar uma distribuição concreta é impossível, pois sua especificação requer uma quantidade infinita de informações. Este é um fenômeno comum no contexto da estatística não paramétrica Bayesiana, onde uma tarefa típica é aprender distribuições em espaços de funções, que envolvem efetivamente infinitos parâmetros. O insight principal é que em muitas aplicações as distribuições de dimensão infinita aparecem apenas como um dispositivo computacional intermediário e não são necessárias para a especificação inicial de crenças anteriores ou para a declaração da inferência final.
Definição formal
Dado um conjunto mensurável S , uma distribuição de probabilidade de base H e um número real positivo , o processo de Dirichlet é um processo estocástico cujo caminho de amostra (ou realização , ou seja, uma sequência infinita de variáveis aleatórias extraídas do processo) é uma distribuição de probabilidade sobre S , de modo que o seguinte seja válido. Para qualquer partição finita mensurável de S , denotado ,
onde denota a distribuição de Dirichlet e a notação significa que a variável aleatória tem a distribuição .
Vistas alternativas
Existem várias visões equivalentes do processo de Dirichlet. Além da definição formal acima, o processo de Dirichlet pode ser definido implicitamente por meio do teorema de de Finetti, conforme descrito na primeira seção; isso geralmente é chamado de processo do restaurante chinês . Uma terceira alternativa é o processo de quebra de bastão , que define o processo de Dirichlet construtivamente escrevendo uma distribuição amostrada do processo como , onde estão as amostras da distribuição de base , é uma função de indicador centrada em (zero em todos os lugares exceto para ) e são definidos por um esquema recursivo que repetidamente obtém amostras da distribuição beta .
O processo do restaurante chinês
Uma metáfora amplamente utilizada para o processo de Dirichlet é baseada no chamado processo do restaurante chinês . A metáfora é a seguinte:
Imagine um restaurante chinês no qual os clientes entram. Um novo cliente se senta a uma mesa com uma probabilidade proporcional ao número de clientes que já estão lá. Além disso, um cliente abre uma nova tabela com uma probabilidade proporcional ao parâmetro de escala . Depois que um número infinito de clientes entrou, obtém-se uma distribuição de probabilidade em um número infinito de tabelas a serem escolhidas. Essa distribuição de probabilidade nas tabelas é uma amostra aleatória das probabilidades de observações obtidas de um processo de Dirichlet com parâmetro de escala .
Se alguém associa a cada tabela a partir da medida de base , a distribuição resultante no espaço amostral é uma amostra aleatória de um processo de Dirichlet. O processo do restaurante chinês está relacionado ao esquema de amostragem da urna Pólya, que produz amostras de distribuições finitas de Dirichlet.
Como os clientes se sentam em uma mesa com uma probabilidade proporcional ao número de clientes já sentados à mesa, duas propriedades do DP podem ser deduzidas:
- O processo de Dirichlet exibe uma propriedade de auto-reforço: quanto mais frequentemente um determinado valor tiver sido amostrado no passado, mais provável será que ele seja amostrado novamente.
- Mesmo se for uma distribuição sobre um conjunto incontável , há uma probabilidade diferente de zero de que duas amostras terão exatamente o mesmo valor porque a massa de probabilidade se concentrará em um pequeno número de tabelas.
O processo de quebra de pau
Uma terceira abordagem para o processo de Dirichlet é a chamada visão do processo de quebra de bastão. Conceitualmente, isso envolve quebrar e descartar repetidamente uma fração aleatória (amostrada de uma distribuição Beta) de uma "vara" que é inicialmente de comprimento 1. Lembre-se de que retiradas de um processo de Dirichlet são distribuições sobre um conjunto . Conforme observado anteriormente, a distribuição desenhada é discreta com a probabilidade 1. Na visão do processo de quebra de bastão, usamos explicitamente a discreta e fornecemos a função de massa de probabilidade desta distribuição discreta (aleatória) como:
onde é a função do indicador que avalia para zero em todos os lugares, exceto para . Como essa distribuição é ela própria aleatória, sua função de massa é parametrizada por dois conjuntos de variáveis aleatórias: as localizações e as probabilidades correspondentes . A seguir, apresentamos sem provas o que são essas variáveis aleatórias.
As localizações são independentes e distribuídas de forma idêntica de acordo com a distribuição básica do processo de Dirichlet. As probabilidades são dadas por um procedimento semelhante à quebra de uma vara de comprimento unitário (daí o nome):
onde estão variáveis aleatórias independentes com a distribuição beta . A semelhança com 'quebrar um pedaço de pau ' pode ser vista considerando o comprimento de um pedaço de um pedaço de pau. Começamos com uma vara de comprimento unitário e em cada etapa quebramos uma parte da vara restante de acordo com e atribuímos a essa peça quebrada . A fórmula pode ser entendida observando que após os primeiros k - 1 valores terem suas porções atribuídas, o comprimento do restante da vara é e esta peça é quebrada de acordo com e atribuída a ela .
Quanto menor for, menos restará do stick para os valores subsequentes (em média), resultando em distribuições mais concentradas.
O processo de quebra de bastão é semelhante à construção em que uma amostra sequencialmente de distribuições beta marginais para gerar uma amostra de uma distribuição de Dirichlet . Veja a prova.
O esquema de urna Pólya
Ainda outra maneira de visualizar o processo de Dirichlet e o processo de restaurante chinês é como um esquema de urna Pólya modificado , às vezes chamado de esquema de amostragem Blackwell-MacQueen . Imagine que começamos com uma urna cheia de bolas pretas. Em seguida, procedemos da seguinte forma:
- Cada vez que precisamos de uma observação, tiramos uma bola da urna.
- Se a bola for preta, geramos uma nova cor (não preta) uniformemente, rotulamos uma nova bola dessa cor, soltamos a nova bola na urna junto com a bola que desenhamos e devolvemos a cor que geramos.
- Caso contrário, rotule uma nova bola com a cor da bola que desenhamos, solte a nova bola na urna junto com a bola que desenhamos e devolva a cor que observamos.
A distribuição resultante sobre as cores é a mesma que a distribuição sobre as mesas no processo de restaurante chinês. Além disso, quando desenhamos uma bola preta, se ao invés de gerar uma nova cor, escolhermos um valor aleatório de uma distribuição de base e usar esse valor para rotular a nova bola, a distribuição resultante sobre os rótulos será a mesma que a distribuição sobre os valores em um processo de Dirichlet.
Use como uma distribuição anterior
O processo de Dirichlet pode ser usado como uma distribuição anterior para estimar a distribuição de probabilidade que gera os dados. Nesta seção, consideramos o modelo
A distribuição do Processo de Dirichlet satisfaz a conjugação anterior , a consistência posterior e o teorema de Bernstein-von Mises .
Conjugação anterior
Neste modelo, a distribuição posterior é novamente um processo de Dirichlet. Isso significa que o processo de Dirichlet é um conjugado anterior a este modelo. A distribuição posterior é dada por
onde é definido abaixo.
Consistência posterior
Se adotarmos a visão frequentista da probabilidade, acreditamos que existe uma verdadeira distribuição de probabilidade que gerou os dados. Em seguida, verifica-se que o processo de Dirichlet é consistente na topologia fraca , o que significa que para cada vizinhança fraca de , a probabilidade posterior de converge para .
Teorema de Bernstein-Von Mises
Para interpretar os conjuntos confiáveis como conjuntos de confiança, um teorema de Bernstein-von Mises é necessário. No caso do processo de Dirichlet, comparamos a distribuição posterior com o processo empírico . Suponha que seja uma classe -Donsker, ou seja,
para alguma Ponte Browniana . Suponha também que existe uma função tal que de tal forma que , em seguida, quase certamente
Isso implica que os conjuntos críveis que você constrói são conjuntos de confiança assintóticos, e a inferência Bayesiana baseada no processo de Dirichlet é assintoticamente também uma inferência frequentista válida.
Uso em modelos de mistura de Dirichlet
Para entender o que são os processos de Dirichlet e o problema que eles resolvem, consideramos o exemplo do agrupamento de dados . É uma situação comum presumir que os pontos de dados sejam distribuídos de forma hierárquica, em que cada ponto de dados pertence a um cluster (escolhido aleatoriamente) e os membros de um cluster são posteriormente distribuídos aleatoriamente dentro desse cluster.
Exemplo 1
Por exemplo, podemos estar interessados em como as pessoas votarão em uma série de questões em uma próxima eleição. Um modelo razoável para esta situação pode ser classificar cada eleitor como liberal, conservador ou moderado e, em seguida, modelar o evento em que um eleitor diz "Sim" a qualquer pergunta em particular como uma variável aleatória de Bernoulli com a probabilidade dependente de qual grupo político eles pertencem. Ao observar como os votos foram lançados em anos anteriores em leis semelhantes, pode-se ajustar um modelo preditivo usando um algoritmo de agrupamento simples, como k-médias . Esse algoritmo, no entanto, requer o conhecimento prévio do número de clusters que geraram os dados. Em muitas situações, não é possível determinar isso com antecedência e, mesmo quando podemos razoavelmente supor uma série de clusters, ainda gostaríamos de poder verificar essa suposição. Por exemplo, no exemplo de votação acima, a divisão em liberal, conservador e moderado pode não estar bem ajustada; atributos como religião, classe ou raça também podem ser críticos para modelar o comportamento do eleitor, resultando em mais clusters no modelo.
Exemplo 2
Como outro exemplo, podemos estar interessados em modelar as velocidades de galáxias usando um modelo simples assumindo que as velocidades são agrupadas, por exemplo, assumindo que cada velocidade é distribuída de acordo com a distribuição normal , onde a ésima observação pertence ao ésimo aglomerado de galáxias. com velocidade esperada comum. Nesse caso, está longe de ser óbvio como determinar a priori quantos clusters (de velocidades comuns) deveriam existir e qualquer modelo para isso seria altamente suspeito e deveria ser verificado em relação aos dados. Ao usar um processo de Dirichlet antes da distribuição do cluster, contornamos a necessidade de especificar explicitamente com antecedência quantos clusters existem, embora o parâmetro de concentração ainda o controle implicitamente.
Consideramos este exemplo com mais detalhes. Um primeiro modelo ingênuo é pressupor que existem grupos de velocidades normalmente distribuídas com variância fixa comum conhecida . Denotando o evento em que a ª observação está no ésimo cluster , podemos escrever este modelo como:
Ou seja, assumimos que os dados pertencem a clusters distintos com médias e que é a probabilidade anterior (desconhecida) de um ponto de dados pertencer ao º cluster. Assumimos que não temos nenhuma informação inicial distinguindo os clusters, que é capturada pelo prior simétrico . Aqui denota a distribuição de Dirichlet e denota um vetor de comprimento onde cada elemento é 1. Além disso, atribuímos distribuições anteriores independentes e idênticas para cada uma das médias do cluster, onde pode haver qualquer distribuição paramétrica com parâmetros denotados como . Os hiperparâmetros e são considerados constantes fixas conhecidas, escolhidos para refletir nossas crenças anteriores sobre o sistema. Para entender a conexão com os antecedentes do processo de Dirichlet, reescrevemos este modelo de uma forma equivalente, mas mais sugestiva:
Em vez de imaginar que cada ponto de dados é primeiro atribuído a um cluster e depois extraído da distribuição associada a esse cluster, agora pensamos em cada observação sendo associada a um parâmetro extraído de alguma distribuição discreta com suporte nas médias. Ou seja, agora estamos tratando o como sendo retirado da distribuição aleatória e nossas informações anteriores são incorporadas ao modelo pela distribuição sobre as distribuições .
Gostaríamos agora de estender este modelo para funcionar sem pré-especificar um número fixo de clusters . Matematicamente, isso significa que gostaríamos de selecionar uma distribuição aleatória anterior onde os valores das médias dos clusters são novamente distribuídos de forma independente de acordo com e a distribuição é simétrica sobre o conjunto infinito de clusters. Isso é exatamente o que o modelo realiza:
Com isso em mãos podemos entender melhor os méritos computacionais do processo de Dirichlet. Suponha que quiséssemos extrair observações do modelo ingênuo com exatamente clusters. Um algoritmo simples para fazer isso seria extrair valores de de , uma distribuição de e, em seguida, para cada observação, amostrar independentemente o cluster com a probabilidade e o valor da observação de acordo com . É fácil ver que esse algoritmo não funciona no caso de permitirmos clusters infinitos, pois isso exigiria a amostragem de um parâmetro dimensional infinito . No entanto, ainda é possível amostrar observações . Pode-se, por exemplo, usar a representação do restaurante chinês descrita abaixo e calcular a probabilidade de clusters usados e um novo cluster a ser criado. Isso evita a necessidade de especificar explicitamente . Outras soluções são baseadas em um truncamento de clusters: Um limite superior (alto) para o número verdadeiro de clusters é introduzido e os números de cluster maiores do que o limite inferior são tratados como um cluster.
Ajustar o modelo descrito acima com base nos dados observados significa encontrar a distribuição posterior sobre as probabilidades do cluster e suas médias associadas. No caso de dimensão infinita, é obviamente impossível escrever o posterior explicitamente. É, no entanto, possível extrair amostras desta posterior usando um amostrador de Gibbs modificado . Este é o fato crítico que torna o processo de Dirichlet útil para inferência .
Aplicações do processo de Dirichlet
Os processos de Dirichlet são freqüentemente usados em estatísticas não paramétricas bayesianas . "Não paramétrico" aqui não significa um modelo sem parâmetros, mas um modelo no qual as representações crescem à medida que mais dados são observados. Os modelos não paramétricos bayesianos ganharam popularidade considerável no campo do aprendizado de máquina devido à flexibilidade mencionada acima, especialmente no aprendizado não supervisionado . Em um modelo não paramétrico bayesiano, as distribuições anteriores e posteriores não são distribuições paramétricas, mas processos estocásticos. O fato de a distribuição de Dirichlet ser uma distribuição de probabilidade no simplex de conjuntos de números não negativos que somam um a torna uma boa candidata para modelar distribuições sobre distribuições ou distribuições sobre funções. Além disso, a natureza não paramétrica desse modelo o torna um candidato ideal para problemas de agrupamento em que o número distinto de clusters é desconhecido de antemão. Além disso, o processo de Dirichlet também tem sido usado para desenvolver uma mistura de modelos especialistas, no contexto de algoritmos de aprendizagem supervisionada (configurações de regressão ou classificação). Por exemplo, misturas de especialistas em processos gaussianos, onde o número de especialistas necessários deve ser inferido a partir dos dados.
Como as retiradas de um processo de Dirichlet são discretas, um uso importante é como probabilidade a priori em modelos de mistura infinita . Nesse caso, é o conjunto paramétrico de distribuições de componentes. O processo gerador é, portanto, que uma amostra é extraída de um processo de Dirichlet e, para cada ponto de dados, por sua vez, um valor é extraído dessa distribuição de amostra e usado como a distribuição de componente para esse ponto de dados. O fato de não haver limite para o número de componentes distintos que podem ser gerados torna esse tipo de modelo adequado para o caso em que o número de componentes da mistura não é bem definido com antecedência. Por exemplo, a mistura infinita do modelo Gaussiano, bem como modelos de regressão de mistura associados, por exemplo
A natureza infinita desses modelos também os empresta a aplicativos de processamento de linguagem natural , onde muitas vezes é desejável tratar o vocabulário como um conjunto infinito e discreto.
O Processo de Dirichlet também pode ser utilizado para testes de hipóteses não paramétrico, isto é, para desenvolver Bayesian versões não paramétricos dos testes de hipóteses não paramétricos clássicos, por exemplo, teste de sinal , teste de Wilcoxon rank-sum , Wilcoxon Signed Rank Test , etc. Por exemplo, versões não paramétricos de Bayesian o teste de soma de postos de Wilcoxon e o teste de postos sinalizados de Wilcoxon foram desenvolvidos usando o processo de Dirichlet impreciso , um processo de Dirichlet de ignorância anterior.
Distribuições relacionadas
- O processo Pitman-Yor é uma generalização do processo de Dirichlet para acomodar caudas de lei de potência
- O processo Dirichlet hierárquico estende o processo Dirichlet comum para modelar dados agrupados.
Referências
- ^ Frigyik, Bela A .; Kapila, Amol; Gupta, Maya R. "Introdução à Distribuição de Dirichlet e Processos Relacionados" (PDF) . Retirado em 2 de setembro de 2021 .
- ^ Ferguson, Thomas (1973). "Análise bayesiana de alguns problemas não paramétricos" . Annals of Statistics . 1 (2): 209–230. doi : 10.1214 / aos / 1176342360 . MR 0350949 .
- ^ Frigyik, Bela A .; Kapila, Amol; Gupta, Maya R. "Introdução à Distribuição de Dirichlet e Processos Relacionados" (PDF) . Retirado em 2 de setembro de 2021 .
- ^ "Processo de Dirichlet e Distribuição de Dirichlet - Esquema de Restaurante Polya e Processo de Restaurante Chinês" .
- ^ Paisley, John. Uma prova simples da construção do processo de Dirichlet. Relatório técnico, Princeton University, Department of Computer Science, 2010.
- ^ Aad van der Vaart , Subhashis Ghosal (2017). Fundamentos da Inferência Não Paramétrica Bayesiana . Cambridge University Press. ISBN 978-0-521-87826-5.
- ^ Sudderth, Erik (2006). Modelos gráficos para reconhecimento e rastreamento de objetos visuais (PDF) (Ph.D.). MIT Press.
- ^ Nils Lid Hjort , Chris Holmes, Peter Müller e Stephen G. Walker (2010). Bayesian Nonparametrics . Cambridge University Press. ISBN 978-0-521-51346-3.CS1 maint: vários nomes: lista de autores ( link )
- ^ Sotirios P. Chatzis, "A Latent Variable Gaussian Process Model with Pitman-Yor Process Priors for Multiclass Classification", Neurocomputing, vol. 120, pp. 482-489, novembro de 2013. doi : 10.1016 / j.neucom.2013.04.029
- ^ Sotirios P. Chatzis, Yiannis Demiris, "Nonparametric mix of Gaussian process with power-law behaviour", IEEE Transactions on Neural Networks and Learning Systems, vol. 23, não. 12, pp. 1862-1871, dez. 2012. doi : 10.1109 / TNNLS.2012.2217986
- ^ Rasmussen, Carl (2000). "The Infinite Gaussian Mixture Model" (PDF) . Avanços em Sistemas de Processamento de Informação Neural . 12 : 554–560.
- ^ Sotirios P. Chatzis, Dimitrios Korkinof e Yiannis Demiris, "A nonparametric Bayesian approach to robot learning by demonstration", Robotics and Autonomous Systems, vol. 60, não. 6, pp. 789-802, junho de 2012. doi : 10.1016 / j.robot.2012.02.005
links externos
- Introdução à distribuição de Dirichlet e processos relacionados por Frigyik, Kapila e Gupta
- Visão geral de Yee Whye Teh dos processos de Dirichlet
- Página do workshop NIPS 2003 sobre métodos não paramétricos Bayesianos
- Tutorial do NIPS 2005 de Michael Jordan: Métodos Bayesianos Não Paramétricos: Processos de Dirichlet, Processos de Restaurante Chinês e Tudo Isso
- Resumo de Peter Green da construção dos processos de Dirichlet
- Artigo de Peter Green sobre modelos probabilísticos de processos de Dirichlet com implicações para modelagem e análise estatística
- Tutorial UAI 2005 de Zoubin Ghahramani sobre métodos Bayesianos não paramétricos
- Software GIMM para realizar análise de cluster usando modelos de mistura infinita
- Um exemplo de brinquedo de agrupamento usando o processo Dirichlet. por Zhiyuan Weng