def funcion_objetivo(self, solucion, n=None, cmd=None): if n is None: n = self.entrenamientos red = RedNeuronal(self.entradas, self.salidas, self.alfa, self.momentum, solucion) error = 0.0 for i in range(n - 1): red.backpropagation([0.0, 0.0], [0.0]) red.backpropagation([0.0, 1.0], [1.0]) red.backpropagation([1.0, 0.0], [1.0]) red.backpropagation([1.0, 1.0], [0.0]) error += red.backpropagation([0.0, 0.0], [0.0])[0] error += red.backpropagation([0.0, 1.0], [1.0])[0] error += red.backpropagation([1.0, 0.0], [1.0])[0] error += red.backpropagation([1.0, 1.0], [0.0])[0] if cmd is not None: print "[0, 0]", red.backpropagation([0.0, 0.0], [0.0]) print "[0, 1]", red.backpropagation([0.0, 1.0], [1.0]) print "[1, 0]", red.backpropagation([1.0, 0.0], [1.0]) print "[1, 1]", red.backpropagation([1.0, 1.0], [0.0]) return error, red return error
def funcion_objetivo(self, solucion, n = None, cmd = None): if n is None: n = self.entrenamientos muestras = cargar_archivos(["muestraHandPointDown.txt", "muestraHandPointUp.txt"]) contador = 0 red = RedNeuronal(self.entradas, self.salidas, self.alfa, self.momentum, solucion) """ error = 0.0 for i in range(n): temp = red.backpropagation(muestras[contador][0], muestras[contador][1])[0] contador += 1 if contador >= len(muestras): contador = 0 if i >= n-10: error += temp if cmd is not None: return float(error)/10, red return error """ error = 0.0 for i in range(n-1): red.backpropagation([0.0, 0.0], [0.0]) red.backpropagation([0.0, 1.0], [1.0]) red.backpropagation([1.0, 0.0], [1.0]) red.backpropagation([1.0, 1.0], [0.0]) error += red.backpropagation([0.0, 0.0], [0.0])[0] error += red.backpropagation([0.0, 1.0], [1.0])[0] error += red.backpropagation([1.0, 0.0], [1.0])[0] error += red.backpropagation([1.0, 1.0], [0.0])[0] if cmd is not None: print "[0, 0]", red.backpropagation([0.0, 0.0], [0.0]) print "[0, 1]", red.backpropagation([0.0, 1.0], [1.0]) print "[1, 0]", red.backpropagation([1.0, 0.0], [1.0]) print "[1, 1]", red.backpropagation([1.0, 1.0], [0.0]) return error, red return error