dlaczego musimy radzić sobie z nierównowagą danych?


12

Muszę wiedzieć, dlaczego musimy radzić sobie z nierównowagą danych. Wiem, jak sobie z tym poradzić i różne metody rozwiązania tego problemu, polegające na próbkowaniu w górę lub w dół lub w programie Smote.

Na przykład, jeśli mam rzadką chorobę 1 procent na 100, i powiedzmy, że zdecydowałem się na zbalansowany zestaw danych dla mojego zestawu treningowego, czyli: próbka 50/50 Nie sprawi, że maszyna pomyśli, że 50% pacjentów będzie miało choroba? nawet jeśli stosunek wynosi 1 na 100. Tak

  1. Dlaczego musimy radzić sobie z nierównowagą danych?
  2. Jaki jest zalecany współczynnik ustawienia balansu?

Podoba mi się to pytanie. Zrozumienie, dlaczego jest bardzo ważne.
DaL

Zobacz powiązane pytanie w krzyżowo sprawdzonych statystykach.stackexchange.com/questions/312780/...
DaL

Odpowiedzi:


8

Musisz poradzić sobie z niezrównoważonym zestawem danych, gdy wartość znalezienia klasy mniejszości jest znacznie wyższa niż znalezienia większości.

Powiedzmy, że 1% populacji ma tę rzadką chorobę. Załóżmy, że przypisujesz ten sam koszt do powiedzenia, że ​​zdrowy człowiek jest chory lub do tego, że chory jest zdrowy. Podaj model, który mówi, że wszyscy są zdrowi, uzyskaj 99% dokładności i wróć do domu wcześnie. Problem z takim modelem polega na tym, że chociaż ma wysoką dokładność, prawdopodobnie nie będzie tego, czego szukasz. Przez większość czasu chcesz znaleźć osoby z chorobą (przykładając dużą wagę do fałszywych negatywów) o wiele bardziej niż boisz się wysłać zdrową osobę na niepotrzebny test (niska waga do fałszywie dodatnich). W prawdziwym świecie problem zdrowotny stosunek wagi może łatwo wynosić od 1 do 1000.

Brak równowagi w rozkładzie uniemożliwia większości algorytmów znalezienie właściwego rozwiązania.

Masz rację, że równoważenie dystrybucji nie jest optymalnym rozwiązaniem. Rzeczywiście, algorytm wyuczony na rozkładzie zrównoważonym nie jest dopasowany do rozkładu naturalnego, na którym będzie oceniany. Moją ulubioną metodą jest dostosowanie go z powrotem, jak widać tutaj . Dyskusja znajduje się tutaj .

Po prostu ustawienie stosunku do innego problemu nie będzie działać, ponieważ będziesz miał ten sam problem.

Smote działa w inny sposób, który nie działał tak dobrze, kiedy go wypróbowałem, ale może pasować do Twojego problemu.


Tak więc, jak rozumiem, lepiej jest zbilansować dane, ponieważ większość algorytmów działa dobrze na zbalansowanych danych, nawet jeśli nie pasują do naturalnego rozkładu?
sara,

Czy możesz bardziej szczegółowo rozwinąć to zdanie „gdy twój koszt błędu nie pasuje do rozkładu próbek”. Nie dostałem tego bardzo dobrze
sara

1
Odpowiedź na pierwszy komentarz: Niezrównoważony zestaw danych doprowadzi algorytmy do uzyskania dobrych wyników, zwracając większość. Będzie to problem, jeśli bardziej interesuje cię mniejszość. Równoważenie jest więc sposobem zmuszenia algorytmu do nadania większej wagi mniejszości. Jednak po zbalansowaniu rozkład pociągów i rozkład testowy są różne, dlatego musisz ponownie dostosować swój model do rozkładu testowego (jak w metodzie, którą zaproponowałem).
DaL

Odpowiadając na drugi komentarz: Rzeczywiście, ten punkt był nieco niejasny. Zredagowałem odpowiedź. Czy to już jasne?
DaL

tak, ponieważ rozumiem, że trening i rozkład testów powinny być takie same, więc czy nie będzie rozwiązaniem, że po zrównoważeniu mojego zestawu treningowego do proporcji 50 50 przejdę i ustawię mój zestaw testowy na 50 50?
sara,

4
  • Krótka odpowiedź:

musisz poradzić sobie z nierównowagą klas, jeśli / ponieważ poprawia to Twój model (w przypadku niewidocznych danych) „Lepsze” to coś, co musisz sam zdefiniować. Może to być dokładność, może to być koszt, może to być prawdziwa stopa dodatnia itp.

  • Długa odpowiedź:

Istnieje subtelny niuans, który należy zrozumieć, gdy mówi się o braku równowagi klasowej. Mianowicie, czy twoje dane są niezrównoważone, ponieważ:

  1. sam rozkład danych jest niezrównoważony

W niektórych przypadkach jedna klasa występuje znacznie częściej niż inna. I jest w porządku. W takim przypadku musisz sprawdzić, czy niektóre błędy są droższe niż inne. Jest to typowy przykład wykrywania śmiertelnych chorób u pacjentów, sprawdzania, czy ktoś jest terrorystą itp. Wraca do krótkiej odpowiedzi. Jeśli niektóre błędy są bardziej kosztowne niż inne, będziesz chciał je „ukarać”, zwiększając ich koszty. Dlatego lepszy model będzie miał niższy koszt. Jeśli wszystkie błędy są tak złe, nie ma prawdziwego powodu, dla którego warto stosować modele wrażliwe na koszty.

Należy również zauważyć, że stosowanie modeli wrażliwych na koszty nie jest specyficzne dla niezrównoważonych zestawów danych. Możesz używać takich modeli, jeśli twoje dane są również idealnie zrównoważone.

  1. nie reprezentuje prawdziwego rozkładu danych

Czasami twoje dane są „niezrównoważone”, ponieważ nie reprezentują prawdziwego rozkładu danych. W takim przypadku musisz zachować ostrożność, ponieważ masz „zbyt wiele” przykładów jednej klasy i „zbyt mało” drugiej, a zatem musisz upewnić się, że Twój model nie jest nadmiernie / słabo na jednej z tych klas.

Różni się to od korzystania z kosztów, ponieważ może nie być tak, że jeden błąd jest gorszy od drugiego. To, co by się stało, byłoby stronnicze i nie byłoby korzystne dla twojego modelu, gdyby niewidzialne dane nie miały takiego samego rozkładu jak dane, na których trenowałeś.

Powiedzmy, że podaję dane treningowe, a Twoim celem jest odgadnięcie, czy coś jest czerwone, czy niebieskie. To, czy pomylisz kolor niebieski z czerwonym, czy czerwony z niebieskim, nie ma większego znaczenia. Twoje dane treningowe zawierają 90% czerwonych wystąpień, podczas gdy w prawdziwym życiu zdarzają się tylko w 10% przypadków. Musisz sobie z tym poradzić, aby ulepszyć swój model.


Bardzo wyczerpująca odpowiedź. Czy możesz wyjaśnić więcej na przykładzie tego, co masz na myśli przez „Jeśli twój model jest lepszy, ponieważ ma niski koszt, radzisz sobie z brakiem równowagi”. Dlaczego powinienem radzić sobie z nierównowagą, jeśli model ma niski koszt?
sara,

Trochę zredagowałem swoją odpowiedź, więc mam nadzieję, że jest jaśniejsza. Miałem na myśli: „jeśli twój model jest uważany za lepszy, gdy ma niski koszt, a radzenie sobie z nierównowagą zmniejsza koszty, zrób to”.
Valentin Calomme
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.