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.

More Interesting

¿Es realmente necesaria la programación competitiva para campos como la ciencia de datos o el aprendizaje automático y para solicitar gigantes tecnológicos?

¿Hay alguna desventaja de usar GPU en el aprendizaje profundo?

¿Cuáles son los mejores algoritmos para el conjunto de datos de preservación de la privacidad?

¿Qué es una explicación intuitiva de lo que es la dimensión VC?

¿Cuál es el poder computacional de las redes neuronales no recurrentes frente a las redes neuronales recurrentes?

¿Cuál es la diferencia entre una cadena de Markov recurrente y una cadena de Markov absorbente?

¿Qué métodos / códigos están disponibles para estudiar un corpus que consiste en correos electrónicos?

¿Hay alguien aquí que pueda darme una lib correcta para R-Tree en Java?

¿En qué medida se utilizan las técnicas de optimización del aprendizaje automático, como el descenso de gradiente, en el modelado financiero?

¿Tengo que escuchar el curso de aprendizaje automático Coursera de Andrew Ng?

¿Por qué los NN recurrentes son tan susceptibles al problema del gradiente de fuga?

Aprendizaje automático: al construir un modelo de regresión lineal, ¿cómo decido entre variar el grado del polinomio y variar el parámetro de regularización?

Cómo detectar si a una cadena le faltan espacios entre palabras

¿Cuál es la diferencia entre la regresión logística y Naive Bayes?

¿Cuáles son algunos de los usos del aprendizaje automático en los motores de búsqueda?