예제 #1
0
 def predict(self, entrada):
     # Retorna saida basiado na entrada
     entrada = Matriz.matrizLinha(entrada)
     pesos_t = Matriz.transposta(self.pesos)
     soma = Matriz.mult(entrada, pesos_t)
     soma = Matriz.array(soma)
     soma[0] -= self.bias
     saida = Hebb(soma[0])
     return saida
예제 #2
0
 def treino(self, entrada, saida):
     entrada = Matriz.matrizLinha(entrada)
     pesos_t = Matriz.transposta(self.pesos)
     soma = Matriz.mult(entrada, pesos_t)
     soma.data[0][0] -= self.bias
     erro = saida - soma.data[0][0]
     delta = erro * self.taxa
     self.bias = delta * -1
     delta = Matriz.mult_escalar(entrada, delta)
     self.pesos = Matriz.soma(self.pesos, delta)
예제 #3
0
    def EQM(self, padroes, entrada, saida):
        eqm = 0
        x = 0
        pesos_t = Matriz.transposta(self.pesos)
        for i in entrada:
            i = Matriz.matrizLinha(i)
            u = Matriz.mult(i, pesos_t)
            u = u.data[0][0] - self.bias
            erro = saida[x] - u
            x += 1
            eqm += erro**2
        eqm = eqm / padroes
        return eqm

        eqm = soma / padroes
        return eqm
예제 #4
0
    def treino(self, entrada, saidaFinal):
        # Verificando Resultado
        entrada = Matriz.matrizLinha(entrada)
        pesos_t = Matriz.transposta(self.pesos)
        soma = Matriz.mult(entrada, pesos_t)
        soma = Matriz.array(soma)
        soma[0] -= self.bias
        saida = Hebb(soma[0])
        erro = False

        # Atualizando Pesos
        if (saida != saidaFinal):
            taxaErro = saidaFinal - saida
            delta = Matriz.mult_escalar(entrada, self.taxa * taxaErro)
            self.pesos = Matriz.soma(delta, self.pesos)
            self.bias += (taxaErro * self.taxa * -1)
            erro = True
        return erro
예제 #5
0
 def predict(self, entrada):
     entrada = Matriz.matrizLinha(entrada)
     pesos_t = Matriz.transposta(self.pesos)
     soma = Matriz.mult(entrada, pesos_t)
     soma.data[0][0] -= self.bias
     return Hebb(soma.data[0][0])