William Arevalo Data Scientist & Full-Stack Developer

About Me Projects Blog


Reducción de la pérdida: descenso de gradientes

Machine LearningMay 16, 2018

El diagrama de enfoque iterativo contenía un cuadro verde con afirmaciones sin fundamento llamado “Actualizar parámetros”. Ahora reemplazaremos esa solución algorítmica mágica por algo más sustancial.

Supón que tuviéramos el tiempo y los recursos de cómputo para calcular la pérdida de todos los valores posibles de w1. Para el tipo de problemas de regresión que hemos estado examinando, la representación resultante de pérdida frente a w1 siempre será convexa. En otras palabras, la representación siempre tendrá forma de tazón, como la siguiente:

Figura 2. Los problemas de regresión producen gráficas de pérdida convexa vs. pesos.

 

Los problemas convexos tienen un solo mínimo, es decir, un solo lugar en el que la pendiente es exactamente 0. Ese mínimo es donde converge la función de pérdida.

Calcular la función de pérdida para cada valor concebible de W1 en todo el conjunto de datos sería una manera ineficaz de buscar el punto de convergencia. Examinemos un mecanismo más útil, muy popular en el aprendizaje automático, denominado descenso de gradientes.

La primera etapa en el descenso de gradientes es elegir un valor de inicio (un punto de partida) para W1. El punto de partida no es muy importante; por lo tanto, muchos algoritmos simplemente establecen W1 en 0 o eligen un valor al azar. En la siguiente figura, se muestra que elegimos un punto de partida levemente mayor que 0.

Figura 3. Un punto de partida para el descenso de gradientes.

Luego, el algoritmo de descenso de gradientes calcula la gradiente de la curva de pérdida en el punto de partida. En resumen, una gradiente es un vector de derivadas parciales; indica por dónde es más cerca o más lejos. Ten en cuenta que la gradiente de pérdida con respecto a un solo peso (como en la Figura 3) es equivalente a la derivada.

Ten en cuenta que la gradiente es un vector, de manera que tiene las dos características siguientes:

  • una dirección
  • una magnitud

La gradiente siempre apunta en la dirección del aumento más empinado de la función de pérdida. El algoritmo de descenso de gradientes toma un paso en dirección de la gradiente negativa para reducir la pérdida lo más rápido posible.

Figura 4. El descenso de gradientes se basa en gradientes negativas.

Para determinar el siguiente punto a lo largo de la curva de la función de pérdida, el algoritmo de descenso de gradientes agrega alguna fracción de la magnitud de la gradiente al punto de partida, como se muestra en la siguiente figura:

Figura 5. Un paso de la gradiente nos mueve hacia el siguiente punto en la curva de pérdida.

Luego, el descenso de gradientes repite este proceso y se acerca cada vez más al mínimo.



photo

William Arevalo

Data Scientist • Bogotá, CO • willarevalo.developer@gmail.com

Passionate Data Scientist | Scrum amateur | Pentester | Services Admin | Calisthenics devotee

I always keep in constant learning and evolution
I don't stop.