Código de Python - Peso,Sesgo,Costo

Imágen de perfil

Peso,Sesgo,Costográfica de visualizaciones


Python

Publicado el 12 de Septiembre del 2023 por Hilario (122 códigos)
221 visualizaciones desde el 12 de Septiembre del 2023
Hilario Iglesias Martínez.
******************************************************************************************
ClaseAula-F896.py
***************************************************************************************
Este ejercicio, sencillo, para aprendizaje y seguimiento de los parámetros: peso,sesgo,costo, en un descenso de gradiente tipo Batch.
***************************************************************************************
Los términos "peso", "sesgo" y "costo" pueden tener diferentes significados dependiendo del contexto en el que se utilicen. Aquí te proporcionaré una breve descripción de cada uno de estos términos en diversos contextos:

Peso (Weight):

En el contexto de la física, el peso se refiere a la fuerza gravitatoria que actúa sobre un objeto debido a la atracción de la gravedad de la Tierra. Se mide en unidades de fuerza, como newtons o libras.
En el aprendizaje automático y la inteligencia artificial, un "peso" se refiere a los coeficientes asociados con las conexiones entre neuronas en una red neuronal. Estos pesos determinan la fuerza y dirección de la influencia de una neurona en otra dentro de la red. Los pesos se ajustan durante el proceso de entrenamiento de la red para que la red pueda aprender y realizar tareas específicas.

Sesgo (Bias):

En el contexto de la estadística y el análisis de datos, el sesgo se refiere a la tendencia sistemática de un conjunto de datos o un modelo estadístico a producir resultados que se desvían de la verdad o de la población real debido a errores sistemáticos en el proceso de recopilación o modelado de datos.
En el aprendizaje automático, el sesgo (bias) es un término que se utiliza para referirse a un valor constante añadido a la salida de una función en una red neuronal. El sesgo permite que la red pueda modelar funciones más complejas, desplazando la función de activación. Es una especie de "ajuste" que ayuda a la red a aprender y generalizar mejor.

Costo (Cost):

En el ámbito empresarial y financiero, el costo se refiere a la cantidad de recursos (dinero, tiempo, esfuerzo, etc.) que se requiere para producir o realizar algo. Puede incluir costos directos e indirectos.
En matemáticas y optimización, el costo es una medida de la cantidad que se desea minimizar o maximizar en un problema. Por ejemplo, en la optimización lineal, se busca minimizar una función de costo sujeta a ciertas restricciones.
En el contexto del aprendizaje automático y la optimización de modelos, el costo es una medida de cuán bien está funcionando un modelo en relación con los datos de entrenamiento y se utiliza para ajustar los parámetros del modelo durante el proceso de entrenamiento. El objetivo es minimizar el costo para que el modelo se ajuste mejor a los datos y pueda realizar predicciones precisas en nuevos datos.
Estos son conceptos que pueden ser ampliamente aplicados en diversos campos y contextos, por lo que su significado puede variar según el contexto específico en el que se utilicen.

Requerimientos

****************************************************
Ejercicio realizado bajo una plataforma Linux.
Ubuntu 20.04.6 LTS.
Ejecutar.
python3 ]ClaseAula-F896.py
******************************************************

V-0.

Publicado el 12 de Septiembre del 2023gráfica de visualizaciones de la versión: V-0.
222 visualizaciones desde el 12 de Septiembre del 2023
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

descarga-1
descarga
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
"""
]ClaseAula-F896.py
"""
 
 
# Importar librerías
import numpy as np
import matplotlib.pyplot as plt
 
# Generar datos aleatorios para entrada y salida
np.random.seed(0)
X = 2 * np.random.rand(100, 1)
y = 4 + 3 * X + np.random.randn(100, 1)
 
# Definir los parámetros iniciales del modelo
w = 0 # Peso
b = 0 # Sesgo
alpha = 0.1 # Tasa de aprendizaje
iteraciones = 100 # Número de iteraciones
 
# Definir la función de costo
def costo(w, b):
    return np.mean((y - (w * X + b)) ** 2)#f(x)=m*X+b
 
# Definir la función de gradiente
def gradiente(w, b):
    dw = -2 * np.mean(X * (y - (w * X + b))) # Derivada parcial respecto a w
    db = -2 * np.mean(y - (w * X + b)) # Derivada parcial respecto a b
    return dw, db
 
