et anvendt eksempel: Voter Party Registration
lad os se på et lidt mere realistisk eksempel. Antag, at vi har et træningsdatasæt af vælgere, der hver er mærket med tre egenskaber: vælgerpartiregistrering, vælgerformue, og et kvantitativt mål for vælgerreligiøsitet. Disse simulerede data er afbildet nedenfor 2. De røde cirkler repræsenterer republikanske vælgere, mens de blå cirkler repræsenterer demokratiske stemmer. Vi ønsker at forudsige vælgerregistrering ved hjælp af rigdom og religiøsitet som forudsigere.
K-nærmeste Naboalgoritme
der er mange måder at gå om denne modelleringsopgave. For binære data som vores bruges logistiske regressioner ofte. Men hvis vi mener, at der er ikke-linearitet i forholdet mellem variablerne, kan en mere fleksibel, dataadaptiv tilgang være ønsket. En meget fleksibel maskinlæringsteknik er en metode kaldet k-nærmeste naboer.
I k-nærmeste naboer findes partiregistreringen af en given vælger ved at plotte ham eller hende på flyet med de andre vælgere. De nærmeste k andre vælgere til ham eller hende vil blive fundet ved hjælp af et geografisk mål for afstand, og gennemsnittet af deres registreringer vil blive brugt til at forudsige hans eller hendes registrering. Så hvis den nærmeste vælger til ham (med hensyn til rigdom og religiøsitet) er en demokrat, vil han/hun også blive forudsagt at være en demokrat.
følgende figur viser de nærmeste kvarterer for hver af de oprindelige vælgere. Hvis k blev specificeret som 1, ville en ny vælgerpartiregistrering blive bestemt af, om de falder inden for en rød eller blå region
Hvis vi samplede nye vælgere, kan vi bruge vores eksisterende træningsdata til at forudsige deres registrering. Følgende figur plotter rigdom og religiøsitet for disse nye vælgere og bruger den nærmeste Kvarteralgoritme til at forudsige deres registrering. Du kan holde musen over et punkt for at se det kvarter, der blev brugt til at oprette punktets forudsigelse.
Vi kan også plotte de fulde forudsigelsesregioner for, hvor enkeltpersoner vil blive klassificeret som enten demokrater eller republikanere. Følgende figur viser dette.
en vigtig del af K-nærmeste Kvarteralgoritme er valget af k. indtil nu har vi brugt en værdi på 1 For k. i dette tilfælde forudsiges hvert nyt punkt af sin nærmeste nabo i træningssættet. K er dog en justerbar værdi, vi kan indstille den til alt fra 1 til antallet af datapunkter i træningssættet. Nedenfor kan du justere værdien af k, der bruges til at generere disse plot. Når du justerer det, opdateres både følgende og de foregående plot for at vise, hvordan forudsigelser ændres, når k ændres.
k-nærmeste naboer: 1
Generer nye træningsdata Hvad er den bedste værdi af k? I dette simulerede tilfælde er vi heldige, fordi vi kender den faktiske model, der blev brugt til at klassificere de oprindelige vælgere som republikanere eller Demokrater. En simpel opdeling blev brugt, og skillelinjen er afbildet i ovenstående figur. Vælgerne nord for linjen blev klassificeret som republikanere, vælgere syd for linjen Demokrater. Nogle stokastiske støj blev derefter tilføjet for at ændre en tilfældig brøkdel af vælgernes registreringer. Du kan også generere nye træningsdata for at se, hvordan resultaterne er følsomme over for de originale træningsdata.
prøv at eksperimentere med værdien af k for at finde den bedste forudsigelsesalgoritme, der passer godt sammen med den sorte grænselinje.
Bias og varians
stigende k resulterer i gennemsnittet af flere vælgere i hver forudsigelse. Dette resulterer i glattere forudsigelseskurver. Med en k på 1 er adskillelsen mellem demokrater og republikanere meget tagget. Desuden er der” øer ” af Demokrater på Generelt republikansk territorium og omvendt. Da k øges til, sige, 20, overgangen bliver glattere, og øerne forsvinder, og splittelsen mellem demokrater og republikanere gør et godt stykke arbejde med at følge grænselinjen. Som k bliver meget stor, sige, 80, sondringen mellem de to kategorier bliver mere sløret og grænsen forudsigelse linje er ikke matchet meget godt på alle.
Ved små k ‘ er er jaggedness og øer tegn på varians. Placeringen af øerne og de nøjagtige kurver for grænserne vil ændre sig radikalt, når nye data indsamles. På den anden side er overgangen i store k ‘ er meget glat, så der er ikke meget varians, men manglen på en match til grænselinjen er et tegn på høj bias.
det, vi observerer her, er, at stigende k vil mindske variansen og øge bias. Mens faldende k vil øge variansen og mindske bias. Se på, hvor variabel forudsigelserne er for forskellige datasæt ved lav k. når k øges, reduceres denne variation. Men hvis vi øger k for meget, så følger vi ikke længere den sande grænselinje, og vi observerer høj bias. Dette er karakteren af Bias-varians afvejning.
analytisk Bias og varians
i tilfælde af k-nærmeste naboer kan vi udlede et eksplicit analytisk udtryk for den samlede fejl som en summation af bias og varians:
$$ Err(s) = \left(f(S)-\frac{1}{K}\sum\limits_{i=1}^k f(s_i)\højre)^2+\frac{\sigma_\epsilon^2}{k} + \sigma_\epsilon^2 $$
$$ Err(s) = \mathrm{Bias}^2 + \mathrm{Variance} + \mathrm{irreducible\ error} $$
variansudtrykket er en funktion af den irreducible fejl og K med variansfejlen støt faldende, når k stiger. Bias-udtrykket er en funktion af, hvor groft modelrummet er (f.eks. hvor hurtigt i virkeligheden ændres værdier, når vi bevæger os gennem rummet med forskellige rigdomme og religiositeter). Jo grovere plads, jo hurtigere bias sigt vil stige som længere væk naboer bringes i skøn.