2012-08-29 19 views
6

estoy usando Gaussian modelo de mezcla de pitón scikit-learn paquete para entrenar a mi conjunto de datos, sin embargo, que cuando FOUNT códigoscikit-learn GMM producir probabilidad registro positivo

- G = mixture.GMM (.. .)

- G.fit (...)

- G.score (función de suma)

la probabilidad de registro resultante es número real positivo ... ¿Por qué? ¿No se garantiza que la probabilidad de registro sea negativa?

Lo entiendo. qué modelo de mezcla gaussiano nos devuelve i la probabilidad de registro "densidad" en lugar de probabilidad "masa", por lo que el valor positivo es totalmente razonable.

Si la matriz de covarianza está cerca de singular, entonces el GMM voluntad no perfomr así, y por lo general significa que los datos no son buenos para tal tarea generativa

+2

Parece un error, ¿pueden darnos un script de reproducción minimalista? BTW: puede informar de errores directamente en https://github.com/scikit-learn/scikit-learn/issues – ogrisel

Respuesta

9

probabilidades de registro positivos están bien.

Recuerde que la probabilidad calculada de GMM es una función de densidad de probabilidad (PDF), por lo que puede ser mayor que uno en cualquier punto individual.

La restricción es que el PDF debe integrarse a uno sobre el dominio de datos.

Si la probabilidad de registro crece muy grande, entonces el algoritmo de inferencia puede haber llegado a una solución degenerada (común con estimación de máxima verosimilitud si tiene un pequeño conjunto de datos).

Para comprobar que el algoritmo GMM no ha llegado a una solución degenerada, debe observar las varianzas para cada componente. Si cualquiera de las varianzas es cercana a cero, entonces esto es malo. Como alternativa, debe usar un modelo bayesiano en lugar de la estimación de máxima verosimilitud (si todavía no lo está haciendo).

+0

Hola, gracias por la respuesta, ¿puede explicar más sobre la matriz de covarianza degenerada? ¿Cómo puede suceder eso ?. ¿significa eso que mis datos se encuentran principalmente en algún subespacio de R^n para que la varianza a lo largo de algún eje sea cercana a cero? – Jing

+0

Sí, sus datos podrían abarcar un subespacio dimensional inferior o uno de los componentes de la mezcla podría centrarse en un único punto de datos. Compruebe si los valores propios de las matrices de covarianza son cercanos a cero. – user1149913