Distribución de Dirichlet
Motivar a LDA
Sue Liu
6 de enero de 2019·7 min de lectura
Hace unos meses, construí un sistema de recomendación que empleaba el modelado de temas para mostrar tas relevantes.ks a los empleados. El algoritmo utilizado fue la asignación de Dirichlet latente (LDA), un modelo generativo que existe desde principios de la década de 2000¹. Por supuesto, no reescribí LDA desde cero, sino que usé la implementación en scikit-learn de Python. Pero me hizo pensar en la secuencia de investigación que condujo a la creación del modelo LDA. El problema con tales bibliotecas es que es demasiado fácil incluir algunas líneas en su código y simplemente seguir adelante, así que busqué mis viejos libros de aprendizaje automático con el objetivo de saber lo suficiente para poder explicar LDA en toda su sangrienta probabilidad. detalle. En un momento hubo la preocupación de que se convirtiera en una regresión infinita, pero al final prevaleció la razón y se construyó esta secuencia de artículos. En orden inverso, tenemos:
V: Asignación de Dirichlet latente (LDA)
IV: Indexación semántica latente (LSA)
III: Modelos de mezcla y algoritmo EM
II: modelos generativos bayesianos
I: distribución de Dirichlet
Con suerte, para cuando lleguemos al final, el objetivo se habrá logrado. Empezaremos por la distribución de Dirichlet.
Distribución de Dirichlet: ¿qué es y por qué es útil?
Al buscar la distribución de Dirichlet en cualquier libro de texto, encontramos la siguiente definición:
La distribución de Dirichlet Dir (α) es una familia de distribuciones de probabilidad multivariadas continuas parametrizadas por un vector α de reales positivos. Es una generalización multivariante de la distribución Beta. Las distribuciones de Dirichlet se utilizan comúnmente como distribuciones previas en las estadísticas bayesianas.
Una pregunta inmediata es por qué ¿Se utiliza la distribución de Dirichlet como distribución previa en las estadísticas bayesianas? Una de las razones es que es el conjugado previo a una serie de distribuciones de probabilidad importantes: la distribución categórica y la distribución multinomial. Usarlo a priori facilita mucho las matemáticas.
Conjugado previo
En la teoría de la probabilidad bayesiana, si la distribución posterior pag(θ|X) y la distribución previa pag(θ) son de la misma familia de distribución de probabilidad, entonces el anterior y el posterior se denominan distribuciones conjugadas, y el prior es el conjugado previo para la función de verosimilitud.
Si pensamos en el problema de inferir el parámetro θ para una distribución de un conjunto de datos dado X, entonces el teorema de Bayes dice que la distribución posterior es igual al producto de la función de verosimilitud θ → pag(X|θ) y el anterior pag(θ), normalizado por la probabilidad de los datos pag(X):
Dado que la función de verosimilitud generalmente se define a partir del proceso de generación de datos, podemos ver que las opciones de diferencia de prior pueden hacer que la integral sea más o menos difícil de calcular. Si el anterior tiene la misma forma algebraica que la probabilidad, entonces a menudo podemos obtener una expresión de forma cerrada para el posterior, evitando la necesidad de integración numérica.
Motivar la distribución de Dirichlet: fabricación de dados
Mostramos cómo se puede utilizar la distribución de Dirichlet para caracterizar la variabilidad aleatoria de una distribución multinomial. Tomé prestado este ejemplo de una excelente publicación de blog sobre cómo visualizar la distribución de Dirichlet.
Supongamos que vamos a fabricar dados de 6 caras pero permitimos que los resultados de un lanzamiento sean solo 1, 2 o 3 (esto es para que la visualización posterior sea más fácil). Si el dado es justo, las probabilidades de los tres resultados serán iguales e iguales a 1/3. Podemos representar las probabilidades de los resultados como un vector θ = (θ₁, θ₂, θ₃).
θ tiene dos propiedades importantes: primero, la suma de las probabilidades para cada entrada debe ser igual a uno, y ninguna de las probabilidades puede ser negativa. Cuando se cumplen estas condiciones, los resultados asociados con el lanzamiento del dado pueden describirse mediante una distribución multinomial.
En otras palabras, si observamos norte rollos de dados, D= {x₁,…, x_k}, entonces la función de verosimilitud tiene la forma
Dónde NORTE_k es el número de veces el valor k∈ {1, 2, 3} ha ocurrido.
Esperamos que haya alguna variabilidad en las características de los dados que producimos, por lo que incluso si intentamos producir dados justos, no esperamos que las probabilidades de cada resultado para un dado en particular sean exactamente 1/3, debido a la variabilidad. en el proceso de producción. Para caracterizar matemáticamente esta variabilidad, nos gustaría conocer la densidad de probabilidad de cada valor posible de θ para un proceso de fabricación determinado. Para hacer esto, consideremos cada elemento de θ como una variable independiente. Es decir, para θ = (θ₁, θ₂, θ₃), podemos tratar θ₁, θ₂ y θ₃ cada uno como una variable independiente. Dado que la distribución multinomial requiere que estas tres variables sumen 1, sabemos que los valores permitidos de θ están confinados a un avión. Además, dado que cada valor θᵢ debe ser mayor o igual a cero, el conjunto de todos los valores permitidos de θ está confinado a un triángulo.
Lo que queremos saber es la densidad de probabilidad en cada punto de este triángulo. Aquí es donde la distribución de Dirichlet puede ayudarnos: podemos usarla como anterior para la distribución multinomial.
Distribución de Dirichlet
La distribución de Dirichlet define una densidad de probabilidad para una entrada con valor vectorial que tiene las mismas características que nuestro parámetro multinomial. θ. Tiene apoyo (el conjunto de puntos donde tiene valores distintos de cero) sobre
dónde K es el número de variables. Su función de densidad de probabilidad tiene la siguiente forma:
La distribución de Dirichlet está parametrizada por el vector α, que tiene el mismo número de elementos K como nuestro parámetro multinomial θ. Entonces puedes interpretar pag(θ|α) como respuesta a la pregunta “¿cuál es la densidad de probabilidad asociada con la distribución multinomial θ, dado que nuestra distribución de Dirichlet tiene el parámetro α. «
Visualizando la distribución de Dirichlet
Vemos que la distribución de Dirichlet tiene la misma forma que la distribución de verosimilitud multinomial. Pero, ¿cómo se ve realmente?
Para ver esto, debemos tener en cuenta que es la generalización multivariante de la distribución beta. La distribución beta se define en el intervalo [0, 1] parametrizado por dos parámetros de forma positivos α y β. Como era de esperar, son los priores conjugados para las distribuciones binomiales (incluido Bernoulli). La figura muestra la función de densidad de probabilidad para la distribución Beta con varios valores α y β.
Como podemos ver, la función de densidad beta puede tomar una amplia variedad de formas diferentes dependiendo de α y β. Cuando tanto α como β son menores que 1, la distribución tiene forma de U. En el límite de α = β → 0, es una distribución de Bernoulli de 2 puntos con igual probabilidad 1/2 en cada extremo de la función delta de Dirac X= 0 y X= 1, y probabilidad cero en todos los demás lugares. Cuando α = β = 1 tenemos el uniforme [0, 1] distribución, que es la distribución con la mayor entropía. Cuando tanto α como β son mayores que 1, la distribución es unimodal. Esta diversidad de formas al variar solo dos parámetros lo hace particularmente útil para modelar mediciones reales.
Para la distribución de Dirichlet Dir (α) generalizamos estas formas a un K simplex. Para K= 3, visualizar la distribución requiere que hagamos lo siguiente: 1. Generar un conjunto de coordenadas xy sobre nuestro triángulo, 2. Mapear las coordenadas xy al espacio de coordenadas 2-simplex, 3. Calcular Dir (α) para cada punto. A continuación se muestran algunos ejemplos, puede encontrar el código en mi repositorio de Github.
Vemos que ahora es el parámetro α que gobierna las formas de la distribución. En particular, la suma α₀ = ∑αᵢ controla la fuerza de la distribución (qué tan puntiaguda es). Si αᵢ I, obtenemos ‘picos’ en las esquinas del simplex. Para valores de αᵢ> 1, la distribución tiende hacia el centro del símplex. A medida que α₀ aumenta, la distribución se concentra más estrechamente alrededor del centro del símplex.
En el contexto de nuestro experimento de dados original, produciríamos dados consistentemente justos como αᵢ → ∞. Para una distribución de Dirichlet simétrica con αᵢ> 1, produciremos un dado justo, en promedio. Si el objetivo es producir dados cargados (por ejemplo, con una mayor probabilidad de sacar un 3), querríamos una distribución de Dirichlet asimétrica con un valor más alto para α₃.
Ahora hemos visto qué es la distribución de Dirichlet, cómo se ve y las implicaciones de usarla como anterior para una función de verosimilitud multinomial en el contexto de un ejemplo de fabricación de dados. En la próxima publicación, profundizaremos en los modelos generativos bayesianos y cómo realizar inferencias.
Referencias
Blei, DM, Ng, AY, Jordan, MI (2003) Asignación de Dirichlet latente. Revista de investigación de aprendizaje automático, 3(Jan), págs. 993-1022.