Códigos Fuente de Python

Mostrando del 101 al 110 de 783 registros
Imágen de perfil

(Batch Gradient Descent)


Python

Publicado el 4 de Septiembre del 2023 por Hilario (144 códigos)
414 visualizaciones desde el 4 de Septiembre del 2023
ClaseB-238_Lunes_Sep_23.py
-----------------------------------
Hilario Iglesias Martínez
*************************************
Este es un programa en Python
se realiza una regresión lineal
utilizando el método de gradiente descendente
(Batch Gradient Descent)
El programa realiza una regresión lineal utilizando
el método de gradiente descendente
y visualiza los resultados a través de
gráficas. Es una implementación simple
pero efectiva de un modelo de regresión lineal.
***********************************************
Programa realizado bajo una plataforma Linux:
Ubuntu 20.04.6 LTS.
Editado con: Sublime Text.
*********************************
Ejecución bajo consola Linux.
python3 ParaClaseLunes-Sep-F543.PY
*******************************************
"""
Imágen de perfil

Descenso Gradiente Batch(GD)


Python

Publicado el 2 de Septiembre del 2023 por Hilario (144 códigos)
437 visualizaciones desde el 2 de Septiembre del 2023
*****************************************************************************************************
Hilario Iglesias Martínez


ClaseViernes-F543.py


DESCENSO DE GRADIENTE BATCH

*********************************************************************************************************
El "descenso de gradiente tipo Batch" es una técnica de optimización utilizada en el aprendizaje automático y la estadística para ajustar los parámetros de un modelo matemático, como una regresión lineal o una red neuronal, de manera que se minimice una función de costo específica. Es una de las variantes más simples y fundamentales del descenso de gradiente.

Aquí tienes una explicación de cómo funciona el descenso de gradiente tipo Batch:

Inicialización de parámetros: Comienza con un conjunto inicial de parámetros para tu modelo, que generalmente se eligen de manera aleatoria o se establecen en valores iniciales.

Selección de lote (Batch): En el descenso de gradiente tipo Batch, se divide el conjunto de datos de entrenamiento en lotes o subconjuntos más pequeños. Cada lote contiene un número fijo de ejemplos de entrenamiento. Por ejemplo, si tienes 1000 ejemplos de entrenamiento, puedes dividirlos en lotes de 32 ejemplos cada uno.

Cálculo del gradiente: Para cada lote, calculas el gradiente de la función de costo con respecto a los parámetros del modelo. El gradiente es una medida de cómo cambia la función de costo cuando se hacen pequeños ajustes en los parámetros. Indica la dirección en la que debes moverte para minimizar la función de costo.

Actualización de parámetros: Después de calcular el gradiente para cada lote, promedias los gradientes de todos los lotes y utilizas ese gradiente promedio para actualizar los parámetros del modelo. Esto se hace multiplicando el gradiente promedio por una tasa de aprendizaje (learning rate) y restando ese valor de los parámetros actuales. El learning rate controla el tamaño de los pasos que das en la dirección del gradiente.

Repetición: Los pasos 2-4 se repiten varias veces (llamadas épocas) a través de todo el conjunto de datos de entrenamiento. Cada época consiste en procesar todos los lotes y ajustar los parámetros del modelo.

Convergencia: El proceso de ajuste de parámetros continúa hasta que se alcanza un criterio de convergencia, que generalmente se establece en función de la precisión deseada o el número de épocas.

El descenso de gradiente tipo Batch es eficiente en términos de cómputo, ya que utiliza todos los datos de entrenamiento en cada paso de actualización de parámetros. Sin embargo, puede ser lento en conjuntos de datos grandes, y su convergencia puede ser más lenta en comparación con otras variantes del descenso de gradiente, como el descenso de gradiente estocástico (SGD) o el mini-batch SGD.

En resumen, el descenso de gradiente tipo Batch es una técnica de optimización que ajusta los parámetros de un modelo mediante el cálculo y la actualización de gradientes en lotes de datos de entrenamiento, con el objetivo de minimizar una función de costo. Es una parte fundamental en la optimización de modelos de aprendizaje automático.


*********************************************************************************************************
Ejecucion.
Bajo consola de Linux.
python3 ClaseViernes-F543.py
Imágen de perfil

TelecoAula-A


Python

Publicado el 30 de Agosto del 2023 por Hilario (144 códigos)
1.435 visualizaciones desde el 30 de Agosto del 2023
"""
*********************************
Hilario Iglesias Martinez.
*********************************
clasedeterceroamiercoles.py

