„.. podejście do problemu klasyfikacji przez regresję”. „ przez regresję” Zakładam, że masz na myśli regresję liniową i porównuję to podejście do podejścia „klasyfikacji” dopasowania modelu regresji logistycznej.
Zanim to zrobimy, ważne jest, aby wyjaśnić różnicę między modelami regresji i klasyfikacji. Modele regresji przewidują zmienną ciągłą, taką jak ilość opadów deszczu lub natężenie światła słonecznego. Mogą również przewidywać prawdopodobieństwa, takie jak prawdopodobieństwo, że obraz zawiera kota. Model regresji przewidujący prawdopodobieństwo może być stosowany jako część klasyfikatora poprzez narzucenie reguły decyzyjnej - na przykład jeśli prawdopodobieństwo wynosi 50% lub więcej, zdecyduj, że jest to kot.
Regresja logistyczna przewiduje prawdopodobieństwa i dlatego jest algorytmem regresji. Jest to jednak powszechnie opisywane jako metoda klasyfikacji w literaturze dotyczącej uczenia maszynowego, ponieważ może być (i jest często) stosowane do tworzenia klasyfikatorów. Istnieją również „prawdziwe” algorytmy klasyfikacji, takie jak SVM, które tylko przewidują wynik i nie zapewniają prawdopodobieństwa. Nie będziemy tutaj omawiać tego rodzaju algorytmu.
Regresja liniowa a regresja logistyczna problemów klasyfikacyjnych
Jak wyjaśnia Andrew Ng , przy pomocy regresji liniowej dopasowujesz wielomian do danych - powiedzmy, podobnie jak w poniższym przykładzie dopasowujemy linię prostą przez zestaw próbek {rozmiar guza, typ guza} :
Powyżej nowotwory złośliwe otrzymują a niezłośliwe - , a zielona linia to nasza hipoteza . Aby dokonać prognoz, możemy powiedzieć, że dla dowolnego rozmiaru guza , jeśli wzrośnie powyżej , przewidujemy nowotwór złośliwy, w przeciwnym razie przewidujemy łagodny.10h(x)xh(x)0.5
Wygląda na to, że w ten sposób możemy poprawnie przewidzieć każdą próbkę zestawu treningowego, ale teraz zmieńmy trochę zadanie.
Intuicyjnie jasne jest, że wszystkie guzy większe niż określony próg są złośliwe. Dodajmy więc kolejną próbkę z dużym rozmiarem guza i ponownie uruchommy regresję liniową:
Teraz nasz już nie działa. Aby nadal dokonywać poprawnych prognoz, musimy zmienić go na lub coś takiego - ale nie tak powinien działać algorytm.h(x)>0.5→malignanth(x)>0.2
Nie możemy zmienić hipotezy za każdym razem, gdy pojawia się nowa próbka. Zamiast tego powinniśmy nauczyć się tego na podstawie danych zestawu treningowego, a następnie (korzystając z poznanej hipotezy) dokonać prawidłowych prognoz dla danych, których wcześniej nie widzieliśmy.
Mam nadzieję, że to wyjaśnia, dlaczego regresja liniowa nie jest najlepszym rozwiązaniem dla problemów z klasyfikacją! Możesz także obejrzeć VI. Regresja logistyczna. Film klasyfikacyjny na ml-class.org, który wyjaśnia ten pomysł bardziej szczegółowo.
EDYTOWAĆ
probabilityislogic zapytał, co zrobiłby dobry klasyfikator. W tym konkretnym przykładzie prawdopodobnie użyłbyś regresji logistycznej, która mogłaby nauczyć się takiej hipotezy (właśnie to wymyślam):
Zauważ, że zarówno regresja liniowa, jak i regresja logistyczna dają linię prostą (lub wielomian wyższego rzędu), ale te linie mają inne znaczenie:
- h(x) dla interpolacji lub ekstrapolacji regresji liniowej dane wyjściowe i przewiduje wartość której nie widzieliśmy. To po prostu jak podłączyć nowy i uzyskanie numeru surowe i bardziej nadaje się do zadań, takich jak przewidywanie, powiedzmy cena samochodu na podstawie {wielkości samochodu, wiek samochodu} itd.xx
- h(x) dla regresji logistycznej informuje o prawdopodobieństwie, że należy do klasy „dodatniej”. Dlatego nazywany jest algorytmem regresji - szacuje wielkość ciągłą, prawdopodobieństwo. Jeśli jednak ustawisz próg prawdopodobieństwa, taki jak , otrzymasz klasyfikator, aw wielu przypadkach dzieje się tak z danymi wyjściowymi z modelu regresji logistycznej. Jest to równoważne z umieszczeniem linii na wykresie: wszystkie punkty znajdujące się powyżej linii klasyfikatora należą do jednej klasy, a punkty poniżej należą do drugiej klasy.xh(x)>0.5
Podsumowując, w scenariuszu klasyfikacji stosujemy zupełnie inne rozumowanie i zupełnie inny algorytm niż w scenariuszu regresji.