Mostrar los tags: bat

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

Repaso-Descen-Grad-Batch.


Python

Publicado el 24 de Octubre del 2023 por Hilario (124 códigos)
258 visualizaciones desde el 24 de Octubre del 2023
*****************************************************************************************************************
Repaso-Des-Gra-Batch-Aula-E.28-OCT-24.py
******************************************************************************************************************
Realizar un descenso de gradiente tipo Batch, en código python, desde el punto x=8.03, y=5.846. De la funcion f(x)=x**2/x+3. Cuya derivada es: f'(x)=x+3. Se incluye grafica de costos MSE, y grafica de la parábola, con los valores del descenso, marcado en puntos sobre la misma.
Imágen de perfil

MiniBatch-Datos-Aleatorios


Python

Publicado el 20 de Septiembre del 2023 por Hilario (124 códigos)
393 visualizaciones desde el 20 de Septiembre del 2023
MiniBatch_Aula-228-G.py


El ejercicio se configura y ejecuta con parámetros mínimos con el fin de
que las salidas impresas por consola no sean grandes. Se puede jugar con estos
valores:
np.random.seed(0)
X = 2 * np.random.rand(20, 1)
y = 4 + 3 * X + np.random.randn(20, 1)
learning_rate = 0.1
batch_size = 10
epochs = 10


***************************************************************************************************************
El descenso de gradiente Mini-Batch es una técnica de optimización ampliamente utilizada en el aprendizaje automático y la optimización numérica. Permite entrenar modelos de manera eficiente al actualizar los pesos del modelo en función de un subconjunto (mini-lote o mini-batch) de datos de entrenamiento en lugar de utilizar el conjunto de datos completo en cada iteración. Además, en algunos casos, se introducen elementos de aleatoriedad en la selección de estos mini-lotes para mejorar la convergencia y evitar que el algoritmo quede atrapado en mínimos locales.

Aquí hay un resumen de cómo funciona el descenso de gradiente Mini-Batch con entrada de datos aleatorios:

División del conjunto de datos: En lugar de usar todo el conjunto de datos de entrenamiento en cada iteración (como se hace en el descenso de gradiente por lotes), el conjunto de datos se divide en mini-lotes más pequeños. La elección del tamaño del mini-lote es un hiperparámetro importante que debe ajustarse según las características de los datos y el modelo.

Aleatorización de los datos: Para introducir aleatoriedad, el conjunto de datos se suele barajar (mezclar) al comienzo de cada época (una época se completa después de que el modelo haya visto todos los mini-lotes). Esto evita que el modelo se ajuste a patrones específicos del orden en que se presentan los datos y mejora la generalización.

Iteración: El algoritmo recorre las épocas, y en cada época, se selecciona un mini-lote aleatorio de datos. Los pesos del modelo se actualizan en función del gradiente calculado utilizando solo los ejemplos en ese mini-lote. La actualización de los pesos se realiza de acuerdo con la dirección del gradiente descendente, como en el descenso de gradiente estándar.

Convergencia: El proceso se repite durante varias épocas hasta que el algoritmo alcance un criterio de convergencia predefinido (por ejemplo, una pérdida baja o un número máximo de épocas).

La aleatorización de los mini-lotes y la aleatorización de los datos en cada época ayudan a evitar que el descenso de gradiente Mini-Batch quede atrapado en mínimos locales y mejora la capacidad del algoritmo para generalizar a nuevos datos. También hace que el entrenamiento sea más eficiente en términos de tiempo y memoria en comparación con el descenso de gradiente por lotes.

El descenso de gradiente Mini-Batch es especialmente útil cuando se trabaja con grandes conjuntos de datos que no caben en la memoria, ya que permite entrenar modelos de manera más rápida y escalable utilizando recursos computacionales limitados.
Imágen de perfil

Mini Batch. Descenso de gradiente.


Python

Publicado el 19 de Septiembre del 2023 por Hilario (124 códigos)
524 visualizaciones desde el 19 de Septiembre del 2023
Descenso de gradiente Mini Batch.
********************************
MiniBatch-Aula_228-B.py

