Wybór funkcji w uczeniu maszynowym

Hej Habra!

W Reksoft przetłumaczyliśmy artykuł na język rosyjski Wybór funkcji w uczeniu maszynowym. Mamy nadzieję, że będzie ona przydatna dla wszystkich zainteresowanych tematem.

W prawdziwym świecie dane nie zawsze są tak czyste, jak czasami myślą klienci biznesowi. Dlatego właśnie istnieje zapotrzebowanie na eksplorację i przetwarzanie danych. Pomaga zidentyfikować brakujące wartości i wzorce w danych o strukturze zapytań, których człowiek nie jest w stanie zidentyfikować. Aby znaleźć te wzorce i wykorzystać je do przewidywania wyników na podstawie odkrytych relacji w danych, z pomocą przychodzi uczenie maszynowe.

Aby zrozumieć dowolny algorytm, należy przyjrzeć się wszystkim zmiennym w danych i dowiedzieć się, co te zmienne reprezentują. Ma to kluczowe znaczenie, ponieważ uzasadnienie wyników opiera się na zrozumieniu danych. Jeśli dane zawierają 5 lub nawet 50 zmiennych, możesz sprawdzić je wszystkie. A co jeśli będzie ich 200? Wtedy po prostu nie będzie wystarczająco dużo czasu na badanie każdej zmiennej. Co więcej, niektóre algorytmy nie działają w przypadku danych kategorycznych i wtedy będziesz musiał przekonwertować wszystkie kolumny kategoryczne na zmienne ilościowe (mogą wyglądać ilościowo, ale metryki pokażą, że są kategoryczne), aby dodać je do modelu. Tym samym wzrasta liczba zmiennych, których jest około 500. Co teraz zrobić? Można by pomyśleć, że odpowiedzią byłoby zmniejszenie wymiarowości. Algorytmy redukcji wymiarowości zmniejszają liczbę parametrów, ale mają negatywny wpływ na interpretowalność. A co, jeśli istnieją inne techniki, które eliminują cechy, a jednocześnie ułatwiają zrozumienie i interpretację pozostałych?

W zależności od tego, czy analiza opiera się na regresji, czy na klasyfikacji, algorytmy selekcji cech mogą się różnić, ale główna idea ich realizacji pozostaje ta sama.

Wysoce skorelowane zmienne

Zmienne, które są ze sobą silnie skorelowane, dostarczają do modelu tych samych informacji, więc nie ma potrzeby wykorzystywania ich wszystkich do analizy. Na przykład, jeśli zbiór danych zawiera cechy „Czas online” i „Wykorzystany ruch”, możemy założyć, że będą one w pewnym stopniu skorelowane i zaobserwujemy silną korelację, nawet jeśli wybierzemy bezstronną próbkę danych. W tym przypadku w modelu potrzebna jest tylko jedna z tych zmiennych. Jeśli użyjesz obu, model będzie nadmiernie dopasowany i stronniczy w kierunku jednej konkretnej cechy.

Wartości P

W algorytmach takich jak regresja liniowa początkowy model statystyczny jest zawsze dobrym pomysłem. Pomaga pokazać znaczenie cech poprzez ich wartości p uzyskane za pomocą tego modelu. Po ustaleniu poziomu istotności sprawdzamy otrzymane wartości p i jeżeli jakakolwiek wartość jest poniżej określonego poziomu istotności, to cechę tę uznajemy za istotną, czyli zmiana jej wartości prawdopodobnie spowoduje zmianę wartości cel.

Wybór bezpośredni

Wybór do przodu to technika polegająca na zastosowaniu regresji krokowej. Budowanie modelu rozpoczyna się od zupełnego zera, czyli pustego modelu, a następnie w każdej iteracji dodaje się zmienną, która ulepsza budowany model. To, która zmienna zostanie dodana do modelu, zależy od jej istotności. Można to obliczyć za pomocą różnych wskaźników. Najczęstszym sposobem jest wykorzystanie wartości p uzyskanych w oryginalnym modelu statystycznym przy użyciu wszystkich zmiennych. Czasami selekcja w przód może prowadzić do nadmiernego dopasowania modelu, ponieważ w modelu mogą znajdować się silnie skorelowane zmienne, nawet jeśli dostarczają modelowi tych samych informacji (ale model nadal wykazuje poprawę).

Odwrotny wybór

