alkalmazott példa: választói párt regisztráció
nézzünk egy kicsit reálisabb példát. Tegyük fel, hogy van egy képzési adatkészletünk a választókról, amelyek mindegyike három tulajdonsággal rendelkezik: választói párt regisztráció, választói vagyon, valamint a választói vallásosság mennyiségi mérése. Ezeket a szimulált adatokat az alábbiakban ábrázoljuk 2. Az x tengely növekvő gazdagságot, az y tengely növekvő vallásosságot mutat, a piros körök pedig a republikánus szavazókat, míg a kék körök a Demokratikus szavazatokat képviselik. A választói regisztrációt a gazdagság és a vallásosság előrejelzésével akarjuk megjósolni.
A K-legközelebbi szomszéd algoritmus
ennek a modellezési feladatnak számos módja van. A miénkhez hasonló bináris adatokhoz gyakran logisztikai regressziókat használnak. Ha azonban úgy gondoljuk, hogy a változók közötti kapcsolatokban nem linearitások vannak, rugalmasabb, adat-adaptív megközelítésre lehet szükség. Az egyik nagyon rugalmas gépi tanulási technika az úgynevezett módszer k-legközelebbi szomszédok.
ban ben K-legközelebbi szomszédok, egy adott választópolgár pártregisztrációját úgy találják meg, hogy a többi szavazóval együtt a repülőgépen ábrázolják. A legközelebbi k többi választópolgárt földrajzi távolságmérővel találják meg, regisztrációjuk átlagát pedig a regisztráció előrejelzésére használják. Tehát, ha a legközelebbi szavazó (a gazdagság és a vallásosság szempontjából) Demokrata, akkor ő is Demokrata lesz.
az alábbi ábra az eredeti szavazók legközelebbi városrészeit mutatja. Ha k 1-ként lett megadva, akkor az új választói párt regisztrációját az határozza meg, hogy egy piros vagy kék régióba esnek-e
ha új választókból veszünk mintát, a meglévő képzési adatainkat felhasználhatjuk a regisztrációjuk előrejelzésére. Az alábbi ábra az új szavazók gazdagságát és vallásosságát mutatja be, és a legközelebbi szomszédsági algoritmust használja a regisztrációjuk előrejelzésére. Az egeret egy pont fölé húzhatja, hogy megnézze azt a szomszédságot, amelyet a pont előrejelzésének létrehozásához használtak.
azt is ábrázolhatjuk a teljes előrejelzési régiókat, ahol az egyének demokratáknak vagy republikánusoknak minősülnek. Az alábbi ábra ezt mutatja.
a K-legközelebbi szomszédsági algoritmus kulcsfontosságú része a K választása. eddig 1 értéket használtunk k-re.ebben az esetben minden új pontot a legközelebbi szomszéd jósol a képzési készletben. A k azonban állítható érték, bármire beállíthatjuk 1-től a képzési készlet adatpontjainak számáig. Az alábbiakban beállíthatja a K értékét, amelyet ezeknek a parcelláknak a létrehozásához használnak. A beállítás során mind a következő, mind az előző diagramok frissülnek, hogy megmutassák, hogyan változnak az előrejelzések, amikor k megváltozik.
K-legközelebbi szomszédok: 1
új képzési adatok generálása mi a K legjobb értéke? Ebben a szimulált esetben szerencsések vagyunk abban, hogy ismerjük azt a tényleges modellt, amelyet az eredeti szavazók republikánusoknak vagy demokratáknak minősítettek. Egy egyszerű hasítást használtunk, és az elválasztó vonalat a fenti ábrán ábrázoltuk. A vonaltól északra szavazókat a következők közé sorolták republikánusok, a vonaltól délre szavazók Demokraták. Ezután némi sztochasztikus zajt adtak hozzá a szavazók regisztrációjának véletlenszerű töredékének megváltoztatásához. Új képzési adatokat is generálhat, hogy lássa, az eredmények mennyire érzékenyek az eredeti képzési adatokra.
próbáljon kísérletezni a k értékével, hogy megtalálja a legjobb előrejelzési algoritmust, amely jól illeszkedik a fekete határvonalhoz.
elfogultság és variancia
a növekvő k több szavazó átlagolását eredményezi minden előrejelzésben. Ez simább előrejelzési görbéket eredményez. A K 1, A különbség a demokraták és a republikánusok nagyon szaggatott. Ráadásul a demokraták “szigetei” általában republikánus területen vannak, és fordítva. Ahogy k-t mondjuk 20-ra növelik, az átmenet simábbá válik, a szigetek eltűnnek, és a demokraták és a republikánusok közötti megosztottság jó munkát végez a határvonal követésében. Ahogy k nagyon nagy lesz, mondjuk 80, a két kategória közötti különbség elmosódik, és a határ-előrejelzési vonal egyáltalán nem egyezik meg nagyon jól.
kis k-nál a jaggedness és a szigetek a variancia jelei. A szigetek elhelyezkedése és a határok pontos görbéi gyökeresen megváltoznak az új adatok összegyűjtésével. Másrészről, a nagy k-nál az átmenet nagyon sima, így nincs sok variancia, de a határvonalhoz való illesztés hiánya a magas elfogultság jele.
amit itt megfigyelünk, az az, hogy a növekvő k csökkenti a varianciát és növeli az elfogultságot. Miközben csökken k növeli a varianciát és csökkenti az elfogultságot. Vessen egy pillantást arra, hogy az előrejelzések mennyire változóak a különböző adatkészletekre alacsony k-nál. De ha túl sokat növeljük a k-t, akkor már nem követjük a valódi határvonalat, és magas elfogultságot figyelünk meg. Ez a torzítás-variancia kompromisszum jellege.
analitikai torzítás és variancia
a K-legközelebbi szomszédok esetében a teljes hibára kifejezett analitikai kifejezést vezethetünk le az elfogultság és variancia összegzéseként:
$$ Err(x) = \bal(f(x)-\frac{1}{k}\sum\limits_{i=1}^K f(x_i)\jobb)^2+\frac{\sigma_\epsilon^2}{k} + \sigma_\epsilon^2 $$
$$ Err(x) = \mathrm{Bias}^2 + \mathrm{variancia} + \mathrm{irreducible\ Error} $$
a variancia kifejezés az irreducibilis hiba függvénye, k pedig a variancia hiba folyamatosan csökken, ahogy k növekszik. Az elfogultság kifejezés annak a függvénye,hogy milyen durva a modelltér (pl. milyen gyorsan változnak a valóságban az értékek, amikor a különböző gazdagságok és vallások terében haladunk). Minél durvább a tér, annál gyorsabban növekszik az elfogultság kifejezés, mivel a távolabbi szomszédokat becslésekbe vonják be.