Código de Python - PARÁBOLA

Imágen de perfil

PARÁBOLAgráfica de visualizaciones


Python

Publicado el 25 de Agosto del 2023 por Hilario (123 códigos)
458 visualizaciones desde el 25 de Agosto del 2023
"""
*************************************
parabola.py
**************************************
Hilario Iglesias Martínez.
---------------------------------------
El descenso de gradiente es un algoritmo
que estima numéricamente dónde una función
genera sus valores más bajos.
En este ejemplo lo aplicaremos a la sigiente función:
Función de cálculo
f(x)=x**2/3+3x**2
Derivada
20*x/3
-------------------------------------------------
Programa realizado en una Plataforma Linux.
Ubuntu 20.04.6 LTS.
Editado con Sublime Text.
También se puede editar y ejecutar con:
Google Colab.
---------------------------------------
Ejecución bajo consola linux:
python3 parabola.py

"""

Requerimientos

-------------------------------------------------
Programa realizado en una Plataforma Linux.
Ubuntu 20.04.6 LTS.
Editado con Sublime Text.
También se puede editar y ejecutar con:
Google Colab.
---------------------------------------

V-0

Publicado el 25 de Agosto del 2023gráfica de visualizaciones de la versión: V-0
459 visualizaciones desde el 25 de Agosto del 2023
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

descarga-1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
"""
*************************************
parabola.py
**************************************
Hilario Iglesias Martínez.
---------------------------------------
El descenso de gradiente es un algoritmo
que estima numéricamente dónde una función
genera sus valores más bajos.
En este ejemplo lo aplicaremos a la sigiente función:
Función de cálculo
f(x)=x**2/3+3x**2
Derivada
20*x/3
-------------------------------------------------
Programa realizado en una Plataforma Linux.
Ubuntu 20.04.6 LTS.
Editado con Sublime Text.
También se puede editar y ejecutar con:
Google Colab.
---------------------------------------
Ejecución bajo consola linux:
python3 parabola.py
"""
 
#Lo primero importamos los  modulos necesarios.
import numpy as np
import matplotlib.pyplot as plt
#Declaramos las funciones
def FuncionParabolica(x):
  return x**2/3+3*x**2
def DerivadaParabolica(x):
  return 20*x/3
#Con este array configuramos rango de valores para x de la parabola.
RangoValores_x=np.linspace(-10,10,200)
#Rango -10 de valor inicial, hasta 10,con 200 elementos en eje x desde -10 hasta 10
#print(RangoValores_x)
#Determinamos el rango de valores de la derivada, a partir de Rango de Valores en x.
# Calculamos los valores en y correspondientes al rango de valores de x.
Valores_y = FuncionParabolica(RangoValores_x)
#Calculamos los valores en y correspondientes a la derivada de valores en x.
ValoresDerivada_y = DerivadaParabolica(RangoValores_x)
#print(Valores_y)
#print("*************************************************")
#print(ValoresDerivada_y)
 
#Ahora establecemos parámetros.
Punto_x_Inicial=8 #Punto inicial a partir del cual calculamos la regresion.
TasaDeAprendizaje=0.01#Tasa de Aprendizaje o learning Rate.
Iteraciones=1000 #Vueltas o interaciones.
#Inicializamos arrays para guardar valores de x,y.
Acumulado_x=[Punto_x_Inicial]
Acumulado_y=[FuncionParabolica(Punto_x_Inicial)]
 
#Abrimos un bucle for para iniciar la derivada descendente.
for _ in range(Iteraciones):
  Punto_x_Inicial=Punto_x_Inicial-TasaDeAprendizaje*DerivadaParabolica(Punto_x_Inicial)
  Acumulado_x.append(Punto_x_Inicial)
  Acumulado_y.append(FuncionParabolica(Punto_x_Inicial))
 
print('\n')
print("**************************************************************")
# Encuentra el valor mínimo de la derivada descendente
valor_minimo_derivada = min(Acumulado_y)
print("Valor mínimo de la derivada descendente:", valor_minimo_derivada)
print("***************************************************************")
print('\n')
 
plt.figure(figsize=(10, 6))
 
 
# Graficamos la parábola y el proceso de gradiente descendente.
plt.figure(figsize=(10, 6))
plt.plot(RangoValores_x, Valores_y, label='f(x)=x**2/3+3x**2')
plt.scatter(Acumulado_x, Acumulado_y, color='red', label='Descenso de Gradiente')
plt.xlabel('x')
plt.ylabel('f(x)')
plt.title('Función y Descenso de Gradiente')
plt.grid(True)
plt.legend()
 
plt.show()



Comentarios sobre la versión: V-0 (0)


No hay comentarios
 

Comentar la versión: V-0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s7421