Selekcja odwrotna obejmuje również stopniową eliminację cech, ale w odwrotnym kierunku niż selekcja naprzód. W tym przypadku model początkowy uwzględnia wszystkie zmienne niezależne. Zmienne są następnie eliminowane (po jednej na iterację), jeśli nie wnoszą wartości do nowego modelu regresji w każdej iteracji. Wykluczenie funkcji opiera się na wartościach p modelu początkowego. Metoda ta charakteryzuje się również niepewnością przy usuwaniu silnie skorelowanych zmiennych.

Eliminacja funkcji rekurencyjnych

RFE jest szeroko stosowaną techniką/algorytmem wybierania dokładnej liczby istotnych cech. Czasami metodę tę stosuje się do wyjaśnienia szeregu „najważniejszych” cech wpływających na wyniki; a czasami w celu zredukowania bardzo dużej liczby zmiennych (około 200-400) i zachowywania są tylko te, które wnoszą przynajmniej pewien wkład do modelu, a wszystkie inne są wykluczane. RFE stosuje system rankingowy. Cechom w zbiorze danych przypisano rangi. Rangi te są następnie wykorzystywane do rekurencyjnego eliminowania cech w oparciu o kolinearność między nimi i znaczenie tych cech w modelu. Oprócz rankingu cech, RFE może pokazać, czy te cechy są ważne, czy nawet nie dla danej liczby cech (ponieważ jest bardzo prawdopodobne, że wybrana liczba cech może nie być optymalna, a optymalna liczba cech może być albo większa lub mniej niż wybrana liczba).

Diagram ważności funkcji

Mówiąc o interpretowalności algorytmów uczenia maszynowego, zwykle mówimy o regresjach liniowych (które pozwalają analizować znaczenie cech za pomocą wartości p) i drzewach decyzyjnych (dosłownie pokazujących znaczenie cech w postaci drzewa, a na końcu jednocześnie ich hierarchia). Z drugiej strony algorytmy takie jak Random Forest, LightGBM i XG Boost często wykorzystują diagram ważności cech, czyli wykreślany jest diagram zmiennych i „liczby ich ważności”. Jest to szczególnie przydatne, gdy trzeba przedstawić ustrukturyzowane uzasadnienie ważności atrybutów pod kątem ich wpływu na działalność biznesową.

Regularyzacja

Regularyzację przeprowadza się w celu kontrolowania równowagi między odchyleniem a wariancją. Odchylenie pokazuje, w jakim stopniu model został nadmiernie dopasowany do zbioru danych uczących. Odchylenie pokazuje, jak różne były przewidywania między zbiorami danych szkoleniowych i testowych. W idealnym przypadku zarówno odchylenie, jak i wariancja powinny być małe. Tutaj na ratunek przychodzi regularyzacja! Istnieją dwie główne techniki:

Regularyzacja L1 - Lasso: Lasso nakłada kary na wagi modelu, zmieniając ich znaczenie dla modelu, a nawet może je zresetować do zera (tj. usunąć te zmienne z ostatecznego modelu). Zazwyczaj Lasso jest używane, gdy zbiór danych zawiera dużą liczbę zmiennych i chcesz wykluczyć niektóre z nich, aby lepiej zrozumieć, jak ważne cechy wpływają na model (to znaczy te cechy, które zostały wybrane przez Lasso i którym przypisano wagę).

Regularyzacja L2 – Metoda Ridge’a: Zadaniem Ridge’a jest przechowywanie wszystkich zmiennych i jednoczesne przypisywanie im znaczenia w oparciu o ich wkład w działanie modelu. Ridge będzie dobrym wyborem, jeśli zbiór danych zawiera niewielką liczbę zmiennych i wszystkie są niezbędne do interpretacji ustaleń i uzyskanych wyników.

Ponieważ Ridge przechowuje wszystkie zmienne, a Lasso lepiej radzi sobie z ustalaniem ich ważności, opracowano algorytm łączący najlepsze cechy obu regularyzacji, znany jako Elastic-Net.

Istnieje wiele innych sposobów wybierania funkcji do uczenia maszynowego, ale główna idea jest zawsze taka sama: wykazanie ważności zmiennych, a następnie wyeliminowanie niektórych z nich w oparciu o wynikową ważność. Ważność to termin bardzo subiektywny, ponieważ nie jest to tylko jedno, ale cały zestaw wskaźników i wykresów, które można wykorzystać do znalezienia kluczowych atrybutów.

Dziękuję za przeczytanie! Miłej nauki!

Źródło: www.habr.com

Dodaj komentarz