Wybór cech i relacja dokładności klasyfikacji

10

Jedną z metodologii wyboru podzbioru dostępnych funkcji klasyfikatora jest uszeregowanie ich według kryterium (takiego jak przyrost informacji), a następnie obliczenie dokładności przy użyciu klasyfikatora i podzbioru ocenianych elementów.

Na przykład, jeśli twoje funkcje są A, B, C, D, E, a jeśli są uszeregowane w następujący sposób D,B,C,E,A, to obliczasz dokładność za pomocą D, a D, Bnastępnie D, B, C, a następnie D, B, C, E... dopóki twoja dokładność nie zacznie się zmniejszać. Gdy zacznie się zmniejszać, przestajesz dodawać funkcje.

Przykład 1

W przykładzie 1 (powyżej) wybierasz funkcje F, C, D, Ai upuszczasz inne funkcje, ponieważ zmniejszają one twoją dokładność.

Metodologia ta zakłada, że ​​dodanie większej liczby funkcji do modelu zwiększa dokładność klasyfikatora do pewnego momentu, po którym dodanie dodatkowych funkcji zmniejsza dokładność (jak pokazano w przykładzie 1)

Moja sytuacja jest jednak inna. Zastosowałem metodologię opisaną powyżej i stwierdziłem, że dodanie większej liczby funkcji zmniejszało dokładność do momentu, w którym wzrasta.

Przykład 2

W takim scenariuszu, jak wybierasz swoje funkcje? Czy tylko zbierasz Fi upuszczasz resztę? Czy masz pojęcie, dlaczego dokładność ma się zmniejszać, a następnie zwiększać?

Paulina
źródło

Odpowiedzi:

4

Wybór funkcji obejmuje kilka podejść, podobnie jak metody uczenia maszynowego. Ideą jest zachowanie najbardziej odpowiedniej, ale nie zbędnej funkcji dla modelu predykcyjnego, który może zapewnić optymalną dokładność.

W twoim przypadku nie widzę, której metody używasz do wyboru funkcji, ale zakładam, że nie bierzesz pod uwagę wielowymiarowej natury zależności funkcji. Załóżmy, że masz N cech, prawdopodobnie przyczyną tego, że dokładność modelu spada po n najważniejszych cechach, ale poprawia się, dodając n + k (gdzie n <k <N, gdy cechy są malejące w oparciu o przyrost informacji) zależność (większa trafność i mniejsza redundancja) najważniejszych funkcji n i k. Wybór funkcji jednowymiarowych niekoniecznie uzyskuje optymalną dokładność modelu, gdy cechy są wzajemnie zależne i nie wykluczają się wzajemnie. Z filozoficznego punktu widzenia zestaw optymalnych cech jest analogiczny do cytatu Arystotelesa: „Całość jest większa niż suma jej części”!

Dla optymalnego wyboru funkcji często używam pakietu Careta w Rjęzyku, w którym można dokonać wyboru funkcji za pomocą rekurencyjnej eliminacji funkcji (RFE) wśród kilku innych podejść. Istnieje również pakiet o nazwie mRMRe, aby dokonać wyboru funkcji na podstawie maksymalnej trafności i minimalnej redundancji.

Pozdrawiam,
Samir

Samir
źródło
Przygotowywałem odpowiedź z telefonu komórkowego i nie zdawałem sobie sprawy, że dwie poprzednie odpowiedzi były do ​​siebie podobne! Mój błąd polegający na tym, że nie komentowałem tych osób i odpowiadałem osobno.
Samir
Twój punkt na temat zbędnych funkcji jest natychmiastowy. Sprawdziłem i mogę potwierdzić, że 3 funkcje z dużym przyrostem informacji są rzeczywiście nadmiarowe (wysoce skorelowane ze sobą). Wyjaśnia to, dlaczego dokładność spada przy jednoczesnym korzystaniu z tych funkcji: po pierwszej funkcji dodatkowa funkcja nie dodaje nowego „wymiaru danych” do mojego zestawu danych, a zamiast tego powoduje hałas, ponieważ „powtarzają” to, co klasyfikatorzy już wiedzą, dzięki pierwsza funkcja. Inne funkcje, z mniejszym zyskiem informacji, dodają nowy wymiar danych.
Pauline
1

O konkretnym pytaniu

