Mostrar los tags: MSE

Mostrando del 1 al 2 de 2 coincidencias
<<>>
Se ha buscado por el tag: MSE
Imágen de perfil

Descenso Gradiente Batch-Error Cuadrático MSE


Python

Publicado el 11 de Septiembre del 2023 por Hilario (125 códigos)
423 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 (125 códigos)
241 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.