Ich verwende Brain , um ein neuronales Netzwerk mit einem Funktionsumfang zu trainieren, der sowohl positive als auch negative Werte enthält. Aber Brain benötigt Eingabewerte zwischen 0 und 1. Wie kann ich meine Daten am besten normalisieren?
machine-learning
neural-network
feature-scaling
normalization
javascript
Jonathan Shobrook
quelle
quelle
Suchen Sie die größte positive Zahl und die kleinste (negativste) Zahl im Array. Addieren Sie den absoluten Wert der kleinsten (negativsten) Zahl zu jedem Wert im Array. Teilen Sie jedes Ergebnis durch die Differenz zwischen der größten und der kleinsten Zahl.
quelle
Angenommen, Sie haben einen Vektor / ein Array von Werten
v = [1, -2, 3]
Ausgabe am Ende wird sein
v = [0.6, 0, 1]
. Erläuterung:Drücken Sie den gesamten Wertebereich, um bei 0 zu beginnen, damit wir keine Negative haben
Teilen Sie die Werte durch (max - min) des Bereichs, so dass max 1 ist
quelle
Bevor Sie dies tun, möchten Sie möglicherweise nach Ausreißern suchen. Angenommen, 99% der Daten liegen im Bereich (-5, 5), aber ein kleiner Kerl nimmt einen Wert von 25,0 an. Ihr normalisiertes Array würde sich um (0, 0,3) gruppieren, und dies würde zu Problemen beim Lernen des neuronalen Netzes führen.
quelle