Funcionamiento de LDA - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Funcionamiento de LDA

Amazon SageMaker LDA es un algoritmo de aprendizaje no supervisado que intenta describir un conjunto de observaciones como una mezcla de diferentes categorías. Estas categorías son por sí mismas una distribución de probabilidad sobre las características. LDA es un modelo de probabilidad generativo, lo que significa que intenta proporcionar un modelo para la distribución de salidas y entradas basado en variables latentes. Esto se opone a los modelos discriminatorios, que intentan aprender cómo mapear entradas en salidas.

Puede utilizar LDA para una serie de tareas, desde agrupar en clústeres clientes según las compras de productos hasta realizar un análisis armónico automático de la música. Sin embargo, normalmente se asocia al modelado de temas en los cuerpos de texto. Se hace referencia a las observaciones como documentos. Se hace referencia al conjunto de características como vocabulario. Se hace referencia a una característica como a una palabra. Se hace referencia a las categorías resultantes como temas.

nota

La lematización aumenta significativamente la precisión y el desempeño del algoritmo. Considere realizar el procesamiento previo de cualquier datos de texto de entrada. Para obtener más información, consulte Stemming and lemmatization.

El modelo LDA se define mediante dos parámetros:

  • α: una estimación anterior sobre la probabilidad del tema (es decir, la frecuencia media con la que aparece cada tema en un documento determinado).

  • β: una recopilación de temas k en los que a cada tema se le proporciona una distribución de probabilidad sobre el vocabulario utilizado en un cuerpo de documentos, a lo que también se le llama "distribución de tema-palabra".

El LDA es un modelo «bag-of-words», lo que significa que no importa el orden de las palabras. El LDA es un modelo generativo en el que cada documento se genera word-by-word eligiendo una mezcla de temas θ ∼ Dirichlet (α).

Realice el siguiente procedimiento en cada palabra del documento:

  • Elegir un tema z ∼ Multinomial(θ)

  • Elija la distribución tema-palabra correspondiente β_z.

  • Dibuje una palabra w ∼ Multinomial(β_z).

Cuando se realiza la capacitación del modelo, el objetivo es encontrar los parámetros α y β, que maximizan la probabilidad de que el modelo genere el cuerpo de textos.

Los métodos más populares para la estimación del modelo LDA utilizan el muestreo Gibbs o las técnicas de maximización de expectativas (EM, del inglés Expectation Maximization). La Amazon SageMaker LDA utiliza la descomposición espectral tensorial. Esto proporciona varias ventajas:

  • Garantías teóricas sobre los resultados. Se garantiza que el método EM estándar converge solo de forma óptima en local, que normalmente suele ser de poca calidad.

  • Lamentablemente en paralelo. El trabajo puede dividirse en documentos de entrada de inferencia y capacitación. Los enfoques de muestreo de Gibbs y método EM pueden paralelizarse, pero no tan fácilmente.

  • Rápido. Aunque el método EM dispone de un costo bajo de iteración, está preparado para velocidades bajas de convergencia. El muestreo de Gibbs está también sujeto a velocidades bajas de convergencia y también requiere un gran número de muestras.

En líneas generales, el algoritmo de descomposición del tensor sigue este proceso:

  1. El objetivo es calcular la descomposición espectral de un tensor V x V x V, que resume los momentos de los documentos en nuestro corpus. V es el tamaño del vocabulario (es decir, el número de palabras distintas en todos los documentos). Los componentes espectrales de este tensor son los parámetros LDA α y β, que maximizan la probabilidad general del cuerpo de documentos. Sin embargo, puesto que el tamaño del vocabulario suele ser grande, este tensor V x V x V es demasiado grande para almacenarlo en memoria.

  2. En su lugar, utiliza una matriz de momento V x V, que es la análoga bidimensional del tensor del paso 1, para buscar una matriz de blanqueamiento de la dimensión V x k. Esta matriz puede utilizarse para convertir la matriz de momento V x V en una matriz de identidad k x k. k es el número de temas en el modelo.

  3. Esta misma matriz de blanqueamiento puede utilizarse para buscar un tensor k x k x k más pequeño. Cuando se descompone espectralmente, este tensor dispone de componentes que tienen una relación sencilla con los componentes del tensor V x V x V.

  4. Los mínimos cuadrados alternantes se utilizan para descomponer el tensor k x k x k más pequeño. Esto proporciona una mejora sustancial en el consumo de memoria y la velocidad. Los parámetros α y β pueden encontrarse mediante el "desblanqueamiento" de estas salidas en la descomposición espectral.

Después de que se hayan encontrado los parámetros del modelo LDA, puede buscar las combinaciones de temas para cada documento. Utilice Stochastic Gradient Descent para optimizar la función de probabilidad de la observación de una combinación de temas determinada correspondiente a estos datos.

La calidad de los temas se puede mejorar aumentando el número de temas que buscar en una capacitación y, a continuación, filtrando los que tienen una peor calidad. De hecho, en SageMaker LDA, esto se hace automáticamente: se computan un 25% más de temas y solo se devuelven los que tienen un mayor número de anteriores de Dirichlet asociados. Para realizar un análisis y filtrado del tema más avanzado, puede aumentar el recuento de temas y modificar el modelo LDA resultante de la siguiente manera:

> 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 obtener más información sobre los algoritmos de LDA y su SageMaker implementación, consulte lo siguiente:

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

  • David M Blei, Andrew Y Ng y Michael I Jordan. Asignación latente de Dirichlet (LDA) Journal of Machine Learning Research, 3(ene):993–1022, 2003.

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

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