# Definir el algoritmo de descenso de gradiente tipo Batch
def descenso_gradiente(w, b, alpha, iteraciones):
    historial_costo = [] # Lista para guardar los valores de la función de costo en cada iteración
    for i in range(iteraciones):
        dw, db = gradiente(w, b) # Calcular el gradiente
        w = w - alpha * dw # Actualizar el peso
        b = b - alpha * db # Actualizar el sesgo
        c = costo(w, b) # Calcular el costo
        historial_costo.append(c) # Guardar el costo en la lista
        print(f"Iteraciones {i+1}: w = {w:.3f}, b = {b:.3f}, costo = {c:.3f}") # Imprimir los valores en cada iteración
    return w, b, historial_costo
 
# Ejecutar el algoritmo y obtener los parámetros óptimos y el historial de costo
w_optimo, b_optimo, historial_costo = descenso_gradiente(w, b, alpha, iteraciones)
plt.figure(figsize=(12,6))
# Graficar el historial de costo
plt.plot(historial_costo)
plt.scatter(range(iteraciones),historial_costo, color='red',marker='o',label='Valor de los saltos del descenso MSE')
plt.xlabel("Epoch")
plt.ylabel("Costo")
plt.show()
plt.figure(figsize=(12,6))
# Graficar los datos y la recta ajustada por el modelo
plt.scatter(X, y)
plt.plot(X, w_optimo * X + b_optimo, c="red")
plt.xlabel("X")
plt.ylabel("y")
plt.show()
 