******************************************************************************************
El descenso de gradiente mini batch, también conocido como Mini Batch Gradient Descent, es una variante del algoritmo de optimización del descenso de gradiente utilizado en el aprendizaje automático y la optimización de modelos de redes neuronales. A diferencia del descenso de gradiente estocástico (SGD) y el descenso de gradiente por lotes (Batch Gradient Descent), el descenso de gradiente mini batch combina características de ambos enfoques.

En el descenso de gradiente mini batch, los datos de entrenamiento se dividen en lotes más pequeños, cada uno de los cuales se utiliza para calcular una actualización parcial de los pesos del modelo. Estos lotes más pequeños se llaman "mini lotes". La idea detrás de esta técnica es encontrar un equilibrio entre la eficiencia de la actualización de parámetros y la variabilidad de las actualizaciones en comparación con el SGD y el Batch Gradient Descent.

Aquí hay una descripción paso a paso del proceso del descenso de gradiente mini batch:

División de los datos: Los datos de entrenamiento se dividen en mini lotes de tamaño fijo. El tamaño del mini lote es un hiperparámetro que se puede ajustar según las necesidades del problema. Por lo general, los tamaños de mini lotes varían desde 16 hasta 256 ejemplos, pero esto puede variar según el conjunto de datos y la arquitectura de la red.

Inicialización de pesos: Se inicializan los pesos del modelo de manera aleatoria o utilizando algún método de inicialización específico.

Cálculo del gradiente: Para cada mini lote, se calcula el gradiente de la función de pérdida con respecto a los pesos del modelo utilizando solo los ejemplos en ese mini lote. Esto se hace utilizando retropropagación (backpropagation).

Actualización de pesos: Los pesos del modelo se actualizan utilizando el gradiente calculado. La fórmula de actualización es similar a la del descenso de gradiente estocástico, pero en lugar de utilizar un solo ejemplo, se promedian los gradientes de todos los ejemplos en el mini lote. Esto suaviza las actualizaciones y reduce la variabilidad en comparación con el SGD.

Iteración: Se repiten los pasos 3 y 4 para cada mini lote. Este proceso se repite a lo largo de múltiples épocas hasta que se alcance un criterio de parada, como un número máximo de épocas o una convergencia satisfactoria.

Ventajas del descenso de gradiente mini batch:

Mayor eficiencia computacional en comparación con el Batch Gradient Descent, ya que se aprovecha el paralelismo en las operaciones matriciales.
Menor variabilidad en las actualizaciones de peso en comparación con el SGD, lo que puede llevar a una convergencia más rápida y estable.
El descenso de gradiente mini batch es una elección común para entrenar modelos de redes neuronales en la práctica, ya que combina las ventajas de SGD y Batch Gradient Descent. El tamaño del mini lote es un hiperparámetro crítico que debe ajustarse según el problema y la memoria disponible.
Imágen de perfil

Descenso Gradiente Batch-Error Cuadrático MSE


Python

Publicado el 11 de Septiembre del 2023 por Hilario (124 códigos)
416 visualizaciones desde el 11 de Septiembre del 2023
Hilario Iglesias Martínez.

DescensoGradienteAula-F876.py

El descenso de gradiente tipo "Batch" (también conocido como descenso de gradiente en lotes) es uno de los algoritmos de optimización más utilizados en el aprendizaje automático y la optimización numérica. Este algoritmo se utiliza para minimizar una función de pérdida (también llamada función de costo) al ajustar los parámetros de un modelo de aprendizaje automático. El objetivo principal del descenso de gradiente es encontrar los valores de los parámetros que minimizan la función de pérdida.

Aquí te explico cómo funciona el descenso de gradiente tipo Batch:

Inicialización de parámetros: Se comienza con valores iniciales para los parámetros del modelo. Esto puede ser aleatorio o basado en algún conocimiento previo.

