Et Anvendt Eksempel: Voter Party Registration
La oss se på et litt mer realistisk eksempel. Anta at vi har et treningsdatasett av velgere hver merket med tre egenskaper: voter party registration, voter wealth, og et kvantitativt mål på velgerens religiøsitet. Disse simulerte dataene er plottet under 2. X-aksen viser økende rikdom, y-aksen økende religiøsitet og de røde sirklene representerer Republikanske velgere mens de blå sirklene representerer Demokratiske stemmer. Vi ønsker å forutsi velgerregistrering ved hjelp av rikdom og religiøsitet som prediktorer.
K-Nærmeste Naboalgoritme
det er mange måter å gå om denne modelleringsoppgaven. For binære data som vår, brukes ofte logistiske regresjoner. Men hvis vi tror det er ikke-lineariteter i forholdet mellom variablene, kan en mer fleksibel, data-adaptiv tilnærming være ønsket. En veldig fleksibel maskinlæringsteknikk er en metode som kalles K-Nærmeste Naboer.
i K-Nærmeste Naboer, vil partiet registrering av en gitt velger bli funnet ved å plotte ham eller henne på flyet med de andre velgerne. Den nærmeste k andre velgere til ham eller henne vil bli funnet ved hjelp av et geografisk mål på avstand og gjennomsnittet av sine registreringer vil bli brukt til å forutsi hans eller hennes registrering. Så hvis den nærmeste velgeren til ham (når det gjelder rikdom og religiøsitet) Er En Demokrat, vil han/hun også bli spådd Å Være En Demokrat.
følgende figur viser nærmeste nabolag for hver av de opprinnelige velgerne. Hvis k ble spesifisert som 1, vil en ny velgerspartregistrering bli bestemt av om de faller innenfor en rød eller blå region
hvis vi samplet nye velgere kan vi bruke våre eksisterende treningsdata for å forutsi deres registrering. Følgende figur plotter rikdom og religiøsitet for disse nye velgerne og bruker Nærmeste Nabolag algoritme for å forutsi deres registrering. Du kan holde musen over et punkt for å se nabolaget som ble brukt til å lage punktets prediksjon.
en viktig del av k-Nærmeste Nabolagsalgoritme er valget av k. Hittil har vi brukt en verdi på 1 for k. I dette tilfellet er hvert nytt punkt spådd av nærmeste nabo i treningssettet. K er imidlertid en justerbar verdi, vi kan sette den til alt fra 1 til antall datapunkter i treningssettet. Nedenfor kan du justere verdien av k som brukes til å generere disse tomtene. Når du justerer det, vil både følgende og de foregående plottene bli oppdatert for å vise hvordan spådommer endres når k endres.
k-Nærmeste Naboer: 1
Generer Nye Treningsdata Hva er den beste verdien av k? I dette simulerte tilfellet er vi heldige fordi vi kjenner den faktiske modellen som ble brukt til å klassifisere de opprinnelige velgerne Som Republikanere eller Demokrater. En enkel splitt ble brukt og skillelinjen er plottet i figuren ovenfor. Velgere nord for linjen ble klassifisert Som Republikanere, velgere sør for linjen Demokratene. Noen stokastisk støy ble deretter lagt til for å endre en tilfeldig brøkdel av velgernes registreringer. Du kan også generere nye treningsdata for å se hvordan resultatene er følsomme for de opprinnelige treningsdataene.
prøv å eksperimentere med verdien av k for å finne den beste prediksjonsalgoritmen som passer godt sammen med den svarte grenselinjen.
Bias og Varians
Økende k resulterer i gjennomsnitt av flere velgere i hver prediksjon. Dette resulterer i jevnere prediksjonskurver. Med en k på 1 er separasjonen Mellom Demokrater og Republikanere veldig tøff. Videre er Det «øyer» Av Demokrater i generelt Republikansk territorium og omvendt. Som k økes til, si, 20, overgangen blir jevnere og øyene forsvinner og splittelsen Mellom Demokrater og Republikanere gjør en god jobb med å følge grenselinjen. Som k blir veldig stor, si, 80, skillet mellom de to kategoriene blir mer uskarpt og grensen prediksjon linjen er ikke matchet veldig bra i det hele tatt.
på små k er jaggedness og øyene er tegn på varians. Plasseringen av øyene og de nøyaktige kurvene til grensene vil endres radikalt etter hvert som nye data samles inn. På den annen side er overgangen i stor grad veldig jevn, så det er ikke mye varians, men mangelen på en kamp til grenselinjen er et tegn på høy bias.
det vi observerer her er at økende k vil redusere variansen og øke bias. Mens avtagende k vil øke variansen og redusere bias. Ta en titt på hvor variabel spådommene er for ulike datasett ved lav k. Som k øker denne variabiliteten reduseres. Men hvis vi øker k for mye, følger vi ikke lenger den sanne grenselinjen og vi observerer høy bias. Dette er arten Av Bias-Varians-Avviket.
Analytisk Bias og Varians
i tilfelle av K-Nærmeste Naboer kan vi utlede et eksplisitt analytisk uttrykk for den totale feilen som en summering av bias og varians:
$$ Err(x) = \venstre(f(x)-\frac{1}{k}\sum\limits_{i=1}^k f(x_i)\høyre)^2+\frac{\sigma_\epsilon^2 $$
$ err(x) = \mathrm{Bias}^2 + \mathrm{Varians} + \mathrm{irreducible \error}$ $
variansbegrepet er en funksjon av den irreducible feilen og k med variansfeilen som faller jevnt etter hvert som k øker. Bias-begrepet er en funksjon av hvor grovt modellrommet er (f. eks. hvor raskt i virkeligheten endres verdier når vi beveger oss gjennom forskjellige rikdommer og religiositeter). Jo grovere plass, jo raskere bias sikt vil øke som lenger unna naboer er brakt inn estimater.