Kiedy i dlaczego warto standaryzować dane?

Source: 365DATASCIENCE.COM

Standaryzacja jest ważną techniką, która jest najczęściej wykonywana jako krok preprocessingu przed wieloma modelami uczenia maszynowego, aby znormalizować zakres cech zbioru danych wejściowych.

Niektórzy deweloperzy ML mają tendencję do ślepej standaryzacji danych przed „każdym” modelem uczenia maszynowego, nie podejmując wysiłku, aby zrozumieć, dlaczego musi być użyta, a nawet czy jest potrzebna, czy nie. Tak więc celem tego postu jest wyjaśnienie jak, dlaczego i kiedy standaryzować dane.

Standaryzacja

Standaryzacja pojawia się, gdy cechy zbioru danych wejściowych mają duże różnice pomiędzy swoimi zakresami, lub po prostu, gdy są mierzone w różnych jednostkach miary (np. funty, metry, mile … etc).

Te różnice w zakresach początkowych cech powodują problemy z wieloma modelami uczenia maszynowego. Na przykład, dla modeli, które są oparte na obliczaniu odległości, jeśli jedna z cech ma szeroki zakres wartości, odległość będzie regulowana przez tę konkretną cechę.

Aby zilustrować to na przykładzie: powiedzmy, że mamy dwuwymiarowy zbiór danych z dwiema cechami, Wzrost w metrach i Waga w funtach, które mają zakres odpowiednio od metrów i funtów. Bez względu na to, jaki model oparty na odległości wykonasz na tym zbiorze danych, cecha Waga będzie dominować nad cechą Wzrost i będzie mieć większy wkład w obliczanie odległości, tylko dlatego, że ma większe wartości w porównaniu do Wzrostu. Tak więc, aby zapobiec temu problemowi, rozwiązaniem jest przekształcenie cech do porównywalnych skal przy użyciu standaryzacji.

Jak standaryzować dane?

Z-score

Z-score jest jedną z najbardziej popularnych metod standaryzacji danych, i można ją wykonać poprzez odjęcie średniej i podzielenie przez odchylenie standardowe dla każdej wartości każdej cechy.

Po wykonaniu standaryzacji wszystkie cechy będą miały średnią równą zero, odchylenie standardowe równe jeden, a więc tę samą skalę.

Istnieją też inne metody standaryzacji, ale dla uproszczenia, w tym opowiadaniu zdecyduję się na metodę Z-score.

Kiedy standaryzować dane i dlaczego?

Jak widać powyżej, dla modeli opartych na odległości, standaryzacja jest wykonywana, aby zapobiec dominacji cech o szerszych zakresach w metryce odległości. Ale powód, dla którego standaryzujemy dane nie jest taki sam dla wszystkich modeli uczenia maszynowego i różni się w zależności od modelu.

Więc przed jakimi modelami ML i metodami musisz standaryzować swoje dane i dlaczego ?

1- Przed PCA:

W Principal Component Analysis, cechy z wysokimi wariancjami/szerokimi zakresami, otrzymują większą wagę niż te z niską wariancją, i w konsekwencji, kończą nielegalnie dominując w Pierwszych Składnikach Głównych (Składnikach z maksymalną wariancją). Użyłem tutaj słowa „bezprawnie”, ponieważ powodem, dla którego te cechy mają wysoką wariancję w porównaniu do innych jest to, że zostały one zmierzone w różnych skalach.

Standaryzacja może temu zapobiec, poprzez nadanie takiej samej wagi wszystkim cechom.

2- Przed klasteryzacją:

Modele klasteryzacji są algorytmami opartymi na odległości, w celu zmierzenia podobieństwa pomiędzy obserwacjami i utworzenia klastrów używają metryki odległości. Tak więc cechy o dużych zakresach będą miały większy wpływ na klasteryzację. Dlatego przed budową modelu klasteryzacji wymagana jest standaryzacja.

3- Przed KNN:

k-nearest neighbors jest klasyfikatorem opartym na odległości, który klasyfikuje nowe obserwacje na podstawie miar podobieństwa (np. metryki odległości) z etykietowanymi obserwacjami zbioru treningowego. Standaryzacja sprawia, że wszystkie zmienne mają jednakowy wkład w miary podobieństwa .

4- Przed SVM

Support Vector Machine próbuje zmaksymalizować odległość między płaszczyzną separującą a wektorami wsparcia. Jeśli jedna cecha ma bardzo duże wartości, będzie ona dominować nad innymi cechami podczas obliczania odległości. Normalizacja daje więc wszystkim cechom taki sam wpływ na metrykę odległości.

Źródło: Arun Manglick: arun-aiml.blogspot.com

5- Przed pomiarem znaczenia zmiennych w modelach regresji

Możesz zmierzyć znaczenie zmiennych w analizie regresji, dopasowując model regresji przy użyciu znormalizowanych zmiennych niezależnych i porównując wartość bezwzględną ich znormalizowanych współczynników. Ale, jeśli niezależne zmienne nie są znormalizowane, porównywanie ich współczynników staje się bezsensowne.

6- Przed regresją Lasso i Ridge

Regresje Lasso i Ridge nakładają karę na wielkość współczynników związanych z każdą zmienną. A skala zmiennych będzie miała wpływ na to, jak duża kara zostanie nałożona na ich współczynniki. Ponieważ współczynniki zmiennych o dużej wariancji są małe, a zatem mniej karane. Dlatego standaryzacja jest wymagana przed dopasowaniem obu regresji.

Przypadki, kiedy standaryzacja nie jest potrzebna?

Regresja logistyczna i modele oparte na drzewach

Regresja logistyczna i algorytmy oparte na drzewach, takie jak drzewo decyzyjne, las losowy i gradient boosting, nie są wrażliwe na wielkość zmiennych. Więc standaryzacja nie jest potrzebna przed dopasowaniem tego typu modeli.

Zakończenie standaryzacji danych

Jak widzieliśmy w tym poście, kiedy standaryzować, a kiedy nie, zależy od tego, jakiego modelu chcesz użyć i co chcesz z nim zrobić. Tak więc, bardzo ważne jest, aby programista ML rozumiał wewnętrzne działanie algorytmów uczenia maszynowego, aby wiedzieć kiedy standaryzować dane i zbudować udany model uczenia maszynowego.

N.B: Lista modeli i metod, kiedy standaryzacja jest wymagana, przedstawiona w tym poście nie jest wyczerpująca.

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.