Selección de un lote (batch): En cada iteración del algoritmo, se selecciona un conjunto de ejemplos de entrenamiento del conjunto de datos. Este conjunto de ejemplos se denomina "lote" o "batch". En el descenso de gradiente tipo Batch, se utilizan todos los ejemplos de entrenamiento en cada iteración, es decir, el tamaño del lote es igual al tamaño completo del conjunto de entrenamiento.

Cálculo del gradiente: Para el lote seleccionado, se calcula el gradiente de la función de pérdida con respecto a los parámetros del modelo. El gradiente representa la dirección y la magnitud en la que debe ajustarse cada parámetro para reducir la pérdida.

Actualización de parámetros: Se ajustan los parámetros del modelo en la dirección opuesta al gradiente calculado. Esto se hace multiplicando el gradiente por una tasa de aprendizaje (learning rate) y restando el resultado de los parámetros actuales. La tasa de aprendizaje controla qué tan grande es el paso que se da en cada iteración.

Iteración: Se repiten los pasos 2 a 4 durante un número fijo de iteraciones o hasta que se alcance algún criterio de convergencia (como una pequeña disminución en la función de pérdida o un número máximo de iteraciones).

El proceso se repite hasta que se considera que el modelo ha convergido o alcanzado una solución aceptable.

El descenso de gradiente tipo Batch tiene algunas ventajas, como la convergencia más estable y la posibilidad de aprovechar la paralelización en el hardware moderno. Sin embargo, también puede ser más lento en comparación con variantes más rápidas como el descenso de gradiente estocástico (SGD) o el descenso de gradiente mini-batch, que utilizan subconjuntos más pequeños de los datos en cada iteración. La elección del algoritmo de descenso de gradiente depende de la naturaleza del problema y de las características del conjunto de datos.
****************************************************************************************************************
El Error Cuadrático Medio (MSE, por sus siglas en inglés, Mean Squared Error) es una métrica comúnmente utilizada en estadísticas y machine learning para evaluar el rendimiento de un modelo de regresión o de predicción. MSE se utiliza para medir la calidad de las predicciones de un modelo al calcular la media de los cuadrados de las diferencias entre los valores predichos por el modelo y los valores reales (observados) en un conjunto de datos.

La fórmula del MSE se expresa de la siguiente manera:

MSE = (1/n) Σ(yi - ŷi)²

Donde:

MSE es el Error Cuadrático Medio.
n es el número de muestras en el conjunto de datos.
yi representa el valor real u observado de la muestra i.
ŷi representa el valor predicho por el modelo para la muestra i.
En otras palabras, para calcular el MSE, se toma la diferencia entre el valor predicho y el valor real para cada punto de datos, se eleva al cuadrado, y luego se calcula el promedio de todas estas diferencias al cuadrado.


El MSE es útil para determinar cuán bien se ajusta un modelo de regresión a los datos, y se prefiere minimizarlo. Cuanto menor sea el MSE, mejor será el ajuste del modelo a los datos. Sin embargo, es importante recordar que el MSE puede verse afectado por valores atípicos en los datos y puede no ser la métrica más apropiada en todos los casos. En algunos escenarios, como la detección de valores atípicos, otras métricas como el Error Absoluto Medio (MAE) o el Error Cuadrático Medio Raíz (RMSE) pueden ser más adecuadas.
Imágen de perfil

Batch-sin: MSE


Python

Publicado el 8 de Septiembre del 2023 por Hilario (124 códigos)
236 visualizaciones desde el 8 de Septiembre del 2023
Aula_F-488-8-SepEjercicioBatch.py
[/b]
Hilario Iglesias Martínez.

**********************************************************************************************************
El Descenso de Gradiente Tipo Batch (Batch Gradient Descent en inglés) es un algoritmo de optimización utilizado en el aprendizaje automático y la optimización numérica. Es una variante del Descenso de Gradiente, que es una técnica para ajustar los parámetros de un modelo de manera que minimice una función de costo.