Nie należy oczekiwać określonego zachowania (zwiększenia, a następnie zmniejszenia dokładności) podczas wybierania podzbioru funkcji, ponieważ będzie to całkowicie zależało od problemu (i każdego modelu)

Obliczając zmienne znaczenie funkcji, bierze się pod uwagę wkład wszystkich funkcji jednocześnie. Gdy wybierzesz podzbiór funkcji i zbudujesz nowy model, otrzymasz inną reprezentację lub modelowanie problemu (który nie uwzględnia innych funkcji - informacyjnych lub nie -).

Teraz chcesz wybrać najlepszą liczbę funkcji. Będzie to również zależeć od twojego problemu i cech lub warunków, które musisz spełnić. Jeśli faktycznie potrzebujesz mniejszej liczby funkcji przy optymalizacji dokładności prognozowania, możesz wybrać najniższą liczbę funkcji, które osiągają najniższy błąd ... a jeśli masz różne przypadki z bardzo podobnymi błędami, to wybierz próg, przestrzegaj najlepsze przypadki, w których różnica błędów między parami jest niższa niż próg, i wybierz jedną (na przykład tę o niższej liczbie funkcji - ponieważ błędy są nieznacznie takie same -).

Rozważ eliminację funkcji rekurencyjnych

Metoda, której używasz, może nie być najbardziej stabilnym podejściem. Powinieneś rozważyć wypróbowanie czegoś takiego jak rekurencyjna eliminacja funkcji (RFE), metoda otoki, w której budujesz klasyfikator, klasyfikujesz wszystkie cechy, usuwasz najgorsze i odbudowujesz model na pozostałych funkcjach. Następnie powtórz metodę ponownie. To będzie bardziej stabilne ... i za każdym razem powinieneś spodziewać się innego rankingu.

Rozbieżność jest również czynnikiem krytycznym

Poza faktycznym błędem (lub dokładnością), jaki daje ci model z każdym podzbiorem, powinieneś rozważyć zbudowanie każdego modelu za pomocą procedury weryfikacji krzyżowej i wziąć pod uwagę zarówno średni błąd fałdowania, jak i standardowe odchylenie tych błędów. Jeśli odchylenie standardowe jest wysokie, wybrany podzbiór funkcji nie jest stabilny i będzie się często zmieniał podczas testowania z niewidzialnymi danymi. Jest to ważne, aby ocenić oczekiwane możliwości uogólnienia modelu i może być pomocne przy podejmowaniu decyzji między modelami (zbudowanymi z różnych podzbiorów).

Javierfdr
źródło
1

Musisz usunąć zarówno zbędne, jak i niepotrzebne funkcje z zestawu danych. Można zauważyć, że w zbiorze danych znajdują się zbędne i zbędne funkcje.

Polecam przyjrzeć się algorytmowi wyboru minimalnej nadmiarowości przy maksymalnej istotności (MRMR). Jest to bardzo popularny i mocny filtr przed treningiem modelu.

„Jednak moja sytuacja jest inna. Zastosowałem metodologię opisaną powyżej i odkryłem, że dodanie większej liczby funkcji zmniejszyło dokładność aż do momentu, w którym wzrasta”

Jest to również możliwe, ale doprowadzi to do bardziej złożonego modelu.

Pospiesz się
źródło
1

Zasadniczo istnieją trzy klasy algorytmów wyboru funkcji.

  • Filtruj metody, które analizują wewnętrzne właściwości danych i przypisują wynik do każdej funkcji, bez udziału żadnego modelu. Niektóre przykłady to zmiana krotnie, test t-Studenta.

  • Metody owijania, które różne podzbiory cech są wybierane za pomocą określonych algorytmów. Następnie dopasowujemy się do modelu klasyfikacji lub regresji, aby ocenić każdy wybór i wybrać ten o najlepszej wartości sprawności. Niektóre przykłady to Algorytm genetyczny do wyboru funkcji, optymalizacja Monte Carlo do wyboru funkcji, stopniowa selekcja do przodu / do tyłu.

  • Wbudowane metody, które pozwalają samemu modelowi wybrać funkcje mające najlepszy wpływ na sprawność modelu. Typowymi są LASSO, regresja kalenicowa.

Oto świetny artykuł szczegółowo opisujący wprowadzenie do wyboru funkcji .

Jason Feng
źródło
Metoda przedstawiona w poście jest przykładem filtra. Filtr uszeregował wszystkie funkcje, a tematem jest wybranie podzestawu tych funkcji.
Pauline