Descenso de gradiente en TensorFlow

Autor: | Última modificación: 18 de abril de 2024 | Tiempo de Lectura: 2 minutos
Temas en este post:

Algunos de nuestros reconocimientos:

Premios KeepCoding

TensorFlow es una de las bibliotecas más utilizadas para el manejo del Big Data, por lo que conocer sus funciones es muy importante. Por ello, en este post, te explicamos cómo funciona el descenso de gradiente en TensorFlow.

Descenso de gradiente en TensorFlow

Como primer acercamiento al descenso de gradiente en TensorFlow, debes comprender que una red neuronal no es otra cosa que un optimizador de funciones. ¿Y para qué podríamos utilizar este optimizador de funciones?

Descenso de gradiente en TensorFlow

Existen muchos problemas para los que es muy computacionalmente costoso solucionarlos de forma analítica, por lo que se emplean métodos numéricos. Uno de estos métodos es el descenso de gradiente. ¿Y qué es el descenso de gradiente?

El descenso del gradiente es el mecanismo que hace que una red neuronal aprenda. Al fin y el cabo, podemos ver el descenso de gradiente como un algoritmo de optimización que permite minimizar cualquier función siempre que sea diferenciable, es decir, que podamos calcular sus derivadas.

Ejemplo: descenso de gradiente en TensorFlow

Ahora que ya conocemos una forma de encontrar el valor óptimo a nuestra función, ¿qué os parece si solucionamos este problema de forma numérica con Tensorflow?

Descenso de gradiente en TensorFlow
# Tenemos el sistema de ecuaciones:
# S = (x+8)(y+4)
# xy = 600

# Que sustituyendo, nos da la siguiente ecuación:
# S(y) = 632 + 8y + 2400/y

# Que es la que queremos minimizar

import numpy as np
import tensorflow as tf

## Code ##

Por supuesto, ahora quedaría calcular x sustituyendo en x = 600/y:

## Code ##

Vamos a hacer una última comprobación dibujando la función:

import matplotlib.pyplot as plt

y = ## Code ##
s = ## Code ##
## Code ##
print("El mínimo de la función se encuentra en {}".format(np.min(s)))
min_s = ## Code ##
s_min_idx = ## Code ##
y_min = y## Code ##
print("El valor de y que consigue el mínimo es {}".format(y_min[0]))

¡Vamos a ver otro ejemplo!

Otro ejemplo

En este caso, queremos encontrar el mínimo de la función y=log²(x).

# Hallar el mínimo de la función y=log(x)^2
## Code ##

Visualicemos la función:

## Code ##

¿Quieres aprender del Big Data?

En este post, te hemos expuesto cómo funciona el descenso de gradiente en TensorFlow. Sin embargo, esta es solo una de las funciones y formas en las que puedes solucionar problemas por medio de esta biblioteca, por esta razón, te aconsejamos continuar aprendiendo al respecto.

De hecho, para hacerlo más en profundidad, desde KeepCoding te ofrecemos nuestro Bootcamp Full Stack Big Data, Inteligencia Artificial & Machine Learning.

Gracias a esta formación intensiva, podrás aprender todo lo relacionado con las herramientas y lenguajes actuales y populares de mundo del manejo de los macrodatos de la mano de profesores expertos en el tema y con una amplia trayectoria dentro de este campo. ¡Inscríbete ahora!

Posts Relacionados

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado