Interpretabilidad de Modelos
A medida que los modelos se vuelven más complejos, entender cómo toman decisiones se vuelve fundamental. En esta guía aprenderás las técnicas modernas de interpretabilidad: SHAP, LIME y Grad‑CAM.
Tabla de contenidos
- Por qué interpretar modelos
- SHAP
- LIME
- Grad‑CAM
- Interpretabilidad en visión
- Interpretabilidad en NLP
- Ejemplo con Python
- Ejercicios
1. Por qué interpretar modelos
La interpretabilidad permite:
- Detectar sesgos
- Entender decisiones del modelo
- Mejorar confianza
- Depurar errores
2. SHAP
SHAP explica predicciones usando teoría de juegos.
import shap
explainer = shap.TreeExplainer(model)
shap_values = explainer(X)
- Valores SHAP → importancia de cada característica
- Interpretación consistente
- Funciona en modelos complejos
3. LIME
LIME explica predicciones generando modelos locales simples.
from lime.lime_tabular import LimeTabularExplainer
explainer = LimeTabularExplainer(X_train)
exp = explainer.explain_instance(X[0], model.predict)
- Explicaciones locales
- Modelos lineales alrededor del punto
- Muy usado en tabular
4. Grad‑CAM
Grad‑CAM explica predicciones de CNN resaltando regiones importantes de la imagen.
heatmap = grad_cam(model, img)
- Visualización de activaciones
- Interpretabilidad en visión
- Muy usado en clasificación de imágenes
5. Interpretabilidad en visión
Técnicas como Grad‑CAM, Guided Backprop y SmoothGrad permiten ver qué partes de la imagen influyen en la predicción.
6. Interpretabilidad en NLP
En NLP se usan:
- Atención de Transformers
- Importancia de tokens
- Visualización de embeddings
7. Ejemplo con Python
import shap
shap.summary_plot(shap_values, X)
8. Ejercicios
- Explica por qué es importante interpretar modelos.
- Define SHAP.
- Define LIME.
- ¿Qué hace Grad‑CAM?
- Menciona una técnica de interpretabilidad en NLP.
# pista shap
"Teoría de juegos aplicada a IA."
# pista gradcam
"Resalta zonas importantes de la imagen."