Está en la página 1de 4

Samuel Gustavo Pedraza Martinez Ingeniería Mecánica

ALGORITMO DEL GRADIENTE DESCENDIENTE


- Descripción de que es el algoritmo del gradiente descendente.
El Gradiente Descendente es un algoritmo de
optimización, que permite encontrar de forma
automática el mínimo de una función. Para ello hace
uso del gradiente (o derivada) de dicha función, que
permite "guiar" al algoritmo para de manera
progresiva acercarse al mínimo ideal de dicha función.

La mejor forma de determinar este algoritmo es


cuando su gradiente es igual a cero (∇ f =0 ¿. El
Gradiente es sinónimo de pendiente o inclinación, y
matemáticamente recibe el nombre de derivada,

Además, todo lo que necesita para ejecutarse es la


salida numérica de una función, no requiere ninguna
fórmula. Hasta que la función sea cercana o igual a
cero, el modelo continuará ajustando sus parámetros
para producir la menor cantidad de errores posible.

Grafica 1: punto minimo de una funcion


usando el gradiente descendiete
Cabe destacar que el algoritmo presenta ciertas características a la hora de ser determinado:

- El algoritmo puede quedar atrapado en mínimos locales, que no son el mínimo


global de la función. Esto puede ocurrir si la función tiene una forma compleja con
muchos valles y picos.
- El algoritmo necesita calcular el gradiente de la función en cada iteración, lo que
puede ser computacionalmente costoso para funciones complejas.
- El algoritmo puede ser inestable en ciertos casos, como cuando la función a
optimizar es muy ruidosa o tiene discontinuidades.
- En algunos casos, el algoritmo puede tardar mucho tiempo en converger a una
solución, especialmente para funciones con muchas variables.
Con esto claro el algoritmo funciona de la siguiente manera:

El algoritmo es iterativo (es decir que se repite el mismo procedimiento varias veces).

-
En este video veremos qué es el Gradiente Descendente, un algoritmo esencial pues es la base de todos
los algoritmos de entrenamiento de modelos Machine Learning (como las redes neuronales,
convolucionales o recurrentes). El Gradiente Descendente es un algoritmo de optimización, que permite
encontrar de forma automática el mínimo de una función. Para ello hace uso del gradiente (o derivada)
de dicha función, que permite "guiar" al algoritmo para de manera progresiva acercarse al mínimo ideal
de dicha función. Además de comprender cómo funciona el algoritmo, en este video analizaremos el
efecto que tiene la tasa de aprendizaje y el número de iteraciones, parámetros que son definidos por el
usuario y que determinarán la convergencia adecuada del algoritmo, y que además son dos de los
parámetros. de mayor importancia durante el entrenamiento de un modelo de Machine Learning.

El Gradiente es sinónimo de pendiente o inclinación, y


matemáticamente recibe el nombre de derivada.

Entendamos esto a través de un ejemplo. En la figura de


abajo se ilustra la misma función e mencionada
anteriormente, junto con la representación gráfica del
gradiente en tres puntos diferentes:

En el punto 1 se observa una línea con una inclinación correspondiente a un gradiente positivo,
mientras que en el punto 3 la línea tiene una orientación opuesta y por tanto se dice que tiene una
pendiente negativa. Por su parte, en el punto 2 la línea es totalmente horizontal y carece de
inclinación, por lo que se dice que su pendiente es igual a cero.

Teniendo este concepto claro, veamos ahora en qué consiste el algoritmo del Gradiente
Descendente.

¿Cómo funciona el algoritmo del Gradiente Descendente?

El algoritmo es iterativo (es decir que se repite el mismo procedimiento varias veces) y requiere
que el usuario introduzca dos parámetros:

El número de iteraciones, es decir cuántas veces se repetirá el procedimiento

La tasa de aprendizaje (o learning rate), conocido como el parámetro α. Este definirá la cantidad
de iteraciones requerida para que el algoritmo encuentre el mínimo de la función.

Una vez definidos estos dos parámetros, el algoritmo procede de la siguiente manera:

Escoge de forma aleatoria el valor inicial de la variable


En cada iteración actualiza el valor de w usando la siguiente ecuación: w ← w - α . gradiente

Se repite el paso (2) hasta completar el número de iteraciones definido por el usuario.

Entendamos el algoritmo a través de un ejemplo gráfico.

Ejemplo de funcionamiento del algoritmo

En la figura de abajo vemos una ilustración del funcionamiento del algoritmo. En primer lugar, el
punto inicial “0” es seleccionado aleatoriamente:

El algoritmo del gradiente descendente es uno de los métodos más usados durante el proceso de
entrenamiento de un Modelo de Machine Learning, y es usado prácticamente para implementar
cualquier arquitectura, desde las Redes Neuronales, pasando por las Convolucionales, Recurrentes
y LSTM, hasta las Redes Transformer.

Con este método es posible encontrar de forma automática (iterativamente) el valor mínimo de
una función matemática. Es importante además tener en cuenta las siguientes consideraciones:

Como parámetros de entrada el algoritmo requiere el número de iteraciones y la tasa de


aprendizaje.

La tasa de aprendizaje determina la cantidad de iteraciones que serán requeridas para lograr la
convergencia del algoritmo.

Como regla general se debe siempre garantizar que 0 < α < 1 para que el algoritmo converja (es
decir para que encuentre el valor mínimo de la función).

El descenso de gradiente es un algoritmo que estima numéricamente


dónde una función genera sus valores más bajos. Eso significa que
encuentra mínimos locales, pero no al establecer como hemos visto
antes. En lugar de encontrar mínimos manipulando símbolos, el descenso
de gradiente aproxima la solución con números. Además, todo lo que
necesita para ejecutarse es la salida numérica de una función, no requiere
ninguna fórmula.

Vale la pena enfatizar esta distinción porque es lo que hace que este
método resulte útil. Si tuviéramos una fórmula simple como , entonces
podríamos calcular fácilmente para determinar que minimiza . O
podríamos usar el descenso de gradiente para obtener una aproximación
numérica, algo así como . Ambas estrategias llegan a la misma
respuesta.

Pero si no tenemos una fórmula simple para nuestra función, entonces se


vuelve difícil o imposible resolver . Si nuestra función tiene cien o un
millón de variables, entonces manipular los símbolos no es factible. Ahí
es cuando una solución aproximada es valiosa y el descenso de gradiente
puede darnos estas estimaciones sin importar cuán elaborada sea nuestra
función.

También podría gustarte