elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Backpropagation no funciona - Redes neuronales.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Backpropagation no funciona - Redes neuronales.  (Leído 1,691 veces)
4v1dy4

Desconectado Desconectado

Mensajes: 137



Ver Perfil
Backpropagation no funciona - Redes neuronales.
« en: 18 Octubre 2023, 13:22 pm »

Tengo esta red neuronal simple:

Código
  1. import numpy as np
  2.  
  3. class NeuralNetwork:
  4.    def __init__(self):
  5.        self.W1 = np.random.randn(2, 3)
  6.        self.W2 = np.random.randn(3, 1)
  7.  
  8.    def sigmoid(self, x):
  9.        return 1 / (1 + np.exp(-x))
  10.  
  11.    def sigmoid_deriv(self, x):
  12.        return x * (1 - x)
  13.  
  14.    def mse(self, O, P):
  15.        x = (P - O) ** 2
  16.        x = np.mean(x)
  17.        y = P - O
  18.        return (x, y)
  19.  
  20.    def forward(self, I):
  21.        self.Z1 = I @ self.W1
  22.        self.A1 = self.sigmoid(self.Z1)
  23.        self.Z2 = self.A1 @ self.W2
  24.        self.A2 = self.sigmoid(self.Z2)
  25.        return self.A2
  26.  
  27.    def backward(self, P, I, O):
  28.        error = self.A2 - P
  29.        D = [error * self.sigmoid_deriv(self.A2)]
  30.  
  31.        delta = np.random.randn(2, 3)
  32.        D.append(delta)
  33.  
  34.        self.W2 = self.W2 + (-0.01 * self.A2.T.dot(D[0]))
  35.        self.W1 = self.W1 + (-0.01 * self.A1.T.dot(D[1]))
  36.  
  37.    def train(self, I, P):
  38.        O = self.forward(I)
  39.        self.backward(P, I, O)
  40.  
  41. if __name__ == '__main__':
  42.    NN = NeuralNetwork()
  43.    I = np.array([[0, 1]])
  44.    P = np.array([[1]])
  45.    for i in range(1):
  46.        NN.train(I, P)
  47.    exit()

Cuando quiero calcular delta de W1, obtengo un error de dimensiones.

¿Que estoy haciendo mal?

Gracias de antemano por cualquier ayuda.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Redes Neuronales
Programación Visual Basic
Ian~Shadow 2 2,239 Último mensaje 1 Junio 2007, 19:29 pm
por SPYRE
redes neuronales
.NET (C#, VB.NET, ASP)
solkan05 0 2,592 Último mensaje 10 Julio 2012, 15:40 pm
por solkan05
redes neuronales
Scripting
+ 1 Oculto(s) 0 1,808 Último mensaje 1 Agosto 2016, 19:32 pm
por + 1 Oculto(s)
redes neuronales para la web
Desarrollo Web
+ 1 Oculto(s) 2 2,526 Último mensaje 25 Agosto 2016, 15:37 pm
por + 1 Oculto(s)
Hacer un IDS con redes neuronales
Hacking
bengy 5 3,770 Último mensaje 22 Diciembre 2019, 18:09 pm
por @XSStringManolo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines