Bias e Varianza

Un esempio applicato: Registrazione del partito degli elettori

Diamo un’occhiata a un esempio un po ‘ più realistico. Supponiamo di avere un set di dati di formazione di elettori ciascuno etichettato con tre proprietà: registrazione del partito degli elettori, ricchezza degli elettori e una misura quantitativa della religiosità degli elettori. Questi dati simulati sono tracciati sotto 2. L’asse x mostra una crescente ricchezza, l’asse y una crescente religiosità e i cerchi rossi rappresentano gli elettori repubblicani mentre i cerchi blu rappresentano i voti democratici. Vogliamo prevedere la registrazione degli elettori usando la ricchezza e la religiosità come predittori.

Religiosità →

Ricchezza →

Registrazione ipotetica del partito. Tracciata sulla religiosità (asse y) contro la ricchezza (asse x).

L’algoritmo k-Nearest Neighbor

Ci sono molti modi per eseguire questa attività di modellazione. Per dati binari come il nostro, vengono spesso utilizzate regressioni logistiche. Tuttavia, se pensiamo che ci siano non linearità nelle relazioni tra le variabili, potrebbe essere desiderato un approccio più flessibile e adattivo ai dati. Una tecnica di apprendimento automatico molto flessibile è un metodo chiamato k-Nearest Neighbors.

In k-Nearest Neighbors, la registrazione del partito di un determinato elettore sarà trovata tracciando lui o lei sull’aereo con gli altri elettori. Il più vicino k altri elettori a lui o lei sarà trovato utilizzando una misura geografica della distanza e la media delle loro registrazioni sarà utilizzato per prevedere la sua registrazione. Quindi, se l’elettore più vicino a lui (in termini di ricchezza e religiosità) è un democratico, sarà anche predetto che sarà un democratico.

La figura seguente mostra i quartieri più vicini per ciascuno degli elettori originali. Se k è stato specificato come 1, la registrazione del partito di un nuovo elettore sarebbe determinata se rientrano in una regione rossa o blu

Quartieri più vicini per ogni punto del set di dati di allenamento.

Se abbiamo campionato nuovi elettori possiamo utilizzare i nostri dati di formazione esistenti per prevedere la loro registrazione. La figura seguente traccia la ricchezza e la religiosità di questi nuovi elettori e utilizza l’algoritmo di vicinato più vicino per prevedere la loro registrazione. È possibile passare il mouse su un punto per vedere il quartiere che è stato utilizzato per creare la previsione del punto.

Previsioni del vicino più vicino per i nuovi dati. Passa il mouse su un punto per vedere il quartiere usato per prevederlo.

Possiamo anche tracciare le regioni di previsione complete per le quali gli individui saranno classificati come democratici o repubblicani. La figura seguente mostra questo.

Una parte fondamentale dell’algoritmo k-Nearest Neighborhood è la scelta di k. Fino ad ora, abbiamo usato un valore di 1 per k. In questo caso, ogni nuovo punto è previsto dal suo vicino più vicino nel set di allenamento. Tuttavia, k è un valore regolabile, possiamo impostarlo su qualsiasi cosa, da 1 al numero di punti dati nel set di allenamento. Di seguito è possibile regolare il valore di k utilizzato per generare questi grafici. Man mano che lo si regola, i grafici seguenti e precedenti verranno aggiornati per mostrare come cambiano le previsioni quando k cambia.

k-Vicini più vicini: 1

Regioni previsione vicino più vicino. I colori più chiari indicano meno certezza sulle previsioni. È possibile regolare il valore di k.

Generare nuovi dati di allenamento Qual è il valore migliore di k? In questo caso simulato, siamo fortunati in quanto conosciamo il modello reale che è stato utilizzato per classificare gli elettori originali come repubblicani o democratici. È stata utilizzata una semplice divisione e la linea di demarcazione è tracciata nella figura sopra. Gli elettori a nord della linea sono stati classificati come repubblicani, elettori a sud della linea Democratici. Alcuni rumori stocastici sono stati poi aggiunti per modificare una frazione casuale delle registrazioni degli elettori. È inoltre possibile generare nuovi dati di allenamento per vedere come i risultati sono sensibili ai dati di allenamento originali.

Prova a sperimentare con il valore di k per trovare il miglior algoritmo di previsione che corrisponda bene con la linea di confine nera.

Bias e Varianza

Aumentando k si ottiene la media di più votanti in ogni previsione. Ciò si traduce in curve di previsione più uniformi. Con un k di 1, la separazione tra democratici e repubblicani è molto frastagliata. Inoltre, ci sono “isole” di democratici in territorio generalmente repubblicano e viceversa. Come k è aumentato a, diciamo, 20, la transizione diventa più agevole e le isole scompaiono e la divisione tra democratici e repubblicani fa un buon lavoro di seguire la linea di confine. Man mano che k diventa molto grande, diciamo 80, la distinzione tra le due categorie diventa più sfocata e la linea di previsione del limite non si abbina affatto molto bene.

Alle piccole k il jaggedness e le isole sono segni di varianza. Le posizioni delle isole e le curve esatte dei confini cambieranno radicalmente man mano che verranno raccolti nuovi dati. D’altra parte, a grandi k la transizione è molto liscia, quindi non c’è molta varianza, ma la mancanza di una corrispondenza con la linea di confine è un segno di alta polarizzazione.

Quello che stiamo osservando qui è che l’aumento di k diminuirà la varianza e aumenterà il bias. Mentre diminuendo k aumenterà la varianza e diminuirà il bias. Dai un’occhiata a quanto sono variabili le previsioni per diversi set di dati a basso k. Man mano che k aumenta questa variabilità viene ridotta. Ma se aumentiamo k troppo, allora non seguiamo più la vera linea di confine e osserviamo un alto bias. Questa è la natura del compromesso Bias-Varianza.

Bias analitico e Varianza

Nel caso di k-Nearest Neighbors possiamo ricavare un’espressione analitica esplicita per l’errore totale come somma di bias e varianza:

$$ Err(x) = \left(f(x)-\frac{1}{k}\sum\limits_{i=1}^k f(x_i)\right)^2+\frac{\sigma_\epsilon^2}{k} + \sigma_\epsilon^2 $$

$$ Err(x) = \mathrm{Bias}^2 + \mathrm{Varianza} + \mathrm{Irriducibile\ Errore} $$

La varianza termine è una funzione di irriducibile di errore e k con la varianza di errore costante diminuzione di k aumenta. Il termine bias è una funzione di quanto sia ruvido lo spazio del modello (ad esempio, quanto velocemente in realtà i valori cambiano mentre ci muoviamo attraverso lo spazio di diverse ricchezze e religiosità). Più lo spazio è ruvido, più velocemente il termine di polarizzazione aumenterà man mano che i vicini più lontani vengono portati nelle stime.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.