Oczekiwana najlepsza możliwa wydajność zestawu danych

9

Powiedzmy, że mam prosty problem z uczeniem maszynowym, taki jak klasyfikacja. Z pewnymi punktami odniesienia w rozpoznawaniu obrazu lub dźwięku, jako człowiek jestem bardzo dobrym klasyfikatorem. Mam zatem intuicję, jak dobry może być klasyfikator.

Ale przy dużej ilości danych jednym punktem jest to, że nie wiem, jak dobry jest klasyfikator, który trenuję. Są to dane, w których osobiście nie jestem bardzo dobrym klasyfikatorem (powiedzmy, klasyfikuj nastrój osoby na podstawie danych EEG). Naprawdę nie można zrozumieć, jak trudny jest mój problem.

Teraz, jeśli mam problem z uczeniem maszynowym, chciałbym dowiedzieć się, jak dobrze mogę sobie z tym poradzić. Czy istnieją jakieś zasadnicze podejścia do tego? Jak byś to zrobił?

Wizualizować dane? Zacznij od prostych modeli? Zacznij od bardzo skomplikowanych modeli i sprawdź, czy mogę się dopasować? Czego szukasz, jeśli chcesz odpowiedzieć na to pytanie? Kiedy przestajesz próbować?

bayerj
źródło

Odpowiedzi:

6

Nie wiem, czy to się liczy jako odpowiedź ...

Jest to jedyny problem, który utrzymuje cię w nocy. Czy możesz zbudować lepszy model? Phd-komiksy ładnie podsumowuje (nie wiem, czy mogę przesyłać komiksy, więc po prostu je połączyłem)

Z mojego osobistego doświadczenia, zdobytego podczas udziału w konkursach Machine Learning, oto reguła.

Wyobraź sobie, że dostałeś zadanie klasyfikacji. Usiądź, przeprowadź burzę mózgów przez godzinę lub krócej, jak podejdziesz do problemu i sprawdź aktualny stan wiedzy w tej dziedzinie. Zbuduj model oparty na tych badaniach, najlepiej taki, o którym wiadomo, że jest stabilny bez zbytniej modyfikacji parametrów. Wynikowa wydajność wyniesie około 80% maksymalnej osiągalnej wydajności.

Zasada ta opiera się na tak zwanej zasadzie Pareto , która dotyczy również optymalizacji. W przypadku problemu możesz stworzyć rozwiązanie, które działa dość szybko, ale od tego momentu stosunek poprawy do nakładu czasu gwałtownie spada.

Kilka słów końcowych: kiedy czytam artykuły na temat nowych algorytmów klasyfikacji, oczekuję, że autorzy porównają swoją nową rasę z takimi „zoptymalizowanymi pareto” podejściami, tj. Spodziewam się, że spędzą rozsądną ilość czasu, aby sprawić, by stan techniki zadziałał (niektóre wymagają mniej lub bardziej optymalizacji parametrów). Niestety wielu tego nie robi.

steffen
źródło
0

Konwencjonalnym sposobem jest rozważenie ROC i obszaru pod nim (AUC). Uzasadnieniem tego podejścia jest to, że im wyższy jest prawdziwie dodatni wskaźnik dla konkretnego fałszywie dodatniego wskaźnika, tym lepszy jest klasyfikator. Całkowanie wszystkich możliwych fałszywie dodatnich wskaźników daje ogólną miarę.

Emre
źródło
3
O ile rozumiem OP, jego problemem nie jest pomiar wydajności klasyfikatora (co, mam nadzieję, jest to dobry szacunek dla przyszłej oczekiwanej wydajności), ale to, jak można uzyskać WSZYSTKO, tj. Jaka jest maksymalna (nie absolutnie na metr (AUC wynosi 1 przy maksimum lub coś takiego), ale dla danego problemu)
steffen
Tak właśnie miałem na myśli.
bayerj
0

Jeśli istnieje sposób na wizualizację danych, jest to najlepszy możliwy scenariusz, jednak nie wszystkie dane można wizualizować w ten sam sposób, więc może być konieczne znalezienie własnego sposobu na wyświetlenie danych, które mogą pomóc w zrozumieniu danych lepszy.

Jednak zazwyczaj pobieram małą próbkę danych, przekształcam je w ARFF i wypróbowuję inne algorytmy klastrowania od WEKA. Następnie widzę, który algorytm daje mi lepszą macierz dezorientacji. Daje mi podpowiedź, jak dobrze klasy są rozdzielone, i pozwala mi zbadać, dlaczego ten konkretny algorytm radzi sobie lepiej z tymi danymi. Zmieniam też liczbę klastrów (tzn. Nie używam tylko k = 2, używam k = 3, 4 itd.). Daje mi to pojęcie, czy w danych występuje fragmentacja, czy też jedna klasa jest bardziej fragmentaryczna niż druga. Łącząc punkty szkolenia i testowania w celu tworzenia klastrów, można również zmierzyć, które klastry są reprezentowane przez punkty treningu. Niektóre klastry mogą być nadreprezentowane, a niektóre niedostatecznie reprezentowane, oba mogą powodować problemy w nauce klasyfikatora.

Zawsze sprawdzaj dokładność treningu. Jeśli dokładność treningu nie wygląda dobrze, źle sklasyfikowane punkty treningowe również stanowią dużą wskazówkę.

TenaliRaman
źródło