Czytałem o rozwiązaniu tego wyzwania OTTO Kaggle i rozwiązanie na pierwszym miejscu wydaje się wykorzystywać kilka transformacji dla danych wejściowych X, na przykład Log (X + 1), sqrt (X + 3/8) itp. Czy istnieje ogólna wskazówka, kiedy zastosować rodzaj transformacji do różnych klasyfikatorów?
Rozumiem pojęcia normalizacji średniej-zmiennej i minimalnej-maksymalnej. Jednak w przypadku powyższych transformacji zgaduję, że Log i Sqrt są używane do kompresji zakresu dynamicznego danych. Przesunięcie osi x służy tylko do ponownego wyśrodkowania danych. Jednak autor decyduje się na użycie różnych metod normalizacji dla tego samego wejściowego X przy podawaniu do różnych klasyfikatorów. Jakieś pomysły?
machine-learning
feature-extraction
feature-scaling
terenceflow
źródło
źródło
Odpowiedzi:
Kochamy normalną formę
W większości przypadków staramy się, aby działały normalnie. To nie jest punkt widzenia klasyfikatorów, ale widok ekstrakcji funkcji!
Która transformacja ?
Głównym kryterium wyboru transformacji jest: co działa z danymi? Jak wskazują powyższe przykłady, ważne jest rozważenie również dwóch pytań.
Co ma sens fizyczny (biologiczny, ekonomiczny, cokolwiek), na przykład w kontekście ograniczania zachowania, gdy wartości stają się bardzo małe lub bardzo duże? To pytanie często prowadzi do użycia logarytmów.
Czy możemy zachować wymiary i jednostki proste i wygodne? Jeśli to możliwe, wolimy łatwo myśleć o skalach pomiarowych.
Pierwiastek sześcienny objętości i pierwiastek kwadratowy obszaru mają wymiary długości, więc jak na razie nie komplikują spraw, takie transformacje mogą je uprościć. Wzajemne mają zwykle proste jednostki, jak wspomniano wcześniej. Często jednak dość skomplikowane jednostki stanowią poświęcenie, które należy złożyć.
Kiedy korzystać z czego ?
Najbardziej przydatne transformacje we wstępnej analizie danych to odwrotność, logarytm, pierwiastek sześcienny, pierwiastek kwadratowy i kwadrat. W dalszej części, nawet jeśli nie jest to podkreślane, zakłada się, że transformacje są używane tylko w zakresach, w których dają (skończone) liczby rzeczywiste jako wyniki.
(W praktyce możemy chcieć pomnożyć lub podzielić wyniki przyjmowania odwrotności przez pewną stałą, taką jak 1000 lub 10000, aby uzyskać liczby, które są łatwe do zarządzania, ale które same nie mają wpływu na skośność lub liniowość).
Odwrotność odwraca porządek między wartościami tego samego znaku: największa staje się najmniejsza itp. Negatywna odwrotność zachowuje porządek między wartościami tego samego znaku.
Logarytm : Logarytm x log 10 x lub x log ex lub ln x lub x log 2 x jest silną transformacją o dużym wpływie na kształt rozkładu. Jest powszechnie stosowany do zmniejszania prawidłowej skośności i często jest odpowiedni dla mierzonych zmiennych. Nie można go zastosować do wartości zerowych lub ujemnych. Jedna jednostka w skali logarytmicznej oznacza pomnożenie przez podstawę zastosowanych logarytmów. Gwałtowny wzrost lub spadek.
Przykładami są:
Zatem y jest gdzieś pomiędzy 0 a nieskończonością, lub w ostatnim przypadku między 1 a nieskończonością. Jeśli p = q, to y = 1. Takie definicje często prowadzą do wypaczonych danych, ponieważ istnieje wyraźny dolny limit i brak wyraźnego górnego limitu. Logarytm to mianowicie
log y = log p / q = log p - log q, jest gdzieś pomiędzy-nieskończonością i nieskończonością, a p = q oznacza, że log y = 0. Stąd logarytm takiego stosunku może być bardziej symetrycznie rozłożony.
Katalog główny : Katalog główny, x 1/3 . Jest to dość silna transformacja, mająca znaczący wpływ na kształt dystrybucji: jest słabsza niż logarytm. Służy również do zmniejszania prawidłowej skośności i ma tę zaletę, że można go zastosować do wartości zerowych i ujemnych. Zauważ, że pierwiastek sześcienny woluminu ma jednostki długości. Jest powszechnie stosowany do danych o opadach.
Zastosowanie do wartości ujemnych wymaga specjalnej uwagi. Rozważ
(2) (2) (2) = 8 i (-2) (- 2) (- 2) = -8. Te przykłady pokazują, że
pierwiastek sześcienny liczby ujemnej ma znak ujemny i taką samą
wartość bezwzględną jak pierwiastek sześcienny równoważnej liczby dodatniej. Podobną właściwość posiada każdy inny pierwiastek, którego moc jest
odwrotnością nieparzystej liczby całkowitej dodatniej (potęgi 1/3, 1/5, 1/7 itd.)
Ta właściwość jest trochę delikatna. Na przykład zmień moc tylko smidgen z 1/3 i nie możemy już zdefiniować wyniku jako iloczynu dokładnie trzech terminów. Jednak właściwość można wykorzystać, jeśli jest to przydatne.
kwadratyki są zwykle używane wyłącznie dlatego, że mogą naśladować
relacje w obszarze danych. Poza tym regionem mogą
zachowywać się bardzo słabo, ponieważ przyjmują arbitralnie duże wartości dla ekstremalnych wartości x, i chyba że przecięcie a jest ograniczone do 0, mogą zachowywać się nierealnie blisko początku.
źródło
Te konkretne mogą być czysto heurystyczne. W przypadku obrazów jest to dość standardowe: zmień RGB na BGR i odejmij średnią z każdego piksela. Jest to wykorzystywane we wszystkich konkursach / zestawach danych, takich jak Imagenet, Pascal VOC, MS COCO. Powodem jest to, że sieć ma standardowy zestaw danych, ponieważ wszystkie obrazy mogą być bardzo różne.
źródło
To samo tutaj - nie mam pojęcia, nie widziałem tego wcześniej. Chyba próbowali różnych transformacji i wybrali tę, która działała najlepiej. Ponieważ w raporcie mówią, że niektóre inne transformacje byłyby również w porządku.
źródło