Używam Mózgu do trenowania sieci neuronowej na zestawie funkcji, który zawiera zarówno wartości dodatnie, jak i ujemne. Ale Mózg wymaga wartości wejściowych od 0 do 1. Jaki jest najlepszy sposób normalizacji moich danych?
machine-learning
neural-network
feature-scaling
normalization
javascript
Jonathan Shobrook
źródło
źródło
Znajdź największą liczbę dodatnią i najmniejszą (najbardziej ujemną) w tablicy. Dodaj wartość bezwzględną najmniejszej (najbardziej ujemnej) liczby do każdej wartości w tablicy. Podziel każdy wynik przez różnicę między największą i najmniejszą liczbą.
źródło
powiedzmy, że masz wektor / tablicę wartości
v = [1, -2, 3]
Wyjście na końcu będzie
v = [0.6, 0, 1]
. Wyjaśnienie:Przesuwamy cały zakres wartości, aby zacząć od 0, abyśmy nie mieli negatywów
Dzieląc wartości przez (max - min) zakresu, tak aby max wynosił 1
źródło
Zanim to zrobisz, możesz sprawdzić wartości odstające. Powiedzmy, że 99% danych mieści się w zakresie (-5, 5), ale jeden mały facet przyjmuje wartość 25,0. Twoja znormalizowana tablica skupiałaby się wokół (0, 0,3), co spowodowałoby problem w nauce sieci neuronowej.
źródło