Resumen
El episodio 163 de enCoders presenta la teoría detrás de la interpretabilidad de modelos de machine learning, centrada en los Shapley Values y en SHAP. Rodo explica por qué las fórmulas tienen sentido. Primero ubica la interpretabilidad frente a la explicabilidad y distingue métodos locales y globales, agnósticos y específicos. Luego construye paso a paso la definición de los Shapley Values (teoría de juegos): coaliciones, diferencias marginales y ponderación combinatoria. Revisa sus propiedades (eficiencia, simetría, jugador nulo, linealidad) y explica la diferencia entre Shapley Values y SHAP. Para SHAP desarrolla el Kernel SHAP: la función de pérdida, el enmascaramiento de columnas con muestreo aleatorio y el kernel de pesos que privilegia coaliciones de una columna o de casi todas. La conclusión principal es que conviene entender la intuición teórica para saber de dónde salen los valores que grafica la librería y evitar interpretaciones erróneas. También se insiste en que la calidad y completitud del dataset, y entender el negocio, importan tanto como el modelo. La parte práctica (código y gráficos) queda para otro episodio.
Capítulos
- 00:00Introducción a la Interpretación de ModelosSe anuncia un episodio teórico sobre Shapley Values, con la práctica en un episodio posterior. Se comenta que una mala interpretación puede hundir un modelo bueno, porque el negocio no cree en él, y que en áreas como salud los riesgos son mayores.
- 02:32Referencias y RecursosLas referencias principales son el libro *Interpretable Machine Learning* y un resumen generado con Claude y corregido por Rodo. Los recursos se publicarán en Discord, y se menciona apoyar al canal con suscripciones de Twitch o membresías de YouTube.
- 03:23Entendiendo Interpretabilidad y ExplicabilidadUn modelo es interpretable de base o explicable a posteriori; lo importante es entender por qué da una predicción. Ejemplo del crédito bancario para detectar sesgos y el peso de variables sensibles. Mati añade que mucha gente ignora la parte conceptual y que SHAP tiene unos 8 años desde el paper.
- 04:19Métodos de Interpretación Local vs GlobalLa interpretación local explica la predicción de un caso específico; la global, la tendencia general del modelo. Se menciona que SHAP permite ambas.
- 07:06Varios Métodos de InterpretaciónSe compara LIME (aproximaciones locales con un modelo simple, más ligero) con SHAP (más robusto pero más costoso). Se describen modelos interpretables de base (regresión lineal, logística, árboles), métodos agnósticos frente a específicos, y ejemplos globales como partial dependency plot y leave-one-feature-out. Se discute si los LLM son interpretables (cabezas de atención, neuronas que se activan por tema, propiedades emergentes difíciles de explicar).
- 18:14Introducción a los Shapley ValuesVienen de la teoría de juegos y miden la contribución de cada agente, individual y en grupos. Ejemplo: repartir ganancias entre Chris, Mati y Rodo; se extiende a columnas de un dataset o píxeles de una imagen.
- 22:00Fundamentos Matemáticos de los Shapley ValuesEn una regresión lineal, la contribución de la componente j es βⱼxⱼ menos βⱼ·E[Xⱼ], comparando con el caso promedio. La suma de todas las contribuciones da f(x) − E[f(X)]. Cuanto más se parece al promedio, más cerca de cero está el valor.
- 27:40Coaliciones y su uso para calcular contribucionesSe definen los subconjuntos (coaliciones) y una función de valor. El aporte de Mati se calcula como diferencia v(S∪{i}) − v(S) sobre todas las coaliciones S que no lo incluyen. Se aclara por qué no es análisis de sensibilidad.
- 38:55Introducción a la CombinatoriaLos subconjuntos de tamaño k entre n−1 elementos se cuentan con el número combinatorio. Se verifica con n=3: 2 grupos de tamaño 1 y 1 de tamaño 2.
- 41:44Recapitulando con ejemplo simpleEjemplo de filas como episodios, columnas como Chris, Mati y Rodo, y viewers como objetivo. Se explica que la función de valor es en la práctica el modelo entrenado. Se explica que Tree SHAP es rápido por la estructura de los árboles, mientras que probar todas las permutaciones crece de forma exponencial o factorial.
- 48:29Por qué la ponderación tiene sentido?Cada diferencia se divide por el número de coaliciones de ese tamaño para que todos los tamaños pesen lo mismo (normalización). Se añade el factor 1/n para ponderar también los distintos tamaños, y se llega a la fórmula con el coeficiente combinatorio elevado a −1.
- 55:10Propiedades de los Shapley ValuesSe mencionan la fórmula alternativa por permutaciones y la suma telescópica. Eficiencia: la suma de los valores da el valor de la coalición total, es decir, la predicción. Simetría, jugador nulo y linealidad son fáciles de probar con álgebra.
- 01:04:45MemesMemes de la caída de AWS (problema de DNS en US East 1, Virginia) y de interpretabilidad. Reflexión sobre que un dataset incompleto lleva a conclusiones erróneas, y sobre la importancia de entender el negocio y de mejorar los datos.
- 01:12:45Anécdota de MatiMati cuenta un caso en que el negocio creía que una variable tenía efecto positivo y el análisis mostraba lo contrario; tras revisarlo, el modelo tenía razón.
- 01:13:53Ejemplo de la Paradoja de SimpsonEjemplo con pingüinos (profundidad del pico vs masa corporal): la tendencia global es descendente aunque dentro de cada grupo es ascendente. Se remite al episodio 87.
- 01:17:53Por qué hay delay en las transmisiones?YouTube suele ir más atrasado que Twitch por el procesamiento de calidad y formatos. Los canales con estatus partner de Twitch tienen más calidades y menos retraso, y enCoders es afiliado.
- 01:18:58Diferencias entre SHAP y Shapley ValuesSHAP aproxima el modelo con un modelo aditivo g(z') = φ₀ + Σφⱼz'ⱼ, donde z' es un vector 0/1 que indica qué variables están activas. Hay hasta M = 2^n coaliciones posibles.
- 01:21:26Métodos para Usar SHAP: Kernel SHAP y Tree SHAPKernel SHAP es genérico (agnóstico) pero costoso, de orden 2^M. Tree SHAP es específico para árboles y mucho más rápido, y no se desarrolla en detalle.
- 01:22:20Construcción de la Función de Pérdida para SHAPLa función hₓ(z') toma la observación x y reemplaza las columnas desactivadas por valores muestreados aleatoriamente, rompiendo sus correlaciones, para no reentrenar el modelo. Se minimiza la suma de los errores cuadráticos entre f(hₓ(z')) y g(z'), ponderados por un peso πₓ.
- 01:27:20Explicación de los Pesos (Kernel) en la Función de PérdidaEl peso se construye por partes para dar más importancia a coaliciones con pocas columnas o con casi todas. Se usan un término 1/|z'|, un término 1/(M−|z'|) y un factor M−1 para que los extremos valgan 1, y se normaliza con el coeficiente combinatorio. Resulta una curva en U con mínimo en el punto medio.
- 01:38:30CierreSe subraya que la matemática es más profunda de lo que parece y que la librería implementa por debajo esta optimización. Se recomienda probar las propiedades como ejercicio y estudiar la teoría para flexibilizar el uso. Se anuncia que la próxima semana habrá una entrevista a un docente del Máster de Ciencias de Datos.