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

        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
Пример #3
0
    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