Cómo hacer LDA

No entiendo bien esta pregunta;

  1. ¿Desea una asignación de Dirichlet latente o un análisis discriminante lineal?
  2. Suponiendo que es “Asignación de Dirichlet Latente” – ¿Desea usar LDA internamente o quiere usar LDA?

La asignación de Dirichlet latente se basa en la distribución de Dirichlet. El término mismo define lo que tiene que hacer “Latente”: también conocido como temas latentes; “Asignación”: búsqueda / asignación; LDA significa encontrar temas latentes en la distribución de Dirichlet.

La nota rápida sobre la distribución de Dirichlet es: es pmf de pmfs; como en la distribución normal, los resultados extraídos de la muestra se valoran; pero en la muestra de Dirichlet los resultados dibujados se distribuyen a sí mismos Ejemplo: bolsa de dados; considere que los dados no están hechos por los últimos casinos como los angeles casinos; pero hecho de ciertos defectos; entonces cada dado puede tener diferentes probabilidades de obtener ‘6’ y así sucesivamente. En el documento de minería de texto también tiene diferentes distribuciones de palabras; faltan ciertas palabras y otras más prominentes.

LDA esencialmente toma el número de temas (necesita un poco de experiencia de prueba y dominio para decidir el número de temas) como entrada y divide la matriz de palabras del documento * en DTM (Matriz de temas de documentos) y WTM (Matriz de temas de palabras). En el tipo de problema de clasificación: en su mayoría, usaría DTM como entrada para algún clasificador como SVM. O en problemas de agrupamiento también puede usar probabilidades de tema en DTM; pero nuevamente DTM tiene límites suaves en el tema ya que cada documento contendría múltiples temas con diferentes probabilidades. (recuerda el modelo de mezcla gaussiana).

En escenarios prácticos: las API de LDA están disponibles en gensim y scikit en python. solo necesita ajustar los parámetros de entrada como #topics y algunos hiperparámetros (alpha, eta, etc.) que se utilizan principalmente para muestrear y asignar temas dentro. También puede elegir varios mecanismos de muestreo: los más populares son el muestreo de Gibbs y el muestreo de Gibbs contraído. Nuevamente para encontrar las mejores utilidades de parámetros como GridSearchCV también disponibles.

Conceptos básicos de la descripción anterior sobre LDA, pero si desea profundizar en LDA (que generalmente no necesitará hacer, pero es bueno entender LDA; ya que ayuda a mejorar el ajuste del algoritmo): lea sobre el muestreo de Gibbs, restaurante chino problema etc. Debe desarrollar una buena intuición.

Otro uso: LDA también hace inherentemente reducción de dimensiones. 2M (docs) * 2L (palabras) se convierte a DTM (2M * 50 (temas) + WTM (2L * 50).

Sí, el código fuente de la Asignación de Dirichlet Latente (LDA) de Scikit-learn es un buen lugar para tener una buena idea sobre cómo se puede implementar LDA en el lenguaje de programación Python. Pero, para comprender completamente el código fuente, necesita una comprensión sólida de los modelos matemáticos utilizados en el algoritmo LDA. Para ese propósito, me gustaría sugerir la siguiente serie de conferencias del profesor: David Blei.

Modelos de tema (Modelos de tema)

Checkout Scikit-learn; es de código abierto y tiene una implementación de LDA.