Cómo medir el impacto de cada variable en una función o modelo
La sensibilidad describe cuánto cambia la salida de una función cuando cambia una entrada. Es una forma de cuantificar la influencia de cada variable en un sistema.
👉 En machine learning, la sensibilidad permite entender qué variables importan más y cómo afectan al modelo.
Definición corta
La sensibilidad mide cuánto cambia la salida de una función respecto a cambios en sus entradas.
Definición detallada
Para una función f(x), la sensibilidad respecto a x es:
Para funciones multivariables:
👉 Es directamente una derivada (o derivada parcial).
Intuición
La sensibilidad responde:
👉 “Si cambio esta variable, ¿cuánto cambia el resultado?”
Entrada cambia ligeramente
↓
Salida cambia
↓
Sensibilidad mide ese cambio
Interpretación geométrica
- alta sensibilidad → pendiente grande
- baja sensibilidad → pendiente pequeña
👉 Está relacionada con la inclinación de la función.
Ejemplo simple
👉 En x=10: sensibilidad = 20 (alta)
👉 En x=1: sensibilidad = 2 (baja)
🔄 Relación con otros conceptos
- Derivada
- Derivada parcial
- Gradiente
- Jacobiano
🧠 Sensibilidad en múltiples variables
👉 Cada variable tiene su propia sensibilidad.
📊 Ejemplo conceptual
Variable A → gran impacto
Variable B → poco impacto
Sensibilidad en machine learning
🔹 1. Interpretabilidad
Permite identificar:
- variables importantes
- features relevantes
🔹 2. Gradiente
El gradiente es:
👉 un vector de sensibilidades
🔹 3. Backpropagation
Calcula sensibilidades:
👉 de cada peso
🔹 4. Robustez
Modelos con alta sensibilidad:
👉 pueden ser inestables
🔹 5. Adversarial attacks
Pequeños cambios → grandes efectos
👉 alta sensibilidad local.
Ejemplo conceptual
Pequeño cambio en input
↓
Gran cambio en output
→ alta sensibilidad
📊 Ejemplo paso a paso
f(x,y)=x2+3xy
∂x∂f=2x+3y ∂y∂f=3x
👉 sensibilidad depende de ambas variables.
Sensibilidad relativa
A veces se usa:sensibilidad relativa=f(x)x⋅dxdf
👉 mide impacto proporcional.
Ejemplo en Python
import numpy as npdef f(x): return x**2def sensitivity(x, h=1e-5): return (f(x + h) - f(x)) / hprint("Sensibilidad:", sensitivity(2))
Ejemplo en PyTorch
import torchx = torch.tensor(2.0, requires_grad=True)y = x**2y.backward()print("Sensibilidad:", x.grad)
Ejemplo multivariable
import torchx = torch.tensor([2.0, 3.0], requires_grad=True)y = x[0]**2 + x[1]**2y.backward()print("Sensibilidades:", x.grad)
Qué muestra este ejemplo
- Relación con derivadas
- Impacto de variables
- Base de interpretabilidad
Errores comunes
Confundir sensibilidad con importancia global
Es local, depende del punto.
Ignorar escala de variables
Puede distorsionar resultados.
No considerar múltiples variables
Cada una tiene su impacto.
Ejemplo conceptual en ML
Entrada
↓
Modelo
↓
Gradiente
↓
Sensibilidad por variable
Interpretación profunda
La sensibilidad permite:
- entender cómo responden los modelos
- identificar variables clave
- analizar estabilidad
- detectar vulnerabilidades
👉 Es esencial para interpretar y mejorar modelos.
Conclusión
La sensibilidad mide el impacto de cada variable en la salida de una función. Es fundamental para el análisis, la interpretabilidad y la optimización en machine learning.
👉 Es la forma matemática de responder: “¿qué importa realmente?”
Related Concepts
- Derivada
- Derivada parcial
- Gradiente
- Jacobiano
- Backpropagation