Jakie są implikacje dla szkolenia zespołu drzewiastego z bardzo stronniczymi zestawami danych?

14

Mam bardzo stronniczy zestaw danych binarnych - mam 1000 razy więcej przykładów klasy ujemnej niż pozytywnej. Chciałbym trenować zespół drzew (na przykład Extra Random Trees lub A Random Forest) na tych danych, ale trudno jest utworzyć zestawy danych szkoleniowych, które zawierają wystarczającą liczbę przykładów pozytywnej klasy.

Jakie byłyby konsekwencje zastosowania warstwowego podejścia do próbkowania w celu normalizacji liczby pozytywnych i negatywnych przykładów? Innymi słowy, czy złym pomysłem jest na przykład sztuczne zawyżanie (poprzez ponowne próbkowanie) liczby pozytywnych przykładów klas w zestawie szkoleniowym?

galamina
źródło

Odpowiedzi:

10

Tak, to problematyczne. Jeśli przesłuchasz mniejszość, ryzykujesz nadmiernym dopasowaniem. Jeśli podważasz większość, ryzykujesz utratę aspektów klasy większościowej. Próbkowanie warstwowe, btw, jest równoważne przypisywaniu nierównomiernych kosztów błędnej klasyfikacji.

Alternatywy:

(1) Niezależne próbkowanie kilku podzbiorów z klasy większości i tworzenie wielu klasyfikatorów przez połączenie każdego podzbioru ze wszystkimi danymi klasy mniejszości, jak zasugerowano w odpowiedzi z @Debasis i opisano w tym dokumencie EasyEnsemble ,

(2) SMOTE (Technika nadpróbkowania mniejszości syntetycznych) lub SMOTEBoost (łączenie SMOTE z podbiciem) w celu stworzenia syntetycznych instancji klasy mniejszościowej poprzez tworzenie najbliższych sąsiadów w przestrzeni obiektów. SMOTE jest zaimplementowany w R w pakiecie DMwR .

MattBagg
źródło
11

Poleciłbym szkolenie na temat bardziej zrównoważonych podzbiorów danych. Trenowanie losowego lasu na zestawach losowo wybranych pozytywnych przykładów z podobną liczbą próbek ujemnych. W szczególności, jeśli cechy dyskryminujące wykazują dużą wariancję, będzie to dość skuteczne i pozwoli uniknąć nadmiernego dopasowania. Jednak w rozwarstwieniu ważne jest znalezienie równowagi, ponieważ nadmierne dopasowanie może stać się problemem niezależnie od tego. Sugerowałbym, aby zobaczyć, jak model działa z całym zestawem danych, a następnie stopniowo zwiększać stosunek próbek dodatnich do ujemnych zbliżających się do współczynnika parzystego i wybierać taki, który maksymalizuje wskaźnik wydajności dla niektórych reprezentatywnych danych wstrzymujących.

Ten dokument wydaje się dość istotny Http://statistics.berkeley.edu/sites/default/files/tech-reports/666.pdf mówi o tym, weighted Random Forestco bardziej karze błędne zaklasyfikowanie klasy mniejszości.

indico
źródło
4

Szybkim, łatwym i często skutecznym sposobem podejścia do tej nierównowagi byłoby losowe podpróbowanie większej klasy (która w twoim przypadku jest klasą ujemną), przeprowadzenie klasyfikacji N liczbę razy z członkami z dwóch klas (jedna pełna i druga podpróbkowane) i zgłaszają średnie wartości metryk, przy czym średnia jest obliczana na podstawie N (powiedzmy 1000) iteracji.

Bardziej metodycznym podejściem byłoby wykonanie algorytmu Mapping Convergence (MC), który obejmuje identyfikację podzbioru silnych próbek ujemnych za pomocą klasyfikatora jednej klasy, takiego jak OSVM lub SVDD, a następnie iteracyjne wykonanie klasyfikacji binarnej na zestawie silnych próbek ujemnych i dodatnich. Więcej szczegółów na temat algorytmu MC można znaleźć w tym artykule .

Debasis
źródło
0

Jak wspomniano powyżej, najlepszym sposobem jest wielokrotne próbkowanie większościowej klasy razy N (próbkowanie bez zamiany) i za każdym razem wielkość klasy ujemnej powinna być równa wielkości klasy dodatniej. Teraz można przeszkolić N różnych klasyfikatorów, a do jego oceny można wykorzystać średnią.

Innym sposobem jest użycie techniki ładowania początkowego. Może to spowodować przeregulowanie, ale warto spróbować, a następnie, jeśli to konieczne, można uregulować model, aby uniknąć przeregulowania.

Baran
źródło