zastosowany przykład: rejestracja partii wyborców
spójrzmy na nieco bardziej realistyczny przykład. Załóżmy, że mamy zestaw danych szkoleniowych wyborców, każdy oznaczony trzema właściwościami: rejestracją partii wyborców, majątkiem wyborców i ilościową miarą religijności wyborców. Te symulowane dane są wykreślone poniżej 2. Oś x pokazuje wzrost bogactwa, oś y zwiększa religijność, a czerwone koła reprezentują republikańskich wyborców, podczas gdy niebieskie koła reprezentują demokratyczne głosy. Chcemy przewidywać rejestrację wyborców, używając bogactwa i religijności jako prognostyków.
algorytm K-najbliższy sąsiad
istnieje wiele sposobów, aby przejść do tego zadania modelowania. Dla danych binarnych, takich jak nasze, regresje logistyczne są często używane. Jednakże, jeśli uważamy, że istnieją nieliniowości w relacjach między zmiennymi, bardziej elastyczne, adaptacyjne podejście może być pożądane. Jedną z bardzo elastycznych technik uczenia maszynowego jest metoda zwana K-najbliżsi sąsiedzi.
W K-najblizszych Sasiadach rejestracje partyjne danego wyborcy znajda sie poprzez umieszczenie go w samolocie z innymi wyborcami. Najbliższy K innych wyborców do niego zostanie znaleziony za pomocą geograficznej miary odległości, a średnia ich rejestracji zostanie wykorzystana do przewidzenia jego rejestracji. A jeśli najbliższy wyborca jest Demokratą, to i on będzie Demokratą.
poniższy rysunek pokazuje najbliższe dzielnice dla każdego z pierwotnych wyborców. Jeśli k zostało określone jako 1, rejestracja partii nowego wyborcy byłaby określana na podstawie tego, czy należą one do regionu czerwonego czy niebieskiego
jeśli wybierzemy nowych wyborców, możemy wykorzystać nasze istniejące dane szkoleniowe do przewidzenia ich rejestracji. Poniższy rysunek przedstawia bogactwo i religijność tych nowych wyborców i wykorzystuje algorytm najbliższej okolicy do przewidywania ich rejestracji. Możesz najechać kursorem myszy na punkt, aby zobaczyć okolicę, która została użyta do stworzenia prognozy punktu.
możemy również wykreślić pełne regiony przewidywania, w których osoby będą klasyfikowane jako Demokraci lub Republikanie. Pokazuje to poniższy rysunek.
kluczową częścią algorytmu K-najbliższe sąsiedztwo jest wybór K. do tej pory używaliśmy wartości 1 dla k. w tym przypadku każdy nowy punkt jest przewidywany przez najbliższego sąsiada w zestawie treningowym. Jednak k jest wartością regulowaną, możemy ustawić ją na dowolną wartość od 1 do liczby punktów danych w zestawie treningowym. Poniżej można dostosować wartość K Używane do generowania tych wykresów. Po dostosowaniu, zarówno poniższe, jak i poprzednie wykresy zostaną zaktualizowane, aby pokazać, jak zmieniają się prognozy, gdy zmienia się K.
K-najbliżsi sąsiedzi: 1
Generuj nowe dane treningowe Jaka jest najlepsza wartość K? W tym symulowanym przypadku mamy szczęście, że znamy rzeczywisty model, który został użyty do sklasyfikowania pierwotnych wyborców jako Republikanów lub Demokratów. Zastosowano prosty podział, a linię podziału wykreślono na powyższym rysunku. Wyborcy na północ od linii byli klasyfikowani jako Republikanie, wyborcy na południe od linii Demokraci. Następnie dodano szum stochastyczny, aby zmienić losowy ułamek rejestracji wyborców. Możesz również wygenerować nowe dane treningowe, aby zobaczyć, jak wyniki są wrażliwe na oryginalne dane treningowe.
spróbuj eksperymentować z wartością k, aby znaleźć najlepszy algorytm przewidywania, który dobrze pasuje do czarnej linii granicznej.
Bias i wariancja
zwiększenie k powoduje uśrednianie większej liczby głosujących w każdej prognozie. Powoduje to płynniejsze krzywe predykcji. Przy k od 1, separacja między demokratami i republikanami jest bardzo poszarpana. Ponadto istnieją” Wyspy ” Demokratów na terytorium ogólnie republikańskim i odwrotnie. Wraz ze wzrostem k, powiedzmy, do 20, Przejście staje się płynniejsze, A Wyspy znikają, a podział między demokratami i republikanami robi dobrą robotę podążając za linią graniczną. Gdy k staje się bardzo duże, powiedzmy, 80, rozróżnienie między tymi dwoma kategoriami staje się bardziej niewyraźne, a linia wyznaczania granic nie jest dobrze dopasowana.
przy małych k ’ sach postrzępienie i wyspy są oznakami wariancji. Lokalizacje wysp i dokładne krzywe granic zmienią się radykalnie w miarę gromadzenia nowych danych. Z drugiej strony, przy dużych k przejście jest bardzo płynne, więc nie ma dużej wariancji, ale brak dopasowania do linii granicznej jest oznaką wysokiego odchylenia.
obserwujemy tutaj, że zwiększenie k zmniejszy wariancję i zwiększy odchylenie. Podczas zmniejszania k zwiększy wariancję i zmniejszy odchylenie. Przyjrzyj się, jak zmienne są przewidywania dla różnych zestawów danych przy niskim K. wraz ze wzrostem k zmienność ta jest zmniejszona. Ale jeśli zwiększymy za dużo k, to nie podążamy już za prawdziwą linią graniczną i obserwujemy wysokie odchylenie. Taka jest natura kompromisu wariancji.
błąd analityczny i wariancja
w przypadku K-najbliższych sąsiadów możemy uzyskać jednoznaczne wyrażenie analityczne dla błędu całkowitego jako sumowanie błędu i wariancji:
$$ Err(x) = \left(f(x)-\frac{1}{k}\sum\limits_{i=1}^k f(x_i)\right)^2+\frac{\sigma_\epsilon^2}{k} + \sigma_\epsilon^2 $$
$$ Err(x) = \mathrm{Bias}^2 + \mathrm{wariancja} + \mathrm{irreducible\ Error} $$
termin wariancji jest funkcją błędu nieredukowalnego i k z błędem wariancji stale spadającym wraz ze wzrostem K. Termin stronniczość jest funkcją tego, jak szorstka jest przestrzeń modelowa (np. jak szybko w rzeczywistości zmieniają się wartości, gdy poruszamy się po przestrzeni różnych bogactw i religijności). Im bardziej szorstka przestrzeń, tym szybciej zwiększy się termin błędu, ponieważ dalsi sąsiedzi zostaną sprowadzeni do szacunków.