Co to jest jednostka “ ” odchylenie standardowe?

Powszechną praktyką jest normalizowanie danych w celu uczenia sieci neuronowej do zerowej średniej i odchylenia standardowego „jednostkowego” w celu zredukowania eksplozji i zanikania efektów gradientu itp.

Co oznacza tutaj „jednostka” std? Przykład byłby naprawdę pomocny.

Komentarze

  • To znaczy równe 1. Aby uzyskać dzielenie wartości przez odchylenie standardowe oryginalnych danych . (Średnia zerowa pochodzi z odjęcia średniej).

Odpowiedź

Oznacza to, że konwertujesz funkcje danych od oryginalnych jednostek (mile, dolary, upływający czas, …) do jednostek odchylenia standardowego. Zgodnie z żądaniem podążamy za bardzo prostym przykładem:

Załóżmy, że chcesz przewidzieć ceny domów na podstawie dwóch cech: liczby sypialni (jednostka całkowita) i wielkości (w metrach kwadratowych), jak na przykład fikcyjne dane poniżej:

import numpy as np X = np.array([[1, 65],[3, 130],[2, 80],[2, 70],[1, 50]]) 

Zwróć uwagę, że każda funkcja ma bardzo inną średnią i odchylenie standardowe

print("mean={}, std{}".format(X.mean(axis=0), X.std(axis=0)) 

Wyniki: mean=[ 1.83333333, 78.33333333]), std=[ 0.68718427, 24.94438258])

Zauważyliśmy, że rozmiar elementu jest średni i standardowy ponad 30 razy większy niż liczba sypialni, co powoduje zniekształcenia w obliczeniach niektórych algorytmów (np. sieci neuronowe, svm , knn itp.), gdzie niektóre cechy z większymi wartościami całkowicie dominują inne z mniejszymi wartościami. Aby rozwiązać ten powszechny i bardzo skuteczny sposób postępowania, należy przekształcić dane w jednostki odchylenia standardowego z zerową średnią, czyli odjąć średnią i podzielić przez odchylenie standardowe, jak poniżej:

X_t = (X - X.mean(axis=0))/X.std(axis=0) 

Zmienna X_t (przekształcona X) zawiera Twoje cechy w jednostkowych odchyleniach standardowych z zerową średnią, wypisywanie X_t otrzymujesz:

array([[-1.21267813, -0.53452248], [ 1.69774938, 2.07127462], [ 0.24253563, 0.06681531], [ 0.24253563, -0.33407655], [-1.21267813, -1.13586028], [ 0.24253563, -0.13363062]]) 

Zobacz, jak liczby w obu cechach mają tę samą wielkość. Jeśli drukujesz teraz X_t średnio i standardowo, otrzymasz

mean=[ 1.11022302e-16 2.08166817e-16], std=[ 1. 1.] 

zgodnie z oczekiwaniami.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *