Como o LDA funciona - Amazon SageMaker

Como o LDA funciona

O LDA do Amazon SageMaker é um algoritmo de aprendizado não supervisionado que tenta descrever um conjunto de observações como uma mistura de diferentes categorias. Essas categorias são a própria distribuição de probabilidade sobre os recursos. O LDA é um modelo de probabilidade generativo, o que significa que ele tenta fornecer um modelo para a distribuição de saídas e entradas com base em variáveis latentes. Isso é o contrário dos modelos discriminativos, que tentam aprender como as entradas são mapeadas para as saídas.

Use o LDA para uma variedade de tarefas, do clustering de clientes com base nas compras de produtos à análise harmônica automática de músicas. No entanto, é mais comumente associado à modelagem de tópicos em corpora de texto. As observações são chamadas de documentos. O conjunto de recursos é chamado de vocabulário. Um recurso é chamado de uma palavra. E as categorias resultantes são chamadas de tópicos.

nota

A lematização aumenta significativamente o desempenho e a precisão do algoritmo. Pense no pré-processamento de quaisquer dados de texto de entrada. Para obter mais informações, consulte Raízes de palavras e lematização.

Um modelo LDA é definido por dois parâmetros:

  • α: uma estimativa a priori sobre a probabilidade dos tópicos (em outras palavras, a frequência média da ocorrência de cada tópico em um determinado documento).

  • β: um conjunto de tópicos k, em que cada tópico recebe uma distribuição de probabilidade sobre o vocabulário usado em um corpus de documentos, também chamada de "distribuição de palavras por tópico".

O LDA é um modelo "bag-of-words", o que significa que a ordem das palavras não importa. É um modelo generativo em que cada documento é gerado palavra por palavra, pela escolha de uma combinação de tópicos θ ∼ Dirichlet (α).

Para cada palavra no documento:

  • Escolha um tópico z ∼ Multinomial(θ).

  • Escolha a distribuição de palavras por tópico correspondente, β_z.

  • Desenhe uma palavra w ∼ Multinomial(β_z).

No treinamento do modelo, o objetivo é encontrar parâmetros α e β, que maximizam a probabilidade de o corpus de textos ser gerado pelo modelo.

Os métodos mais conhecidos para estimativa do modelo LDA usam técnicas de maximização de expectativas (EM) ou amostragem de Gibbs. O LDA do Amazon SageMaker usa decomposição espectral de tensor. Isso traz várias vantagens:

  • Garantias teóricas sobre os resultados. No método EM padrão, a convergência certamente só é feita para os pontos de máximos ou mínimos locais, que geralmente são de baixa qualidade.

  • Paralelização inconveniente. O trabalho pode ser dividido trivialmente pelos documentos de entrada no treinamento e na inferência. As abordagens do método EM e da amostragem de Gibbs podem ser paralelizadas, mas não facilmente.

  • Rápido. Embora o método EM tenha um custo de iteração baixo, é suscetível a taxas lentas de convergência. A amostragem de Gibbs também está sujeita a taxas lentas, além de exigir um grande número de amostras.

Basicamente, o algoritmo de decomposição de tensor segue este processo:

  1. O objetivo é calcular a decomposição espectral de um tensor V x V x V, que resume os momentos dos documentos no nosso corpus. V é o tamanho do vocabulário (em outras palavras, o número de palavras distintas em todos os documentos). Os componentes espectrais desse tensor são os parâmetros LDA α e β, que maximizam a probabilidade geral do corpus de documentos. No entanto, como o tamanho do vocabulário tende a ser grande, esse tensor V x V x V é grande demais para ser armazenado na memória.

  2. Em vez disso, ele usa uma matriz de momento V x V, que representa uma analogia bidimensional do tensor da etapa 1, para encontrar uma matriz de ruído branco de dimensão V x k. Essa matriz pode ser usada para converter a matriz de momento V x V em uma matriz de identidade k x k. k é o número de tópicos no modelo.

  3. Essa mesma matriz de ruído branco pode ser usada para encontrar um tensor k x k x k menor. Quando submetido a decomposição espectral, esse tensor conta com componentes que têm uma relação simples com os componentes do tensor V x V x V.

  4. O método de mínimos quadrados alternantes é usado para decompor o tensor k x k x k menor. Isso fornece uma melhoria significativa em velocidade e consumo de memória. Para encontrar os parâmetros α e β, basta aplicar "ruído branco" nesses resultados, na decomposição espectral.

Depois que os parâmetros do modelo LDA são encontrados, é possível encontrar as combinações de tópicos de cada documento. Use o algoritmo Stochastic Gradient Descent para maximizar a função de probabilidade da observância de uma determinada combinação de tópicos correspondentes a esses dados.

Para aprimorar a qualidade dos tópicos, aumente o número de tópicos a ser procurados no treinamento e, em seguida, filtre os de baixa qualidade. Na verdade, isso é feito automaticamente no LDA do SageMaker: 25% mais tópicos são computados e apenas aqueles com maiores antecedentes de Dirichlet associados são retornados. Para filtrar e analisar ainda mais os tópicos, é possível aumentar a contagem de tópicos e modificar o modelo LDA resultante da seguinte forma:

> import mxnet as mx > alpha, beta = mx.ndarray.load(‘model.tar.gz’) > # modify alpha and beta > mx.nd.save(‘new_model.tar.gz’, [new_alpha, new_beta]) > # upload to S3 and create new SageMaker model using the console

Para obter mais informações sobre algoritmos para LDA e a implementação do SageMaker, consulte o seguinte:

  • Animashree Anandkumar, Rong Ge, Daniel Hsu, Sham M Kakade e Matus Telgarsky. Tensor Decompositions for Learning Latent Variable Models, Journal of Machine Learning Research, 15:2773–2832, 2014.

  • David M Blei, Andrew Y Ng e Michael I Jordan. Latent Dirichlet Allocation. Journal of Machine Learning Research, 3(Jan):993–1022, 2003.

  • Thomas L Griffiths e Mark Steyvers. Finding Scientific Topics. Proceedings of the National Academy of Sciences, 101(suppl 1):5228–5235, 2004.

  • Tamara G Kolda e Brett W Bader. Tensor Decompositions and Applications. SIAM Review, 51(3):455–500, 2009.