Ir arriba
Oferta tecnológica

NeuralSens: Análisis de Sensibilidad de Redes Neuronales

El paquete NeuralSens está diseñado para realizar análisis de sensibilidad de redes neuronales de perceptrón multicapa (MLP) en R y Python. El paquete calcula las derivadas parciales de la salida con respecto a las variables de entrada de un modelo MLP, lo cual ayuda a evaluar la importancia de las variables y a comprender las relaciones entre las variables de entrada y salida. Esto es útil tanto para simplificar modelos de redes neuronales al identificar y eliminar entradas irrelevantes como para obtener una comprensión más profunda del comportamiento del modelo.

Dr. Jaime Pizarroso Gonzalo

En el campo del aprendizaje automático, entender cómo las variables de entrada influyen en la salida de un modelo de red neuronal es crucial para mejorar el rendimiento y la interpretabilidad del modelo. El análisis de sensibilidad proporciona información sobre estas relaciones, permitiendo la identificación de variables clave y la simplificación de modelos complejos.

NeuralSens es un paquete para R y Python que facilita el análisis de sensibilidad de modelos de Perceptrón Multicapa (MLP) utilizando el método de derivadas parciales. Calcula las derivadas parciales de la salida con respecto a las variables de entrada de un modelo MLP. Esta información se utiliza para evaluar la importancia de las variables y comprender las relaciones intrincadas entre las entradas y las salidas.

El paquete NeuralSens requiere los siguientes insumos para realizar el análisis de sensibilidad:

  • Pesos de la Red Neuronal: Un vector numérico que contiene los pesos de la red neuronal, concatenando los pesos de las capas en orden desde la primera capa oculta hasta la capa de salida. Los pesos de sesgo deben incluirse antes de los pesos de la misma capa.
  • Estructura de la Red: Un vector numérico que especifica el número de neuronas en cada capa de la red neuronal, comenzando con la capa de entrada y terminando con la capa de salida.
  • Funciones de Activación: Funciones que representan las funciones de activación de cada capa y sus derivadas. Si se utilizan funciones de activación personalizadas, deben proporcionarse explícitamente.
  • Conjunto de Datos para el Análisis: Un conjunto de datos donde se calcularán las derivadas parciales del modelo de red neuronal, que incluye las variables de entrada y las salidas correspondientes.

Después de calcular las derivadas parciales, los resultados esperados son:

  • Medidas de Sensibilidad: El paquete calcula varias medidas de sensibilidad, incluyendo la sensibilidad media, la desviación estándar de la sensibilidad y la sensibilidad media cuadrática para cada variable de entrada con respecto a la salida.
  • Objeto de Análisis de Sensibilidad: Un objeto  que contiene los resultados del análisis de sensibilidad, incluyendo datos de sensibilidad en bruto, estructura del modelo y nombres de las variables de entrada y salida.
  • Gráficos y Visualizaciones: El paquete proporciona funciones para generar varios gráficos que representan visualmente las medidas de sensibilidad, tales como:
    • Representación gráfica de las medidas de sensibilidad.
    • Muestras de la relación entre las sensibilidades y los valores de las variables de entrada.
    • Visualización de la evolución de las sensibilidades a lo largo del tiempo, útil para datos de series temporales.
  • Métodos para resumir e imprimir los resultados del análisis de sensibilidad, proporcionando información sobre la linealidad y no linealidad de las relaciones entre entradas y salidas.

Utilizando el paquete NeuralSens, los usuarios pueden obtener una comprensión más profunda de sus modelos de redes neuronales, identificar variables de entrada clave y mejorar la interpretabilidad del modelo, lo que finalmente conduce a soluciones de aprendizaje automático más efectivas y eficientes.

 

Aplicación NeuralSens

Para facilitar e ilustrar el uso de la biblioteca NeuralSens, se ha desarrollado una aplicación basada en Shiny. Esta aplicación proporciona una interfaz fácil de usar para realizar análisis de sensibilidad y visualizar los resultados sin necesidad de conocimientos avanzados en programación.

La aplicación está patrocinada por la Cátedra Santalucía de Analytics for Education de la Universidad Pontificia Comillas. Puede descargar la aplicación para Windows y MacOS desde los siguientes enlaces:

Para más información sobre la Cátedra Santalucía de Analytics for Education, visite este enlace.

 

Proyectos

Desarrollo de una aplicación interactiva para el análisis de datos usando redes neuronales y la metodología NeuralSens para interpretabilidad.

 

Publicaciones

[1] Pizarroso, J., Portela, J., & Muñoz, A. (2022). NeuralSens: Sensitivity Analysis of Neural Networks. Journal of Statistical Software, 102(7), 1–36. https://doi.org/10.18637/jss.v102.i07

[2] Pizarroso, J., Alfaya, D., Portela, J., & Muñoz, A. (2024). Metric Tools for Sensitivity Analysis. arXiv:2305.02368

 

Enlaces de interés