¿Te resulta más fácil leer con fondo crema, un tono de color, más contraste o un texto más grande? Elige tus colores y tu texto una sola vez, para todas las páginas.

Lección gratuita

Gradiente de una función de dos variables

Después de esta lección: Puedo calcular el gradiente de una función de dos variables en un punto.

Lección de 60 min1 comandoLaboratorio JupyterLab de ciencia de datos: pandas, Matplotlib y scikit-learn en el navegador

El gradiente dice hacia dónde sube más deprisa

El gradiente de una función de dos variables es la pareja de pendientes que indica hacia dónde sube más deprisa. Con él sabes qué dirección tomar para subir, o para bajar, lo más rápido posible.

Así ajusta un modelo sus dos números a la vez: mira el gradiente del error y se mueve en sentido contrario.

Al final de esta lección

Nota

Puedo calcular el gradiente de una función de dos variables en un punto.

Palabras clave

PalabraQué significaEjemplo
Variableun número que puede cambiarx, y
Derivada parcialla pendiente al mover solo una variable, con la otra quieta
Gradientela pareja de derivadas parciales
Dirección de máxima subidahacia donde apunta el gradiente
Puntouna pareja de valores de x y de y(2, 1)

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Una derivada parcial mueve solo una variable

Piensa en la altura de una ladera según tu posición: este y norte. Si caminas solo hacia el este, con el norte quieto, notas una pendiente. Esa es la derivada parcial respecto a x.

Para calcularla, trata la otra variable como un número fijo y deriva con las reglas de siempre.

Ejemplo resuelto: el gradiente de una ladera

Qué buscasCómoPara `x ** 2 + 3 * y ** 2`
Parcial respecto a xTrata y como número fijo`2 * x`
Parcial respecto a yTrata x como número fijo`6 * y`
GradienteLa pareja de las dos`(2 * x, 6 * y)`
En el punto (2, 1)Sustituye x e y`(4, 6)`

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

El gradiente se estima moviendo una variable

Igual que con una variable, estimas cada derivada parcial con un paso pequeño. Mueves x un poco y dejas y quieta. Después haces lo contrario.

Con un paso a cada lado del punto, el resultado es más preciso. Los dos resultados juntos forman el gradiente.

Estima las dos derivadas parciales

Código: python
# La altura de una ladera según tu posición.
def altura(x, y):
    return x ** 2 + 3 * y ** 2

x = 2
y = 1
h = 0.001
parcial_x = (altura(x + h, y) - altura(x - h, y)) / (2 * h)
parcial_y = (altura(x, y + h) - altura(x, y - h)) / (2 * h)
print("Gradiente:", round(parcial_x, 3), round(parcial_y, 3))
# Cambia y a 3 y ejecuta otra vez.
# ¿Qué derivada parcial cambia y cuál no?

Mira la cuadrícula de alturas

Comando
docker exec jupyter python3 -c "import numpy as np; x,y=np.meshgrid(np.arange(-2,3),np.arange(-2,3)); print(x**2+3*y**2)"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Menos el gradiente apunta cuesta abajo

El gradiente apunta hacia donde la función sube más deprisa, y su longitud dice cuánto sube. En sentido contrario, la función baja lo más rápido posible.

En (2, 1) el gradiente es (4, 6). Para bajar más deprisa, el movimiento va en la dirección (-4, -6).

Un error muy común

Advertencia

Mucha gente cree que el gradiente es un solo número, la pendiente. Con dos variables hay una pendiente en cada dirección, así que el gradiente son dos números. Además, apunta a la subida más rápida, no al mínimo.

Ejemplo resuelto: lo que imprime la cuadrícula

Qué mirasValoresQué te dice
Fila del centro (y = 0)4, 1, 0, 1, 4Sube despacio al alejarte en x
Columna del centro (x = 0)12, 3, 0, 3, 12Sube más deprisa al alejarte en y
El centro0El punto más bajo: el fondo del valle
Las esquinas16El punto más alto de la cuadrícula

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Para ir más lejos: otra ladera

En el código de las parciales, cambia la altura por x ** 2 + y ** 2 y calcula el gradiente en (2, 1). Antes de ejecutar, escribe qué dos números esperas.

Después explica con tus palabras por qué esa ladera sube igual de deprisa en las dos direcciones.

Sobre este laboratorio y su código: Laboratorio JupyterLab de ciencia de datos: pandas, Matplotlib y scikit-learn en el navegador

¿Enseñas a una clase? Asigna este módulo a tus alumnos con guía del profesor, tareas con corrección automática y un laboratorio para cada alumno.