Lösung: Gewicht anpassen, d.h. Lernen
Completion requirements
weight = 0 # Startwert goal_pred = 0.85 # Zielvorhersage input = 8.5 # durchn. Anzahl Fusszehen pro Spieler alpha = 0.01 # Lernrate einstellen for iteration in range(20): # 20 Durchläufe pred = input * weight # Voraussage delta = pred - goal_pred # Abweichung bzw. Differenz vom erwarteten Ergebnis weight_delta = delta * input # Abweichung in Abhängigkeit vom Eingabewert gewichten weight = weight - weight_delta * alpha # neues Gewicht einstellen = lernen mit eingestellter Lernrate print("Delta: " + str(delta) + " Prediction: " + str(pred)) print("Weight: " + str(weight))
Delta: -0.85 Prediction: 0.0
Delta: -0.23587500000000006 Prediction: 0.6141249999999999
Delta: -0.06545531249999992 Prediction: 0.7845446875000001
Delta: -0.018163849218750028 Prediction: 0.83183615078125
...
Delta: -2.9166857817841674e-10 Prediction: 0.8499999997083314
Delta: -8.093792303043301e-11 Prediction: 0.849999999919062
Delta: -2.246036689967923e-11 Prediction: 0.8499999999775396
Weight: 0.09999999999926673
Dieses Verfahren heißt Gradientenabstieg.
Last modified: Wednesday, 19 October 2022, 10:04 AM