Path: blob/master/site/es-419/probability/examples/Factorial_Mixture.ipynb
25118 views
Copyright 2018 The TensorFlow Probability Authors.
Licensed under the Apache License, Version 2.0 (the "License");
En este bloc de notas, mostramos cómo usar TensorFlow Probability (TFP) para tomar muestras de una distribución factorial de mezcla de gaussianas definida como: donde:
Cada variable se modela como una mezcla de gaussianas y la distribución conjunta sobre todas las variables es un producto de estas densidades.
A partir de un conjunto de datos , modelamos cada punto de datos como una mezcla factorial de gaussianos:
Las mezclas factoriales son una forma sencilla de crear distribuciones con una pequeña cantidad de parámetros y una gran cantidad de modos.
Construya la mezcla factorial de gaussianas con TFP
Observe nuestro uso de tfd.Independent
. Esta "metadistribución" aplica una reduce_sum
en el cálculo log_prob
sobre las dimensiones de lote reinterpreted_batch_ndims
situadas más a la derecha. En nuestro caso, esto suma la dimensión de las variables y deja solo la dimensión del lote cuando calculamos log_prob
. Tenga en cuenta que esto no afecta el muestreo.
Trace la densidad
Calcule la densidad en una cuadrícula de puntos y muestre las ubicaciones de los modos con estrellas rojas. Cada modo de la mezcla factorial corresponde a un par de modos de la mezcla subyacente de variables individuales de gaussianas. Podemos ver 9 modos en el gráfico siguiente, pero solo necesitábamos 6 parámetros (3 para especificar las ubicaciones de los modos en y 3 para especificar las ubicaciones de los modos en ). Por el contrario, una mezcla de distribución gaussiana en el espacio bidimensional requeriría 2 * 9 = 18 parámetros para especificar los 9 modos.