aplikovaný příklad: registrace voličů
podívejme se na trochu realističtější příklad. Předpokládejme, že máme trénovací data set voličů každý tagged s tři vlastnosti: volební strana, registrace, volič bohatství, a kvantitativní měření voličů zbožnost. Tato simulovaná data jsou vynesena níže 2. Osa x ukazuje rostoucí bohatství, osa y rostoucí náboženství a červené kruhy představují republikánské voliče, zatímco modré kruhy představují Demokratické hlasy. Chceme předpovídat registraci voličů pomocí bohatství a náboženství jako prediktorů.
k-nejbližší soused algoritmus
existuje mnoho způsobů, jak jít o této úlohy modelování. Pro binární data, jako je ta naše, se často používají logistické regrese. Pokud si však myslíme, že ve vztazích mezi proměnnými existují nelinearity, může být požadován flexibilnější přístup adaptivní na data. Jednou z velmi flexibilních technik strojového učení je metoda zvaná k-nejbližší sousedé.
v k-nejbližších sousedech bude registrace strany daného voliče nalezena tak, že ho vykreslí v letadle s ostatními voliči. Nejbližší voliči k němu budou nalezeni pomocí geografické míry vzdálenosti a průměr jejich registrací bude použit k předpovědi jeho registrace. Takže pokud nejbližší volič k němu (z hlediska bohatství a náboženství) je demokrat, s / on bude také předpověděl, že je demokrat.
následující obrázek ukazuje nejbližší čtvrti pro každého z původních voličů. Pokud k byla zadána jako 1, nové volební strany registrační bych určí, zda spadají do červené nebo modré oblasti
pokud získáme nové voliče, můžeme využít naše stávající tréninková data k predikci jejich registrace. Následující obrázek vykresluje bohatství a náboženství pro tyto nové voliče a používá algoritmus nejbližšího sousedství k předpovědi jejich registrace. Můžete umístit kurzor myši nad bod a zobrazit okolí, které bylo použito k vytvoření předpovědi bodu.
můžeme také vykreslit úplné predikce regionů, kde budou jednotlivci klasifikováni jako demokraté nebo republikáni. Následující obrázek To ukazuje.
klíčovou součástí k-Nejbližších Sousedů algoritmus je volba k. Až do teď jsme používali hodnotu 1 pro k. V tomto případě, každý nový bod se předpokládá jeho nejbližší soused v tréninku. K je však nastavitelná hodnota, můžeme ji nastavit na cokoli od 1 do počtu datových bodů v tréninkové sadě. Níže můžete upravit hodnotu k použitou pro generování těchto grafů. Jak ji upravíte, budou aktualizovány následující i předchozí grafy, aby se ukázalo, jak se předpovědi mění, když se změní k.
K-nejbližší sousedé: 1
generovat nová tréninková Data jaká je nejlepší hodnota k? V tomto simulovaném případě máme štěstí v tom, že známe skutečný model, který byl použit ke klasifikaci původních voličů jako republikánů nebo demokratů. Bylo použito jednoduché rozdělení a dělicí čára je vynesena na výše uvedeném obrázku. Voliči severně od linie byli klasifikováni jako republikáni, voliči jižně od linie demokraté. Poté byl přidán nějaký stochastický šum, který změnil náhodný zlomek registrací voličů. Můžete také generovat nová tréninková data, abyste zjistili, jak jsou výsledky citlivé na původní tréninková data.
zkuste experimentovat s hodnotou k a najít nejlepší Predikční algoritmus, který dobře odpovídá černé hraniční čáře.
zkreslení a rozptyl
zvýšení K má za následek zprůměrování více voličů v každé predikci. To má za následek hladší Predikční křivky. S k 1, oddělení mezi demokraty a republikány je velmi zubaté. Dále existují“ ostrovy “ demokratů na obecně Republikánském území a naopak. Jak se k zvyšuje na, říci, 20, přechod se stává plynulejším a ostrovy zmizí a rozdělení mezi demokraty a republikány odvádí dobrou práci při sledování hraniční čáry. Jak k se stává velmi velký, řekněme, 80, rozdíl mezi oběma kategoriemi se stává více stírá a hranice predikce řádek není uzavřeno velmi dobře.
u malých k jsou jaggedness a ostrovy znaky rozptylu. Umístění ostrovů a přesné křivky hranic se radikálně změní, jakmile se shromáždí nová data. Na druhou stranu, u velkých k je přechod velmi plynulý, takže není mnoho rozptylu, ale nedostatek shody s hraniční čárou je známkou vysokého zkreslení.
zde pozorujeme, že zvýšení k sníží rozptyl a zvýší zkreslení. Zatímco snížení k zvýší rozptyl a sníží zkreslení. Podívejte se, jak variabilní jsou předpovědi pro různé datové sady při nízké k. Jak se k zvyšuje, tato variabilita se snižuje. Ale pokud zvýšíme k příliš mnoho, pak už nesledujeme skutečnou hraniční čáru a pozorujeme vysoké zkreslení. To je povaha kompromisu zkreslení a rozptylu.
Analytické Bias a Rozptyl
V případě k-Nejbližších Sousedů můžeme odvodit explicitní analytický výraz pro celkovou chybu jako součet bias a rozptyl:
$$ 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{Rozptyl} + \mathrm{Ireducibilní\ Error} $$
rozptyl horizontu je funkcí ireducibilní chyba a k se rozptyl chyby neustále padající jako k zvyšuje. Termín zkreslení je funkcí toho, jak hrubý je modelový prostor (např. jak rychle se ve skutečnosti mění hodnoty, když se pohybujeme prostorem různých bohatství a religiozit). Čím je prostor drsnější, tím rychleji se termín zkreslení zvýší, jak se do odhadů dostanou další sousedé.