1
import math 



inp = 0.1 
target = 0.3 
weight = 0.04 
learning_rate = 1 
bias = 0 


def sigmoid(x): 
    return (1/1+(math.e**(-x))) 


for count in range(10): 
    net = (weight*inp)+(bias*1) 
    out = sigmoid(net) 
    error_total = 0.5*((target - out)**2) 
    print('error',error_total,'|| output',out,'|| weight',weight) 
    adjustment = (out - target)*(out)*(1 - out)*(inp) 
    weight = weight - (learning_rate*(adjustment)) 

AusgangNeuronales Netz prognostiziert schlecht mit einem Neuron

error 1.4382215499593243 || output 1.9960079893439915 || weight 0.04 
error 1.3827597601324302 || output 1.9629851232842885 || weight 0.3771731560625728 
error 1.3336445885853887 || output 1.9331837548698485 || weight 0.6915314696982848 
error 1.2897634204261337 || output 1.9060905456580794 || weight 0.9861603791287348 
error 1.2502583453938265 || output 1.8813022136162503 || weight 1.2635467711722324 
error 1.2144557693222424 || output 1.8584965635651831 || weight 1.5257260148874747 
error 1.1818184468701014 || output 1.8374124019729394 || weight 1.7743861541249517 
error 1.1519119478941984 || output 1.8178352663541577 || weight 2.0109434853536103 
error 1.1243806861957226 || output 1.7995870672926748 || weight 2.2365985045783425 
error 1.0989304444985601 || output 1.7825184278777517 || weight 2.4523780684160923 

in meinem neuronales Netzwerk möchte ich auf einzelnen Eingang einen einzigen Ausgang vorherzusagen i durch Vorspannungseinstelldioden tryed und Rate auf unterschiedliche Werte zu lernen, aber von nicht verwenden

und die Gewichte geht auf die Erhöhung und die Fehlerrate abnehmend aber das Netzwerk konnte nicht Ziel

+0

Sollte die Lernrate kleiner als 1 sein? – Aaron

+0

danke für deine Hilfe @avysk –

Antwort

2

Ihre sigmoid Definition falsch Ausgang zu erreichen ist. Sollte sein

def sigmoid(x): 
    return 1/(1+(math.e**(-x))) 

Sie sollten eins durch (eins + Exponent) teilen; Stattdessen teilen Sie eins nach dem anderen und addieren den Exponenten zum Ergebnis der Division (was natürlich 1 ist).

0

Ändern Sie Ihre Lernrate auf 0,1 oder 0,001. Es sollte nicht < = 1

Verwandte Themen