LDA para dummies (y con un ejemplo)

Tema de hoy: LDA (Latent Dirichlet Allocation). A raíz de la pregunta de una atenta lectora que quiere saber de qué va la cosa. Con un ejemplo: reproducir el mecanismo mental para tratar de averiguar a qué partido vota alguien.

Supongamos que hay cuatro partidos (PP, PSOE, Ciudadanos, IU). Supongamos que una persona al azar votaría a uno de los cuatro. Pero no sabemos a cuál. De todos modos, como leemos las encuestas, sabemos que la probabilidad de que vote PP es alrededor del 30% etc.

No podemos decir que esas probabilidades son, p.e., (.3, .25, .25, .20). Podemos decir que están alrededor de (.3, .25, .25, .20). Con una certidumbre determinada.

La distribución de Dirichlet (y de ahí el nombre de la cosa) lo es sobre vectores positivos que suman uno y están alrededor de un valor dado con una dispersión determinada. Es, de hecho, una distribución de probabilidades sobre vectores de probabilidades (como lo es la beta, a la que generaliza).

Tras la digresión superficialmente matemática, seguimos con el experimento mental.

A nuestro sujeto se le pueden hacer preguntas: qué opina sobre las pensiones, sobre los toros, sobre el contrato único, sobre el sexo no binario, etc. Como tenemos datos sobre lo que opinan los votantes del PP, etc. sobre esas cuestiones, podemos usar esa información para actualizar nuestras probabilidades iniciales. Pero invirtiendo (¡para eso está el teorema de Bayes!) la flecha causal (si se me permite).

En concreto, si nuestro sujeto echase pestes de los sindicatos, ¿cómo cambiaría nuestra opinión sobre su partido favorito? Estamos superacostumbrados a realizar ese tipo de ajustes en nuestro día a día. Con el teorema de Bayes podemos cuantificar y precisar ese proceso de actualización de probabilidades a la vista de información nueva.

El resultado de nuestro análisis es una nueva distribución de probabilidades, seguramente más picuda (o precisa), que da más credibilidad a la preferencia del sujeto por un partido determinado que las probabilidades originales, basadas en encuestas urbi et orbi, que valen para un sujeto abstracto, pero no para este en concreto.

Y esa es toda la ciencia de la cosa. Luego, eso sí, viene la tecnología: el cómo llevarlo a la práctica, cómo resolver los cuellos de botella computacionales que aparecen necesariamente en aplicaciones no triviales, etc. Pero esa es otra guerra.