ett tillämpat exempel: Voter Party Registration
Låt oss titta på ett lite mer realistiskt exempel. Antag att vi har en träningsdatauppsättning av väljare som är märkta med tre egenskaper: väljarpartisregistrering, väljarförmögenhet och ett kvantitativt mått på väljarreligiöshet. Dessa simulerade data plottas under 2. X-axeln visar ökande rikedom, y-axeln ökande religiöshet och de röda cirklarna representerar republikanska väljare medan de blå cirklarna representerar Demokratiska röster. Vi vill förutsäga väljarregistrering med hjälp av rikedom och religiöshet som prediktorer.
K-närmaste Grannalgoritm
det finns många sätt att gå om denna modelleringsuppgift. För binära data som vår används ofta logistiska regressioner. Men om vi tror att det finns icke-linjäriteter i relationerna mellan variablerna, kan en mer flexibel, data-adaptiv metod vara önskvärd. En mycket flexibel maskininlärningsteknik är en metod som kallas k-närmaste grannar.
i K-närmaste grannar kommer partiregistreringen av en viss väljare att hittas genom att plotta honom eller henne på planet med de andra väljarna. Närmaste k andra väljare till honom eller henne kommer att hittas med hjälp av ett geografiskt mått på avstånd och genomsnittet av deras registreringar kommer att användas för att förutsäga hans eller hennes registrering. Så om den närmaste väljaren till honom (när det gäller rikedom och religiöshet) är en demokrat, kommer han/hon också att förutsägas vara en demokrat.
följande figur visar närmaste stadsdelar för var och en av de ursprungliga väljarna. Om k specificerades som 1, skulle en ny väljares partiregistrering bestämmas av om de faller inom en röd eller blå region
om vi samplade nya väljare kan vi använda våra befintliga träningsdata för att förutsäga deras registrering. Följande figur plottar rikedom och religiöshet för dessa nya väljare och använder närmaste grannskapsalgoritm för att förutsäga deras registrering. Du kan hålla muspekaren över en punkt för att se grannskapet som användes för att skapa punktens förutsägelse.
Vi kan också plotta de fullständiga prediktionsregionerna för var individer kommer att klassificeras som antingen demokrater eller republikaner. Följande figur visar detta.
en viktig del av k-närmaste Grannskapsalgoritm är valet av k. hittills har vi använt ett värde på 1 för k.i det här fallet förutses varje ny punkt av sin närmaste granne i träningsuppsättningen. K är dock ett justerbart värde, vi kan ställa in det till allt från 1 till antalet datapunkter i träningsuppsättningen. Nedan kan du justera värdet på k som används för att generera dessa tomter. När du justerar den uppdateras både följande och föregående diagram för att visa hur förutsägelser ändras när k ändras.
k-närmaste grannar: 1
generera nya träningsdata Vad är det bästa värdet på k? I det här simulerade fallet är vi lyckliga genom att vi känner till den faktiska modellen som användes för att klassificera de ursprungliga väljarna som Republikaner eller Demokrater. En enkel delning användes och delningslinjen ritas i ovanstående figur. Väljare norr om linjen klassificerades som Republikaner, väljare söder om linjen Demokrater. Vissa stokastiska ljud tillsattes sedan för att ändra en slumpmässig bråkdel av väljarnas registreringar. Du kan också generera nya träningsdata för att se hur resultaten är känsliga för den ursprungliga träningsdata.
försök experimentera med värdet på k för att hitta den bästa förutsägelsealgoritmen som matchar bra med den svarta gränslinjen.
Bias och varians
ökande k resulterar i medelvärdet av fler väljare i varje förutsägelse. Detta resulterar i mjukare prediktionskurvor. Med en k av 1, separationen mellan demokrater och Republikaner är mycket ojämn. Dessutom finns det ” öar ” av Demokrater i allmänhet republikanskt territorium och vice versa. När k ökas till, säg, 20, övergången blir mjukare och öarna försvinner och splittringen mellan demokrater och Republikaner gör ett bra jobb med att följa gränslinjen. När k blir mycket stor, säg 80, blir skillnaden mellan de två kategorierna mer suddig och gränsen förutsägelse linjen matchas inte särskilt bra alls.
vid små k är jaggedness och öar tecken på varians. Platserna på öarna och de exakta kurvorna för gränserna kommer att förändras radikalt när nya data samlas in. Å andra sidan, i stort k: s övergången är mycket smidig så det finns inte mycket varians, men bristen på en match till gränslinjen är ett tecken på hög bias.
vad vi observerar här är att ökande k kommer att minska variansen och öka bias. Medan minskande k ökar variansen och minskar förspänningen. Ta en titt på hur variabel förutsägelserna är för olika datamängder vid låg k. när k ökar minskar denna variation. Men om vi ökar k för mycket, följer vi inte längre den sanna gränslinjen och vi observerar hög bias. Detta är karaktären av Bias-Variansavvägningen.
analytisk Bias och varians
När det gäller k-närmaste grannar kan vi härleda ett uttryckligt analytiskt uttryck för det totala felet som en summering av bias och varians:
$$ Err(x) = \vänster(f(x)-\frac{1}{k}\Summa\limits_{i=1}^k f(x_i)\höger)^2+\frac{\sigma_\epsilon^2}{k} + \sigma_\epsilon^2 $$
$$ Err(x) = \mathrm{Bias}^2 + \mathrm{Variance} + \mathrm{irreducible\ Error} $$
varianstermen är en funktion av det irreducible felet och k med variansfelet faller stadigt när k ökar. Förspänningsbegreppet är en funktion av hur grovt modellutrymmet är (t.ex. hur snabbt i verkligheten förändras värden när vi rör oss genom rymden av olika rikedomar och religiositeter). Ju grövre utrymmet, desto snabbare kommer förspänningsperioden att öka när grannar längre bort tas med i uppskattningar.