--------------------------------
Función de partida:
f(x)=3*x+5*x**2/7


**********************************************
Derivada:f'(x) = 3 + (10/7)*x
***********************************************
El descenso de gradiente es un algoritmo iterativo
que utiliza la derivada (o el gradiente)
de la función objetivo en un punto específico
para determinar la dirección, y el tamaño del
paso que debes tomar para moverte hacia una región
de menor valor de la función. La derivada de
la función objetivo se calcula en cada iteración,
y se utiliza para ajustar los parámetros,
con el objetivo de acercarte al mínimo de la función.

En resumen, el descenso de gradiente es una técnica
fundamental en el campo de la optimización y el aprendizaje
automático, ya que permite encontrar valores óptimos para los
parámetros de una función de manera iterativa utilizando
información sobre la pendiente de la función en diferentes puntos.

-----------------------------------------------
Aquí hay una descripción, paso a paso, del proceso del descenso de gradiente:

Inicialización: Comienza con un valor inicial para
los parámetros de la función que deseas optimizar.

Cálculo del Gradiente:
Calcula la derivada (gradiente) de la función en el punto actual.

Actualización de Parámetros:
Ajusta los parámetros en la dirección opuesta al gradiente
multiplicado por una tasa de aprendizaje.
La tasa de aprendizaje controla el tamaño de
los pasos que tomas en cada iteración.

Repetición: Repite los pasos 2 y 3 para un
número predeterminado de iteraciones,
hasta que se alcance cierto criterio de convergencia.

Convergencia:
El algoritmo converge cuando los cambios
en los parámetros se vuelven muy pequeños,
indicando que se ha llegado a una región
cercana al mínimo (o máximo) de la función.

*************************************************
Programa realizado sobre paltaforma Linux:
Ubuntu 20.04.6 LTS.
Editado en Sublime Text.

-----------------------------------------
Ejecución en consola Linux:

python3 clasedeterceroamiercoles.py
*******************************************************
Imágen de perfil

Didáctico.


Python

Publicado el 28 de Agosto del 2023 por Hilario (144 códigos)
429 visualizaciones desde el 28 de Agosto del 2023
"""
***************************
ParaClases.py
*****************************
Hilario Iglesias Martínez
******************************
Ejemplo para clase didactica.
Descenso de gradiente para la función:
f(x)=(x**2/8) + (x**2 - 16)
**********************************************************
Inicialmente lo dejo configurado co estos parámetros:
# Parámetros que queremos aplicar para el descenso de gradiente.
---------------------------------------------------------------
learning_rate = 0.01
iterations = 10
start_x = 40
----------------------------------------
Las iteraciones ideales serías:1000.


*********************************
Realizado en
Plataforma Linux. Ubuntu 20.04.6 LTS
Editor Sublime Text.
Ejecutar en consola linux:
python3 ParaClases.py
**********************************
"""
Imágen de perfil

Descenso Gradiente Función seno


Python

Publicado el 27 de Agosto del 2023 por Hilario (144 códigos)
457 visualizaciones desde el 27 de Agosto del 2023
[
b]"""
Hilario Iglesias Martinez.
*****************************************************
seno.py
********************************************************
Descenso de gradiente en una función seno.
----------------------------------------------------------
Función Seno (sin(x)): La función seno es una función trigonométrica
que toma un ángulo como entrada y devuelve la relación entre
la longitud del cateto opuesto a ese ángulo y la longitud de
la hipotenusa en un triángulo rectángulo. En términos más simples,
el valor del seno de un ángulo en un triángulo rectángulo es igual
a la longitud del lado opuesto dividido por la longitud de la hipotenusa.

En el contexto de funciones reales, la función seno asigna un valor
real a un ángulo en radianes. Su gráfica oscila entre -1 y 1,
creando una forma ondulante suave que se repite cada 2π radianes.
--------------------------------------------------------------------[/b]

EJECUCION BAJO CONSOLA LINUX.
python3 seno.py
Imágen de perfil

PARÁBOLA


Python

Publicado el 25 de Agosto del 2023 por Hilario (144 códigos)
677 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

"""
Imágen de perfil

