Estoy tratando de aplicar la idea de información mutua a la selección de funciones, como se describe en estas notas de clase (en la página 5).
Mi plataforma es Matlab. Un problema que encuentro al calcular información mutua a partir de datos empíricos es que el número siempre está sesgado hacia arriba. Encontré alrededor de 3 ~ 4 archivos diferentes para calcular MI en Matlab Central y todos dan grandes números (como> 0.4) cuando introduzco variables aleatorias independientes.
No soy un experto, pero el problema parece ser que si simplemente usa densidades conjuntas y marginales para calcular el IM, se introduce un sesgo en el proceso porque el IM es, por definición, positivo. ¿Alguien tiene consejos prácticos sobre cómo estimar la información mutua con precisión?
Una pregunta relacionada es, en la práctica, ¿cómo las personas realmente usan MI para seleccionar funciones? No es obvio para mí cómo llegar a un valor umbral ya que MI es en teoría ilimitado. ¿O las personas simplemente clasifican las características por MI y toman las principales características k?
Respuestas:
Este es el problema del sesgo de muestreo limitado .
Las pequeñas estimaciones de muestra de las densidades son ruidosas, y esta variación induce correlaciones espurias entre las variables que aumentan el valor estimado de la información.
Algunos paquetes que implementan estas técnicas en Matlab incluyen infotoolbox y Spike Train Analysis Toolkit .
Para el caso continuo, los estimadores basados en distancias vecinas más cercanas reducen el problema.
fuente
He usado la divergencia KL y con tamaños de muestra apropiados obtengo valores de 0 para loci donde las distribuciones tienen la misma probabilidad.
Le sugiero que reformule su IM en términos de divergencia KL.
fuente
Debe usar un algoritmo de información mutua parcial para la selección de variables de entrada (función). Se basa en conceptos MI y estimación de densidad de probabilidad. Por ejemplo en:
Utilicé PMI para reducir la cantidad de entradas de red neuronal a medida que aumentan la complejidad e introducen otros problemas. Puede encontrar una descripción general completa de los algoritmos de selección de variables de entrada (IVS) en el documento Revisión de los métodos de selección de variables de entrada para redes neuronales artificiales . Puede usar IVS para SVM y otros. Para abreviar, use PMI.
fuente