Skalowanie funkcji

Skalowanie cech to metoda stosowana do normalizacji zakresu zmiennych niezależnych lub cech danych. W przetwarzaniu danych jest to również znane jako normalizacja danych i jest zwykle wykonywane na etapie wstępnego przetwarzania danych .

Motywacja

Ponieważ zakres wartości surowych danych jest bardzo zróżnicowany, w niektórych algorytmach uczenia maszynowego funkcje celu nie będą działać poprawnie bez normalizacji . Na przykład wiele klasyfikatorów oblicza odległość między dwoma punktami na podstawie odległości euklidesowej . Jeśli jedna z cech ma szeroki zakres wartości, odległość będzie regulowana przez tę konkretną cechę. Dlatego zakres wszystkich cech powinien być znormalizowany, tak aby każda cecha miała udział w przybliżeniu proporcjonalnie do ostatecznej odległości.

Innym powodem, dla którego stosuje się skalowanie obiektów, jest to, że zejście gradientu zbiega się znacznie szybciej ze skalowaniem obiektów niż bez niego.

Ważne jest również zastosowanie skalowania funkcji, jeśli regularyzacja jest używana jako część funkcji straty (aby współczynniki były odpowiednio karane).

Metody

Przeskalowanie (normalizacja min-max)

Znane również jako skalowanie min-max lub normalizacja min-max, przeskalowanie jest najprostszą metodą i polega na przeskalowaniu zakresu cech w celu przeskalowania zakresu w [0, 1] lub [-1, 1]. Wybór zakresu docelowego zależy od charakteru danych. Ogólny wzór na min-max [0, 1] ma postać:

gdzie jest wartością wartością Załóżmy na przykład, że mamy dane dotyczące wagi uczniów i zakres wag uczniów [160 funtów, 200 funtów]. Aby przeskalować te dane, najpierw odejmujemy 160 od wagi każdego ucznia i dzielimy wynik przez 40 (różnica między maksymalną a minimalną wagą).

Aby przeskalować zakres między dowolnym zestawem wartości [a, b], formuła wygląda następująco:

gdzie to wartości min-max.

Średnia normalizacja

gdzie jest wartością oryginalną, jest wartością znormalizowaną, jest średnią tego wektora cech. Istnieje inna forma normalizacji średnich, która dzieli się przez odchylenie standardowe, zwana także standaryzacją.

Standaryzacja (normalizacja wyniku Z)

W uczeniu maszynowym możemy przetwarzać różne typy danych, np. sygnały audio i wartości pikseli dla danych obrazu, a dane te mogą obejmować wiele wymiarów . Standaryzacja cech sprawia, że ​​wartości każdej cechy w danych mają zerową średnią (po odjęciu średniej w liczniku) i jednostkową wariancję. Ta metoda jest szeroko stosowana do normalizacji w wielu algorytmach uczenia maszynowego (np. maszyny wektorów nośnych , regresja logistyczna i sztuczne sieci neuronowe ). [ potrzebne źródło ] Ogólna metoda obliczeń polega na określeniu średniej dystrybucji i odchylenia standardowego dla każdej cechy. Następnie od każdej cechy odejmujemy średnią. Następnie dzielimy wartości (średnia jest już odjęta) każdej cechy przez jej odchylenie standardowe.

gdzie jest oryginalnym wektorem cech, jest średnią tego wektora cech, x {\ displaystyle x} a jego odchylenie standardowe

Skalowanie do długości jednostkowej

Inną opcją, która jest szeroko stosowana w uczeniu maszynowym, jest skalowanie komponentów wektora cech w taki sposób, aby cały wektor miał długość jeden. Zwykle oznacza to podzielenie każdego składnika przez euklidesową długość wektora:

W niektórych zastosowaniach (np. cechy histogramu) bardziej praktyczne może być użycie normy L1 ( tj. geometria taksówki ) wektora cech. Jest to szczególnie ważne, jeśli w kolejnych krokach uczenia się metryka skalarna jest używana jako miara odległości. [ dlaczego? ] Zauważ, że działa to tylko dla .

Aplikacja

W stochastycznym spadku gradientu skalowanie funkcji może czasami poprawić szybkość zbieżności algorytmu. W maszynach wektorów nośnych może skrócić czas znajdowania wektorów nośnych. Zauważ, że skalowanie funkcji zmienia wynik SVM [ potrzebne źródło ] .

Zobacz też

Dalsza lektura

Linki zewnętrzne