La principal característica del Descenso de Gradiente Tipo Batch es que utiliza todo el conjunto de datos de entrenamiento en cada iteración para calcular el gradiente de la función de costo. Aquí está el proceso básico:

Inicialización: Se comienzan con valores iniciales para los parámetros del modelo.

Cálculo del Gradiente: Se calcula el gradiente de la función de costo con respecto a los parámetros del modelo utilizando todo el conjunto de entrenamiento. El gradiente indica la dirección y la magnitud del cambio necesario para reducir el costo.

Actualización de Parámetros: Se actualizan los parámetros del modelo en la dirección opuesta al gradiente, multiplicados por una tasa de aprendizaje. Esto ajusta los parámetros para minimizar el costo.

Repetición: Los pasos 2 y 3 se repiten para un número determinado de iteraciones o hasta que se cumpla algún criterio de convergencia.

El Descenso de Gradiente Tipo Batch tiene algunas ventajas, como la convergencia a un mínimo global si la función de costo es convexa y una mejor estabilidad en términos de convergencia en comparación con otras variantes del Descenso de Gradiente. Sin embargo, puede ser más lento en términos de tiempo de cómputo cuando se trabaja con conjuntos de datos grandes, ya que requiere el cálculo del gradiente en todo el conjunto de datos en cada iteración.

Existen otras variantes del Descenso de Gradiente, como el Descenso de Gradiente Estocástico (Stochastic Gradient Descent, SGD) y el Descenso de Gradiente Mini-Batch, que combinan características del Descenso de Gradiente Tipo Batch y otras estrategias para lograr un equilibrio entre eficiencia y convergencia. Cada variante tiene sus propias ventajas y se elige según el problema específico y las características de los datos.
Imágen de perfil

Descenso Gradiente Batch(GD)


Python

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

Recupera Tipos


Ms-Dos

Publicado el 9 de Mayo del 2019 por Gabi (6 códigos)
1.489 visualizaciones desde el 9 de Mayo del 2019
Recupera los diferentes tipos de archivos que hay dentro de un directorio (incluidos subdirectorios) y los extrae a un archivo ".TXT" ordenado alfabéticamente.
Imágen de perfil

organizador


Ms-Dos

Publicado el 9 de Mayo del 2019 por Gabi (6 códigos)
1.526 visualizaciones desde el 9 de Mayo del 2019
Proceso batch para organizar archivos dentro de directorios/subdirectorios.

Genera una carpeta backup en el directorio desde que se ejecute (que será el directorio raíz del proceso") y dentro de esta organizará los diferentes archivos que encuentre en 5 categorías(genera directorio para cada categoría):
- Audio
- Imagen
- Documentos
- Video
- Otros

Dentro de cada una de estas categorías, copia (no elimina) los archivos del directorio raiz y los diferentes subdirectorios.

El proceso recupera la fecha de modificación de los ficheros (se pude modificar para la fecha de creación, está comentado en el proceso) y crea subdirectorios en cada categoria, incluyendo en cada caso los ficheros por la fecha de modificación.

!!!AVISO!!! Para directorios con gran volumen de datos puede tardar mucho
sin imagen de perfil

Batch: Basico


Basic

Publicado el 18 de Octubre del 2017 por Demian
1.356 visualizaciones desde el 18 de Octubre del 2017

Batch: Basico


Este Es El Primer Capitulo Del Curso BATCH

ahora te voy a mostar unos codigos y su explicacion:

echo (
el echo tiene dos comandos
el @echo off y el echo

el @echo off es para que no haya eco de los codigos
el echo es para poner un texto en la pantalla )

pause / pause >nul(
el pause sirve para pausar el programa (osea que no se salga
el pause >nul sirve para pausar el programa solo que sin el texto (PRESIONE UNA TECLA PARA CONTINUAR)

ahora un ejemplo:
echo Hola
pause

visualisacion
echo Hola
Hola
Presione Una Tecla Para Continuar

ahora con el @echo off y el pause >nul

@echo off
echo Hola
pause >nul

visualicacion

Hola
Anterior12Siguiente