"""
Iteraciones 1: w = 1.527, b = 1.406, costo = 19.153
Iteraciones 2: w = 2.413, b = 2.242, costo = 7.373
Iteraciones 3: w = 2.924, b = 2.743, costo = 3.308
Iteraciones 4: w = 3.215, b = 3.047, costo = 1.901
Iteraciones 5: w = 3.376, b = 3.236, costo = 1.409
Iteraciones 6: w = 3.463, b = 3.356, costo = 1.233
Iteraciones 7: w = 3.505, b = 3.436, costo = 1.166
Iteraciones 8: w = 3.522, b = 3.491, costo = 1.137
Iteraciones 9: w = 3.525, b = 3.533, costo = 1.122
Iteraciones 10: w = 3.519, b = 3.565, costo = 1.112
Iteraciones 11: w = 3.508, b = 3.593, costo = 1.103
Iteraciones 12: w = 3.495, b = 3.617, costo = 1.096
Iteraciones 13: w = 3.480, b = 3.638, costo = 1.089
Iteraciones 14: w = 3.465, b = 3.658, costo = 1.083
Iteraciones 15: w = 3.450, b = 3.677, costo = 1.078
Iteraciones 16: w = 3.435, b = 3.695, costo = 1.072
Iteraciones 17: w = 3.420, b = 3.712, costo = 1.067
Iteraciones 18: w = 3.406, b = 3.729, costo = 1.062
Iteraciones 19: w = 3.392, b = 3.745, costo = 1.058
Iteraciones 20: w = 3.378, b = 3.760, costo = 1.054
Iteraciones 21: w = 3.365, b = 3.775, costo = 1.050
Iteraciones 22: w = 3.352, b = 3.790, costo = 1.046
Iteraciones 23: w = 3.340, b = 3.803, costo = 1.043
Iteraciones 24: w = 3.328, b = 3.817, costo = 1.040
Iteraciones 25: w = 3.316, b = 3.830, costo = 1.037
Iteraciones 26: w = 3.305, b = 3.843, costo = 1.034
Iteraciones 27: w = 3.294, b = 3.855, costo = 1.031
Iteraciones 28: w = 3.284, b = 3.867, costo = 1.029
Iteraciones 29: w = 3.274, b = 3.878, costo = 1.026
Iteraciones 30: w = 3.264, b = 3.889, costo = 1.024
Iteraciones 31: w = 3.254, b = 3.900, costo = 1.022
Iteraciones 32: w = 3.245, b = 3.910, costo = 1.020
Iteraciones 33: w = 3.236, b = 3.920, costo = 1.019
Iteraciones 34: w = 3.228, b = 3.930, costo = 1.017
Iteraciones 35: w = 3.219, b = 3.939, costo = 1.015
Iteraciones 36: w = 3.211, b = 3.949, costo = 1.014
Iteraciones 37: w = 3.203, b = 3.957, costo = 1.013
Iteraciones 38: w = 3.196, b = 3.966, costo = 1.011
Iteraciones 39: w = 3.189, b = 3.974, costo = 1.010
Iteraciones 40: w = 3.181, b = 3.982, costo = 1.009
Iteraciones 41: w = 3.175, b = 3.990, costo = 1.008
Iteraciones 42: w = 3.168, b = 3.997, costo = 1.007
Iteraciones 43: w = 3.162, b = 4.005, costo = 1.006
Iteraciones 44: w = 3.155, b = 4.012, costo = 1.005
Iteraciones 45: w = 3.149, b = 4.018, costo = 1.004
Iteraciones 46: w = 3.143, b = 4.025, costo = 1.004
Iteraciones 47: w = 3.138, b = 4.031, costo = 1.003
Iteraciones 48: w = 3.132, b = 4.037, costo = 1.002
Iteraciones 49: w = 3.127, b = 4.043, costo = 1.002
Iteraciones 50: w = 3.122, b = 4.049, costo = 1.001
Iteraciones 51: w = 3.117, b = 4.055, costo = 1.001
Iteraciones 52: w = 3.112, b = 4.060, costo = 1.000
Iteraciones 53: w = 3.108, b = 4.065, costo = 1.000
Iteraciones 54: w = 3.103, b = 4.070, costo = 0.999
Iteraciones 55: w = 3.099, b = 4.075, costo = 0.999
Iteraciones 56: w = 3.095, b = 4.080, costo = 0.998
Iteraciones 57: w = 3.091, b = 4.085, costo = 0.998
Iteraciones 58: w = 3.087, b = 4.089, costo = 0.998
Iteraciones 59: w = 3.083, b = 4.093, costo = 0.997
Iteraciones 60: w = 3.079, b = 4.097, costo = 0.997
Iteraciones 61: w = 3.076, b = 4.101, costo = 0.997
Iteraciones 62: w = 3.072, b = 4.105, costo = 0.996
Iteraciones 63: w = 3.069, b = 4.109, costo = 0.996
Iteraciones 64: w = 3.066, b = 4.113, costo = 0.996
Iteraciones 65: w = 3.062, b = 4.116, costo = 0.996
Iteraciones 66: w = 3.059, b = 4.120, costo = 0.995
Iteraciones 67: w = 3.057, b = 4.123, costo = 0.995
Iteraciones 68: w = 3.054, b = 4.126, costo = 0.995
Iteraciones 69: w = 3.051, b = 4.129, costo = 0.995
Iteraciones 70: w = 3.048, b = 4.132, costo = 0.995
Iteraciones 71: w = 3.046, b = 4.135, costo = 0.995
Iteraciones 72: w = 3.043, b = 4.138, costo = 0.994
Iteraciones 73: w = 3.041, b = 4.141, costo = 0.994
Iteraciones 74: w = 3.038, b = 4.143, costo = 0.994
Iteraciones 75: w = 3.036, b = 4.146, costo = 0.994
Iteraciones 76: w = 3.034, b = 4.148, costo = 0.994
Iteraciones 77: w = 3.032, b = 4.151, costo = 0.994
Iteraciones 78: w = 3.030, b = 4.153, costo = 0.994
Iteraciones 79: w = 3.028, b = 4.155, costo = 0.994
Iteraciones 80: w = 3.026, b = 4.157, costo = 0.994
Iteraciones 81: w = 3.024, b = 4.159, costo = 0.994
Iteraciones 82: w = 3.022, b = 4.161, costo = 0.993
Iteraciones 83: w = 3.021, b = 4.163, costo = 0.993
Iteraciones 84: w = 3.019, b = 4.165, costo = 0.993
Iteraciones 85: w = 3.017, b = 4.167, costo = 0.993
Iteraciones 86: w = 3.016, b = 4.169, costo = 0.993
Iteraciones 87: w = 3.014, b = 4.171, costo = 0.993
Iteraciones 88: w = 3.013, b = 4.172, costo = 0.993
Iteraciones 89: w = 3.011, b = 4.174, costo = 0.993
Iteraciones 90: w = 3.010, b = 4.175, costo = 0.993
Iteraciones 91: w = 3.009, b = 4.177, costo = 0.993
Iteraciones 92: w = 3.007, b = 4.178, costo = 0.993
Iteraciones 93: w = 3.006, b = 4.180, costo = 0.993
Iteraciones 94: w = 3.005, b = 4.181, costo = 0.993
Iteraciones 95: w = 3.004, b = 4.182, costo = 0.993
Iteraciones 96: w = 3.003, b = 4.184, costo = 0.993
Iteraciones 97: w = 3.001, b = 4.185, costo = 0.993
Iteraciones 98: w = 3.000, b = 4.186, costo = 0.993
Iteraciones 99: w = 2.999, b = 4.187, costo = 0.993
Iteraciones 100: w = 2.998, b = 4.188, costo = 0.993
"""



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/s7430