Cześć, Habr!
W «Rexoft» przetłumaczyliśmy artykuł na język polski . Mamy nadzieję, że będzie to przydatne dla wszystkich, którzy interesują się tym tematem.
W prawdziwym świecie dane nie zawsze są tak czyste, jak czasem myślą o tym klienci biznesowi. Dlatego też potrzebna jest inteligentna analiza danych (data mining i data wrangling). Pomaga ona w identyfikacji brakujących wartości i wzorców w danych uporządkowanych za pomocą zapytań, które mogą pozostać niezauważone przez człowieka. Aby znaleźć i wykorzystać te wzorce do przewidywania wyników przy pomocy odkrytych zależności w danych, przyda się uczenie maszynowe (Machine Learning).
Aby zrozumieć każdy algorytm, należy przejrzeć wszystkie zmienne w danych i ustalić, co te zmienne reprezentują. To niezwykle ważne, ponieważ uzasadnienie wyników opiera się na zrozumieniu danych. Jeśli dane zawierają 5 lub nawet 50 zmiennych, można je wszystkie zbadać. Ale co zrobić, gdy jest ich 200? Wówczas po prostu brakuje czasu na przeanalizowanie każdej zmiennej z osobna. Co więcej, niektóre algorytmy nie działają dla danych kategorycznych, a wtedy trzeba będzie przekształcić wszystkie kolumny kategoryczne na zmienne ilościowe (mogą wyglądać jak ilościowe, ale metryki pokażą, że są kategoryczne), aby można było je dodać do modelu. W ten sposób liczba zmiennych wzrasta, a ich liczba może sięgnąć około 500. Co teraz zrobić? Można pomyśleć, że odpowiedzią będzie redukcja wymiarowości. Algorytmy redukcji wymiarowości zmniejszają liczbę parametrów, ale negatywnie wpływają na interpretowalność. Co, jeśli istnieją inne techniki, które eliminują cechy, a jednocześnie pozwalają łatwo zrozumieć i zinterpretować pozostałe?
W zależności od tego, czy analiza opiera się na regresji, czy klasyfikacji, algorytmy wyboru cech mogą się różnić, ale główna idea ich realizacji pozostaje taka sama.
Silnie skorelowane zmienne
Silnie skorelowane ze sobą zmienne dostarczają modelowi tych samych informacji, w związku z tym nie ma potrzeby używania wszystkich z nich w analizie. Na przykład, jeśli zestaw danych zawiera cechy „Czas w sieci” i „Wykorzystany ruch”, można założyć, że będą one w pewnym stopniu skorelowane, co może skutkować silną korelacją, nawet jeśli wybierzemy losowy próbkę danych. W takim przypadku w modelu potrzebna jest tylko jedna z tych zmiennych. Użycie obu sprawi, że model zostanie przetrenowany (overfit) i będzie stronniczy wobec jednej konkretnej cechy.
Wartości P
W takich algorytmach jak regresja liniowa, początkowy model statystyczny to zawsze dobry pomysł. Pomaga on pokazać znaczenie cech za pomocą ich wartości P, które uzyskano przy użyciu tego modelu. Ustalamy poziom istotności, a następnie sprawdzamy uzyskane wartości P; jeżeli jakaś wartość jest poniżej ustalonego poziomu istotności, to ta cecha jest uznawana za istotną, co oznacza, że zmiana jej wartości prawdopodobnie wpłynie na zmianę wartości celu (target).
Selekcja bezpośrednia
Selekcja bezpośrednia to technika polegająca na stosowaniu regresji krokowej. Budowa modelu zaczyna się od zera, czyli od pustego modelu, a następnie w każdej iteracji dodawana jest zmienna, która wprowadza poprawę do budowanego modelu. To, która zmienna zostanie dodana do modelu, określa jej znaczenie. Może to być obliczone przy użyciu różnych metryk. Najbardziej powszechną metodą jest stosowanie wartości P uzyskanych w początkowym modelu statystycznym z użyciem wszystkich zmiennych. Czasami selekcja bezpośrednia może prowadzić do przetrenowania modelu, ponieważ mogą w nim znaleźć się silnie skorelowane zmienne, mimo że dostarczają one tych samych informacji modelowi (ale model przy tym pokazuje poprawę).
Selekcja odwrotna
Wsteczna eliminacja również polega na krokowym wykluczeniu cech, jednak w przeciwnym kierunku w porównaniu do bezpośredniej. W tym przypadku początkowy model obejmuje wszystkie zmienne niezależne. Następnie zmienne są wykluczane (po jednej w każdej iteracji), jeśli nie wnoszą wartości do nowego modelu regresyjnego w każdej iteracji. Podstawą wykluczenia cech są wskaźniki wartości p początkowego modelu. W tej metodzie również występuje niepewność przy usuwaniu silnie skorelowanych zmiennych.
Rekurencyjne wykluczanie cech
RFE jest szeroko stosowaną techniką/algorytmem do wyboru dokładnej liczby znaczących cech. Czasami metoda jest używana, aby wyjaśnić pewną liczbę "najważniejszych" cech wpływających na wyniki; a czasami do zmniejszenia bardzo dużej liczby zmiennych (około 200-400), pozostawiając tylko te, które wnoszą jakikolwiek wkład do modelu, a wszystkie pozostałe są wykluczane. RFE wykorzystuje system rang. Cechom w zbiorze danych przypisywane są rangi. Następnie te rangi są używane do rekurencyjnego wykluczania cech w zależności od kolinearnych relacji między nimi i znaczenia tych cech w modelu. Oprócz nadawania rang cechom, RFE może również pokazać, czy te cechy są istotne, czy nie, nawet dla danej liczby cech (ponieważ bardzo możliwe jest, że wybrana liczba cech może być nieoptymalna, a optymalna liczba cech może być zarówno wyższa, jak i niższa od wybranej).
Diagram istotności cech
Mówiąc o interpretowalności algorytmów uczenia maszynowego, zazwyczaj omawia się regresję liniową (pozwalającą analizować znaczenie cech za pomocą wartości p) oraz drzewa decyzyjne (dosłownie pokazujące znaczenie cech w formie drzewa, a także ich hierarchię). Z drugiej strony, w takich algorytmach, jak Random Forest, LightGBM i XG Boost, często wykorzystuje się diagram istotności cech, co oznacza budowę wykresu zmiennych i "ich znaczenia dla modelu". Jest to szczególnie przydatne, gdy trzeba dostarczyć usystematyzowane uzasadnienie znaczenia cech z punktu widzenia ich wpływu na biznes.
Regularyzacja
Regularizacja służy do kontrolowania równowagi między stronniczością (bias) a wariancją (variance). Stronniczość pokazuje, jak bardzo model jest przetrenowany (overfit) na zbiorze danych treningowych. Wariancja pokazuje, jak różne były prognozy między zbiorem treningowym a testowym. Idealnie zarówno stronniczość, jak i wariancja powinny być małe. W tym miejscu przychodzi z pomocą regularizacja! Istnieją dwie podstawowe techniki:
Regularizacja L1 — Lasso: Lasso nakłada karę na wagi modelu, aby zmienić ich ważność dla modelu i może nawet je zera (tj. usunąć te zmienne z ostatecznego modelu). Zwykle Lasso jest stosowane, gdy zbiór danych zawiera wiele zmiennych i konieczne jest wykluczenie niektórych z nich, aby lepiej zrozumieć, jak ważne cechy wpływają na model (tj. te cechy, które zostały wybrane przez Lasso i mają przypisaną ważność).
Regularizacja L2 — metoda Ridge: Celem Ridge jest zachowanie wszystkich zmiennych, jednocześnie przypisując im ważność na podstawie wkładu w efektywność modelu. Ridge będzie dobrym wyborem, jeśli zbiór danych zawiera niewielką liczbę zmiennych i wszystkie są potrzebne do interpretacji wniosków i uzyskanych wyników.
Ponieważ Ridge zachowuje wszystkie zmienne, a Lasso lepiej ustala ich ważność, opracowano algorytm, który łączy najlepsze cechy obu regularizacji i jest znany jako Elastic-Net.
Istnieje wiele innych metod selekcji cech dla uczenia maszynowego, ale główna idea zawsze pozostaje taka sama: wykazać ważność zmiennych, a następnie wykluczyć niektóre z nich na podstawie uzyskanej ważności. Ważność to bardzo subiektywny termin, ponieważ nie jest to jeden, a cały zestaw metryk i wykresów, które mogą być używane do znalezienia kluczowych cech.
Dziękujemy za przeczytanie! Szczęśliwego uczenia się!
Źródło: habr.com
