Пример #1
0
    def getMSE(self):
        for entrada in self.entradas: # percorrendo as entradas
            for val in entrada:
                neuronio = Neuronio(val, self.pesos_h[0])
                self.h1 = neuronio.saida()

                neuronio = Neuronio(val, self.pesos_h[1])
                self.h2 = neuronio.saida()

                u1 = self.pesos_o[0][0] + self.h1[idx] * self.pesos_o[0][1] + self.h2[idx] * self.pesos_o[0][2]
                u2 = self.pesos_o[0][0] + self.h1[idx] * self.pesos_o[1][1] + self.h2[idx] * self.pesos_o[1][2]

                self.resultadoN1.insert(1 / (1 + pow(self.e, -u1)))
                self.resultadoN2.insert(1 / (1 + pow(self.e, -u2)))

                self.erroN1 = self.res_esperadoN1 - self.resultadoN1
                self.erro_quadratico += pow(self.erroN1, 2)

                self.erroN2 = self.res_esperadoN2 - self.resultadoN2
                self.erro_quadratico += pow(self.erroN2, 2)

            return (self.erro_quadratico/(self.entradas.size) * 2) * 100
Пример #2
0
    def le_camada_entrada(self, nome_arquivo, quantas_entradas,
                          ultimo_id_neuronio, learning_rate, momentum):
        with open(nome_arquivo, 'r') as arquivo_leitura_entrada:
            quantos_leu = 0
            for linha in arquivo_leitura_entrada:
                linha_quebrada = linha.split(' ')
                for i in linha_quebrada[
                        0]:  # pega as ENTRADAS somente (desconsidera saída esperada AINDA)

                    n = Neuronio(
                        ultimo_id_neuronio, i, learning_rate,
                        momentum)  # passando peso -1 como teste apenas
                    n.entradas = [float(i)]
                    n.saida = float(
                        i)  # coloca entrada na saída para primeira camada
                    self.neuronios.append(n)
                    ultimo_id_neuronio += 1

                quantos_leu += 1
                if (quantos_leu == quantas_entradas):
                    self.exibe_neuronios()
                    break
            return ultimo_id_neuronio