Wielokrotnie analizowałem zestaw danych, na którym tak naprawdę nie mogłem dokonać żadnej klasyfikacji. Aby sprawdzić, czy mogę uzyskać klasyfikator, zwykle wykonałem następujące czynności:
- Wygeneruj wykresy pudełkowe etykiety na podstawie wartości liczbowych.
- Zmniejsz wymiarowość do 2 lub 3, aby zobaczyć, czy klasy można rozdzielić, czasami także próbowałem LDA.
- Staraj się dopasować SVM i losowe lasy i przyjrzyj się istotności funkcji, aby zobaczyć, czy mają one sens, czy nie.
- Spróbuj zmienić równowagę klas i technik, takich jak niepełne pobieranie próbek i nadmierne pobieranie próbek, aby sprawdzić, czy brak równowagi klas może być problemem.
Istnieje wiele innych podejść, o których mogę myśleć, ale nie próbowałem. Czasami wiem, że te funkcje nie są dobre i wcale nie są związane z etykietą, którą próbujemy przewidzieć. Następnie używam intuicji biznesowej, aby zakończyć ćwiczenie, stwierdzając, że potrzebujemy lepszych funkcji lub zupełnie innych etykiet.
Moje pytanie brzmi: w jaki sposób specjalista ds. Danych informuje, że klasyfikacji nie można przeprowadzić za pomocą tych funkcji. Czy istnieje jakiś statystyczny sposób, aby to zgłosić lub najpierw dopasować dane do różnych algorytmów, a sprawdzenie metryki walidacji jest najlepszą opcją?
Odpowiedzi:
To zależy od twoich danych. Istnieje coś takiego jak błąd poziomu ludzkiego. Załóżmy, że zadania takie jak czytanie książek drukowanych, ludzie nie mają trudności z czytaniem i może się nie zdarzyć, że popełni błąd, chyba że z powodu złej jakości druku. W przypadkach takich jak czytanie odręcznych manuskryptów może się zdarzyć, że nie zrozumie się wszystkich słów, jeśli czcionka pisarza jest dziwna dla czytelnika. W pierwszej sytuacji błąd poziomu ludzkiego jest zbyt niski, a algorytmy uczenia mogą mieć taką samą wydajność, ale drugi przykład ilustruje fakt, że w niektórych sytuacjach błąd poziomu ludzkiego jest tak wysoki i zwykle (jeśli używasz tego samego jako ludzie) Twój algorytm uczenia będzie miał tak duży współczynnik błędów.
W uczeniu statystycznym istnieje coś
Bayes Error
, co nazywa się , ilekroć rozkład klas zachodzi na siebie, stosunek błędów jest duży. bez zmiany funkcji błąd Bayesa obecnych dystrybucji jest najlepszą wydajnością i nie można go w ogóle zmniejszyć.Sugeruję również przeczytanie tutaj . Problemy z dużą liczbą błędów Bayesa z przypisanymi funkcjami są uważane za niemożliwe do sklasyfikowania w obrębie tych funkcji. Jako kolejny przykład możesz przypuszczać, że chcesz sklasyfikować samochody z włączonymi światłami. Jeśli spróbujesz to zrobić rano, sam możesz mieć wiele błędów, a jeśli używasz tych samych obrazów do szkolenia algorytmu uczenia się, może to również mieć.
Radzę również, aby nie zmieniać rozkładu zajęć. W takich przypadkach wynik klasyfikatora w pobliżu granicy byłby całkowicie losowy. Dystrybucja danych do szkolenia algorytmu uczenia maszynowego nie powinna być zmieniana i powinna być taka, jak jest w rzeczywistym stanie.
źródło
Weź przykładowy element z jednej klasy i przykładowy element z drugiej klasy. Czy możliwe jest, aby te dwa elementy miały dokładnie ten sam wektor cech? Jeśli to może kiedykolwiek się wtedy dwie klasy nie są całkowicie się rozdzielić przy użyciu aktualnych wektorów cech (ponieważ decyzja klasyfikacja opiera się całkowicie w wektorze cech dla danego elementu).
Z drugiej strony, jeśli * każdy element w jednej klasie ma odpowiadający element w drugiej klasie, tak że dwa elementy mają te same wektory cech, wówczas dwie klasy są nierozróżnialne przy użyciu bieżących wektorów cech.
Ponadto, jeśli warunek ten dotyczy tylko niektórych elementów, a nie innych, to jesteś gdzieś pośrodku i możesz użyć tego jako podstawy do zmierzenia, jak dobrze możesz mieć nadzieję, że klasyfikator wykona przy użyciu twojego obecnego zestawu funkcji.
Wszystkie te oceny mogą służyć do argumentowania w różnym stopniu, że potrzebujesz wyodrębnić więcej funkcji.
źródło