un exemplu aplicat: înregistrare partid alegător
să ne uităm la un exemplu pic mai realist. Să presupunem că avem un set de date de formare a alegătorilor, fiecare etichetat cu trei proprietăți: înregistrarea partidului electoral, bogăția alegătorilor și o măsură cantitativă a religiozității alegătorilor. Aceste date simulate sunt reprezentate grafic sub 2. Axa x arată creșterea bogăției, axa y crește religiozitatea și cercurile roșii reprezintă alegătorii republicani, în timp ce cercurile albastre reprezintă voturile democratice. Vrem să prezicem înregistrarea alegătorilor folosind bogăția și religiozitatea ca predictori.
algoritmul K-cel mai apropiat vecin
există mai multe moduri de a merge despre această sarcină de modelare. Pentru date binare ca ale noastre, regresiile logistice sunt adesea folosite. Cu toate acestea, dacă credem că există neliniarități în relațiile dintre variabile, ar putea fi dorită o abordare mai flexibilă, adaptivă la date. O tehnică foarte flexibilă de învățare automată este o metodă numită K-cei mai apropiați vecini.
în K-vecinii cei mai apropiați, înregistrarea de partid a unui anumit alegător va fi găsită prin complotarea acestuia în avion cu ceilalți alegători. Cel mai apropiat k alți alegători să-l sau ea va fi găsit folosind o măsură geografică a distanței și media înregistrărilor lor vor fi folosite pentru a prezice înregistrarea lui sau a ei. Deci, dacă cel mai apropiat alegător de el (în ceea ce privește bogăția și religiozitatea) este un Democrat, se va prezice și el că este Democrat.
figura următoare prezintă cele mai apropiate cartiere pentru fiecare dintre alegătorii originali. Dacă k ar fi specificat ca 1, înregistrarea partidului unui nou alegător ar fi determinată dacă se încadrează într-o regiune roșie sau albastră
dacă eșantionăm noi alegători, putem folosi datele noastre de instruire existente pentru a prezice înregistrarea lor. Următoarea figură prezintă bogăția și religiozitatea acestor noi alegători și folosește cel mai apropiat algoritm de Vecinătate pentru a prezice înregistrarea lor. Puteți plasa mouse-ul peste un punct pentru a vedea cartierul care a fost folosit pentru a crea predicția punctului.
de asemenea, putem trasa regiunile complete de predicție pentru care indivizii vor fi clasificați fie ca democrați, fie ca republicani. Figura următoare arată acest lucru.
o parte cheie a algoritmului K-cel mai apropiat cartier este alegerea lui k. până în prezent, am folosit o valoare de 1 Pentru k. în acest caz, fiecare punct nou este prezis de cel mai apropiat vecin din setul de antrenament. Cu toate acestea, k este o valoare reglabilă, o putem seta la orice, de la 1 la numărul de puncte de date din setul de antrenament. Mai jos puteți ajusta valoarea k utilizată pentru a genera aceste parcele. Pe măsură ce îl ajustați, atât parcelele următoare, cât și cele precedente vor fi actualizate pentru a arăta cum se modifică predicțiile atunci când se modifică K.
k-cei mai apropiați vecini: 1
generarea de noi date de formare care este cea mai bună valoare a k? În acest caz simulat, suntem norocoși prin faptul că cunoaștem modelul real care a fost folosit pentru a clasifica alegătorii originali drept republicani sau democrați. A fost utilizată o împărțire simplă și linia de divizare este reprezentată în figura de mai sus. Alegătorii la nord de linie au fost clasificați ca republicani, alegătorii la sud de linie democrați. S-a adăugat apoi un zgomot stocastic pentru a schimba o fracțiune aleatorie a înregistrărilor alegătorilor. De asemenea, puteți genera noi date de antrenament pentru a vedea cum rezultatele sunt sensibile la datele originale de antrenament.
încercați să experimentați valoarea lui k pentru a găsi cel mai bun algoritm de predicție care se potrivește bine cu linia de graniță neagră.
părtinire și varianță
creșterea K are ca rezultat media mai multor alegători în fiecare predicție. Acest lucru are ca rezultat curbe de predicție mai fine. Cu un k de 1, separarea dintre democrați și republicani este foarte zimțată. Mai mult, există” insule ” de democrați pe teritoriul General Republican și invers. Pe măsură ce k crește la, să zicem, 20, tranziția devine mai lină și Insulele dispar, iar împărțirea dintre democrați și republicani face o treabă bună de a urma linia de graniță. Pe măsură ce k devine foarte mare, să zicem, 80, distincția dintre cele două categorii devine mai neclară și linia de predicție a graniței nu este potrivită deloc.
la micul k, jaggedness și insulele sunt semne de variație. Locațiile insulelor și curbele exacte ale limitelor se vor schimba radical pe măsură ce vor fi colectate date noi. Pe de altă parte, la K mare tranziția este foarte lină, astfel încât nu există prea multă variație, dar lipsa unei potriviri cu linia de graniță este un semn de părtinire ridicată.
ceea ce observăm aici este că creșterea k va scădea varianța și va crește părtinirea. În timp ce scăderea k va crește varianța și va scădea părtinirea. Aruncați o privire la cât de variabile sunt predicțiile pentru diferite seturi de date la K scăzut. pe măsură ce K crește, această variabilitate este redusă. Dar dacă creștem k prea mult, atunci nu mai urmăm adevărata linie de graniță și observăm o părtinire ridicată. Aceasta este natura compromisului părtinire-varianță.
părtinire analitică și varianță
în cazul celor mai apropiați vecini k putem obține o expresie analitică explicită pentru eroarea totală ca însumare a părtinirii și varianței:
$$ Err(x) = \stânga(f(x)-\frac{1}{k}\sumă\limits_{i=1}^k f(x_i)\dreapta)^2+\frac{\sigma_\epsilon^2}{k} + \sigma_\epsilon^2 $$
$$ Err(x) = \mathrm{Bias}^2 + \mathrm{varianță} + \mathrm{ireductible\ error} $$
termenul de varianță este o funcție a erorii ireductibile și K cu eroarea de varianță care scade constant pe măsură ce k crește. Termenul de părtinire este o funcție a cât de dur este spațiul model (de exemplu, cât de repede se schimbă în realitate valorile pe măsură ce ne deplasăm prin spațiul diferitelor bogății și religiozități). Cu cât spațiul este mai dur, cu atât termenul de părtinire va crește mai repede, pe măsură ce vecinii sunt aduși în estimări.