SIGMOIDE


Python

Publicado el 23 de Agosto del 2023 por Hilario (144 códigos)
1.234 visualizaciones desde el 23 de Agosto del 2023

*********************************************************
Hilario Iglesias Martínez
**********************************************************
La función sigmoide es una función matemática que toma
cualquier número real como entrada y la transforma en
un valor en el rango de 0 a 1. Su forma característica
es una curva en forma de "S".
La función sigmoide es comúnmente utilizada en diversos campos,
como la biología, la psicología y el aprendizaje automático,
especialmente en las redes neuronales.

Forma:
f(x)=1 / (1 + e**(-x))
Derivada:
e**(-x) / (1 + e**(-x))**2

La función sigmoide toma valores positivos y negativos de
x y los mapea en el rango (0, 1), de modo que valores grandes de
x resultarán en valores cercanos a 1, y valores pequeños o negativos de
x resultarán en valores cercanos a 0.

Programa realizado bajo linux
Plataforma Ubuntu 20.04.6 LTS.
Editado con Sublime Text.
Ejecucion en consola linux.
python3 SigmoideWeb.py

Tambien se puede editar y ejecutar en Google Colab.
Imágen de perfil

Derivada


Python

Publicado el 22 de Agosto del 2023 por Hilario (144 códigos)
425 visualizaciones desde el 22 de Agosto del 2023
****************************************************************
Hilario Iglesias Martínez
*****************************************************************

Programa que realiza un descenso de gradiente a una función dada.
Todos los pasos están explicados en el propio programa
Realizado en una plataforma Linux, sistema operativo Ubuntu 20.04.6 LTS.
Se utiliza b como editor Sublime Text.
********************************************************************
Para los que lo deseen pueden editar y ejecutar este programa en
Google Colab.
******************************************************************
EJECUCIÓN.
Bajo consola Linux.
python3 PyParabola.py
******************************************************************
Imágen de perfil

Nuevo_Descenso_Gradiente


Python

Publicado el 19 de Agosto del 2023 por Hilario (144 códigos)
1.116 visualizaciones desde el 19 de Agosto del 2023
Derivada_Descenso_Gradiente_2.py

Que hace el programa:
Dada la parábola de esta función:
f(x)=(x ** 2 / 2)
Vamos a realizar la derivada inversa con regresión a partir
de un punto dado por:
init_x = 18.
También imprimiremos valores intermedios de x e y, y su valor de gradiente mínimo.

****************************************************************
Ejecucion bajo consola Linux.
python3 Derivada_Descenso_Gradiente_2.py
------------------------------------------------------------
Tambien se puede editar y ejecutar con Google Colab.
Imágen de perfil

Derivada_REGRESIÓN


Python

Publicado el 18 de Agosto del 2023 por Hilario (144 códigos)
1.741 visualizaciones desde el 18 de Agosto del 2023
"""
Derivada_Descenso_Gradiente.py
-----------------------------------
Que hace el programa:

Dada la parábola de esta función:
f(x,t)=(x ** 2 / 2) + t
Vamos a realizar la derivada de los puntos de una parábola
de forma inversa, lo que se define como descenso de gradiente,
a partir de un punto dado por:
init_x = 18.
Muy utilizado en Redes Neuronales.
También imprimiremos su valor al llegar
a la última vuelta del "loop" range(5000)
------------------------------------------------
Ejecución bajo consola de linux, con este comando:
python3 derivada_descenso_gradiente_1.py
-------------------------------------------------

***************************************************************
Programa Realizado Bajo plataforma Ubuntu
de linix.
Editado con Sublime text.
También se puede editar y ejecutar con Google Colab

*****************************************

"""