Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

ss15:nncode

Dies ist eine alte Version des Dokuments!


neuron

from __future__ import division
# import numpy as np
import math
 
 
def activeFunc(value):
    '''Setzt den Wert in die Sigmoid-Funktion ein.'''
    # print "input:", value
    return 1/(1+math.e**(-value))
 
 
def derivedActFunc(value):
    return (math.e**-value)/(1+math.e**-value)**2
 
 
class Neuron():
    def __init__(self, weights):
        self.weights = weights
        self.additionalInput = 0
        self.inputs = 0
        self.value = 0
        self.isActive = False
        # print "Weights:", self.weights, "(" + str(len(self.weights)) + ")"
 
    def processInput(self, inputs):
        '''Verarbeitet den Input, indem es jeden Wert mit seinem Gewicht
            multipliziert und das Ergebnis in die Sigmoid-Funktion einsetzt.'''
        value = self.additionalInput
        self.inputs = inputs
        for i in range(len(inputs)):
            value += self.weights[i]*inputs[i]
        self.value = value
        self.output = activeFunc(value)
        self.isActive = self.output >= 0.5
 
    def setWeights(self, weights):
        self.weights = weights
 
    def printNeuron(self):
        return 'N:' + str(len(self.weights)), self.weights
ss15/nncode.1437768808.txt.gz · Zuletzt geändert: 2016/05/10 14:46 (Externe Bearbeitung)