Uczę się klasyfikacji SVM i napotykam problem. Nie jestem pewien, czy ten dylemat ma na to terminologię.
Załóżmy, że chcielibyśmy sklasyfikować pacjenta według SVM na podstawie próbek zdrowych osób (obu płci) i osób z rakiem wątroby (obu płci). Jeśli oznaczymy osoby zdrowe jako próbki klasy 1, a osoby z rakiem jako klasy 2, możemy wyszkolić binarną maszynę SVM i uzyskać klasyfikator 1, aby przewidzieć każdego nowego pacjenta. Teraz wyobraź sobie inny scenariusz. Załóżmy, że najpierw dzielimy wszystkie próbki według płci przed klasyfikacją SVM. Dla każdej płci nadal przypisujemy zdrowych pacjentów do pacjentów z rakiem do 2 klas i trenujemy binarną maszynę SVM, aby uzyskać klasyfikator 2 i klasyfikator 3 odpowiednio dla próbek kobiet i mężczyzn. Pytanie brzmi, czy jest nowa pacjentka, którego klasyfikatora, 1 lub 2, należy użyć, aby uzyskać dokładniejsze prognozy? Oto dylemat moich argumentów
(1) Gdy liczba próbek jest duża, prognoza powinna być dokładniejsza. W oparciu o ten argument klasyfikator 1 wydaje się dobrym wyborem.
(2) Jeśli jednak najpierw podzielimy próbki na grupy żeńskie i męskie, klasyfikator 2 wydaje się lepszym wyborem, ponieważ nowy pacjent (nieznana próbka testowa) jest kobietą.
Czy tego rodzaju dylemat ma terminologię, czy też ktoś zna jakieś dodatkowe informacje lub jak rozwiązać taki problem? Nie jestem nawet pewien, czy jest to uzasadnione pytanie i z góry przepraszam za naiwne pytanie. Dzięki
źródło
Odpowiedzi:
Powinieneś spojrzeć na wybór funkcji i algorytmy automatyzujące ten proces. W porządku, jeśli dopiero zaczynasz pracę z ML i nie rozumiesz całego procesu wyboru funkcji, po prostu uzyskaj odpowiednią intuicję, a następnie możesz za pomocą biblioteki zautomatyzować ten proces.
Kluczową ideą posiadania algorytmu uczenia się jest to, że może on znaleźć wzorce ... najwięcej, co możesz zrobić, to pomóc mu , dostarczając dużo (nie redundantnych) danych i wykonując dobry krok przetwarzania wstępnego, który zwykle obejmuje różne rzeczy jak wybór funkcji i normalizacja .
Mówiąc przyjaźnie, przy wdrażaniu algorytmów uczenia się nie powinieneś próbować modyfikować swojego zestawu danych, po prostu „patrząc” na niego, chyba że masz konkretne mierniki, które świadczą o tym, że wymagają modyfikacji. Wielokrotnie zdarza się, że uczenie się Algorytm kładł duży nacisk na cechy, które nie wydawały się nawet zdalnie „powiązane” z procesem klasyfikacji. Zawsze staraj się wykonać krok wyboru funkcji przed wypróbowaniem jakichkolwiek modyfikacji danych.
źródło
jednym ogólnym nagłówkiem tego rodzaju etapu procesu uczenia maszynowego jest wstępne przetwarzanie danych, które według Wikipedii obejmuje „czyszczenie, normalizację, transformację, wyodrębnianie i selekcję funkcji itp.”.
innym aspektem uczenia maszynowego jest „tworzenie modelu”. wiąże się to z decyzjami np. o tym, ile klas wykryje, jaki będzie „rozmiar” lub „wymiary” struktury ML (np. „ile jąder będzie zawierać SVM” itp., mniej więcej analogicznie do wyboru liczby neuronów w NN Model). niestety niektóre referencje mają tendencję do pomijania lub „połysku” na tym etapie. ale pamiętaj, że jest to wspólne ze statystykami, a niektóre książki ze statystykami będą miały dobry opis.
w podejściach typu ML konwencjonalne jest, że istnieje silny proces iteracyjny / sprzężenia zwrotnego / ewolucyjny w celu określenia zarówno skutecznego przetwarzania wstępnego, jak i modelowania. eksperymentator wypróbowuje różne pomysły w zakresie przetwarzania wstępnego i modelowania i zmierza w kierunku tych, które odniosły większy sukces. ogólna ogólna zasada brzmi: „im lepsze przewidywania, tym bardziej prawidłowe (i przypuszczalnie także realistyczne ) wstępne przetwarzanie i modelowanie”, ale także biorąc pod uwagę ostrożne wykluczanie nadmiernego dopasowania .
źródło