Mostrar los tags: esc

Mostrando del 1 al 10 de 55 coincidencias
<<>>
Se ha buscado por el tag: esc
Imágen de perfil

Ejercicio_Aula_23_Momentum


Python

Publicado el 26 de Octubre del 2023 por Hilario (122 códigos)
264 visualizaciones desde el 26 de Octubre del 2023
python3 Ejercicio_Aula_23_Momentum.py

Sencillo ejercicio sobre un descenso de gradiente con momento, (Gradient Descent with Momentum en inglés).
Se trata de aplicar este algoritmo a una funcion parabolica del tipo: f(x) = x^2 / 6.
Cuya derivada es:x**2 / 6.
El descenso de gradiente con momento es una variante del algoritmo de descenso de gradiente utilizado en la optimización y entrenamiento de modelos de aprendizaje automático, particularmente en el contexto de redes neuronales y problemas de optimización no convexos. Su objetivo es acelerar la convergencia del descenso de gradiente y ayudar a evitar quedarse atrapado en óptimos locales.

La principal diferencia entre el descenso de gradiente con momento y el descenso de gradiente estándar es la adición de un término de "momentum" o impulso. En el descenso de gradiente estándar, en cada iteración, el gradiente actual se utiliza directamente para actualizar los parámetros del modelo. En cambio, en el descenso de gradiente con momento, se mantiene un promedio ponderado exponencial de los gradientes anteriores y se utiliza ese promedio para actualizar los parámetros.

El objetivo del término de momento es suavizar las actualizaciones de los parámetros y reducir las oscilaciones que pueden ocurrir cuando el gradiente varía significativamente en diferentes direcciones. Esto puede ayudar a acelerar la convergencia y a sortear barreras o mínimos locales en la función de costo

En este sencillo ejercicio que propongo, en vez de utilizar datos sintéticos de caráctear aleatorio de entrada, lo vamos a aplicar a una función parabólica.


descarga
descarga-1
Imágen de perfil

Descenso Gradiente Batch(GD)


Python

Publicado el 2 de Septiembre del 2023 por Hilario (122 códigos)
327 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

Escaleras y Serpientes


Dev - C++

Publicado el 2 de Junio del 2022 por Eaguilar
3.549 visualizaciones desde el 2 de Junio del 2022
este es el código en c++ para proyecto del juego Escaleras y Serpientes donde se
realizo como primer programa realizado en C++ .
con la idea de ayudar a cualquier persona que desarrollara un proyecto similar para
que ayude en el análisis, ya que no encontré mucho en como realizarlo, si ha muchas formas o mejores para hacerlo esta fue la lógica y algoritmos realizados en dicho proyecto
Imágen de perfil

Delegados y Eventos, propiedad de evento, como usar descriptores de eventos


Visual CSharp .NET

Publicado el 3 de Septiembre del 2021 por Rafael Angel (81 códigos)
506 visualizaciones desde el 3 de Septiembre del 2021
/// Como usar descriptores de acceso de eventos.
///
/// Las propiedades de eventos funcionan igual que una propiedad
/// común y corriente de cualquier class.
/// Con una diferencia, siempre se llaman: "add" y "remove".
///
/// "add" se invoca cuando al agregar un nuevo controlador de eventos con "+=".
///
/// "remove" se invoca al quitar o remover un controlador de eventos con "-=".
///
/// Para almacenar los Controladores de eventos
/// se puede usar una lista enlazada, una matriz.
sin imagen de perfil

Adivina un numero de 1 al 63 que pensaste


Pascal/Turbo Pascal

Actualizado el 28 de Junio del 2021 por Armando José (9 códigos) (Publicado el 26 de Junio del 2021)
25.497 visualizaciones desde el 26 de Junio del 2021
el programa consiste en:

Piensa en un número entre 1 y 63.
Se mostrará 6 tarjetas, en cada
una de ellas debes teclear la letra
[S] y luego Enter si está el
número que pensaste o
[N] si no está el número.
Teclear Enter para continuar
Imágen de perfil

Descargar una pagina web con file_get_contents()


PHP

Publicado el 9 de Abril del 2021 por Xavi (548 códigos)
6.522 visualizaciones desde el 9 de Abril del 2021
Código que muestra como utilizando file_get_contents(), podemos descargar una pagina web a un archivo de nuestro disco duro.

En este ejemplo, se descarga el contenido de la pagina inicial de lawebdelprogramador.com

Puedes ver el mismo código utilizando cURL: https://www.lawebdelprogramador.com/codigo/PHP/2294-descargar-una-pagina-web-mediante-CURL-en-PHP.html
Imágen de perfil

programa para adivinar el numero pensado por un humano


Python

estrellaestrellaestrellaestrellaestrella(2)
Publicado el 9 de Diciembre del 2020 por Joel (150 códigos)
7.071 visualizaciones desde el 9 de Diciembre del 2020
Hacer un programa que adivine el número entre 1 y 1000 pensado por un humano. El programa debe ir diciendo números y el humano responderá con los símbolos '<', '>' o '=', según el número pensado sea menor, mayor o igual que el dicho por el ordenador. Cuando lo adivine deberá poner un mensaje especificando cuántas preguntas ha necesitado y finalizar.