Modelli di addestramento Flashcards
Cos’è la regressione lineare?
Un modello lineare è un concetto fondamentale nell’ambito dell’analisi dei dati e dell’apprendimento automatico. Si riferisce a un tipo di modello matematico che cerca di modellare la relazione tra una variabile dipendente (variabile di risposta) e una o più variabili indipendenti (variabili predittive) attraverso una relazione lineare.
In un modello lineare, si assume che la relazione tra le variabili possa essere approssimata da una retta (o un iperpiano in spazi con più dimensioni) nel caso di una variabile indipendente o da un piano iperdimensionale se ci sono più variabili indipendenti. La retta (o l’iperpiano) è caratterizzata da coefficienti detti pesi o coefficienti di regressione, che indicano quanto ogni variabile indipendente influisce sulla variabile dipendente. Oltre ai pesi, il modello può includere un termine di intercettazione (bias) che rappresenta il valore della variabile dipendente quando tutte le variabili indipendenti sono uguali a zero.
La rappresentazione generale di un modello lineare con una singola variabile indipendente è:
y=mx+b
Dove:
y è la variabile dipendente. x è la variabile indipendente. m è il peso della variabile indipendente. b è il termine di intercettazione.
Nel caso di modelli lineari con più variabili indipendenti (regressione lineare multipla), l’equazione si espande in:
y=w1x1+w2x2+…+wnxn+b
Dove:
w1,w2,…,wn sono i pesi associati alle rispettive variabili indipendenti x1,x2,…,xn
Come trovare 𝜃?
Per trovare il valore di 𝜃 che riduca al minimo la funzione di costo, esiste una soluzione in forma chiusa.
Un’equazione matematica che fornisce direttamente il risultato.
Questa è chiamata equazione normale
FORMULA
Per trovare il valore di 𝜃 che riduca al minimo la funzione di costo, esiste una soluzione in forma chiusa.
Un’equazione matematica che fornisce direttamente il risultato.
Questa è chiamata equazione normale
L’equazione normale calcola l’inverso di 𝑋(𝑇)∙𝑋 che è una matrice 𝑛×𝑛 .
Il lato positivo è che questa equazione è lineare per quanto riguarda il numero di istanze nel training set O(m).
Esistono diversi modi per addestrare un modello di regressione lineare più adatti per i casi in cui ci sono un gran numero caratteristiche.
Tra questi il Gradient Descent.
Cos’è il Gradient Descent?
Il Gradient Descent, tradotto in italiano “discesa del gradiente”, è un algoritmo di ottimizzazione utilizzato per trovare il minimo (o massimo) di una funzione. Questa tecnica è comunemente impiegata nell’apprendimento automatico e nell’addestramento dei modelli di machine learning, tra cui reti neurali, regressione lineare, regressione logistica e molti altri.
L’idea alla base del Gradient Descent è di aggiornare iterativamente i parametri di un modello in modo da minimizzare (o massimizzare) una funzione obiettivo. Questa funzione obiettivo è spesso chiamata “funzione di perdita” o “funzione di costo” e misura quanto bene il modello si sta comportando rispetto ai dati di addestramento.
Il concetto chiave è il “gradiente”, che rappresenta la direzione di massima pendenza della funzione in un dato punto. Nel caso dell’ottimizzazione, vogliamo muoverci nella direzione opposta al gradiente per avvicinarci al minimo locale o globale della funzione. L’algoritmo funziona in questo modo:
Inizializzazione: Si parte da un punto iniziale all'interno dello spazio dei parametri. Calcolo del gradiente: Si calcola il gradiente della funzione di perdita rispetto ai parametri correnti. Il gradiente indica la direzione in cui la funzione sta crescendo più velocemente. Aggiornamento dei parametri: Si sposta i parametri nella direzione opposta al gradiente, con un passo detto "learning rate". Questo passo controlla quanto ci si sposta lungo la direzione del gradiente. Ripetizione: Si ripetono i passi 2 e 3 fino a quando non si raggiunge una condizione di convergenza, che può essere un numero fisso di iterazioni, una soglia di errore raggiunta o altre condizioni specifiche del problema.
L’obiettivo finale è di trovare i parametri che minimizzano la funzione di perdita, corrispondendo così al modello che meglio si adatta ai dati di addestramento.
Regressione Polinomiale
Nella regressione polinomiale, invece di adattare una semplice linea retta (come nella regressione lineare), si adatta un polinomio di grado superiore all’insieme dei dati. Un polinomio è un’espressione matematica che coinvolge una variabile elevata a potenze intere positive, moltiplicata per coefficienti specifici. La formula generale per un polinomio di grado n è:
y=anxn+an−1xn−1+…+a2x2+a1x+a0
dove y è la variabile dipendente, xx è la variabile indipendente, nn è l’ordine del polinomio e an,an−1,…,a0 sono i coefficienti del polinomio.
La regressione polinomiale consente di modellare in modo più flessibile relazioni complesse tra le variabili, adattando meglio i dati che presentano andamenti curvilinei o non lineari. Tuttavia, è importante fare attenzione al grado del polinomio, poiché un grado troppo elevato potrebbe portare a un eccessivo adattamento ai dati di addestramento (overfitting) e a una scarsa capacità di generalizzazione a nuovi dati.
Per selezionare il grado del polinomio, spesso si utilizza una tecnica di convalida incrociata o si valutano metriche di errore, come l’errore quadratico medio (MSE), su dati di test per determinare quale grado del polinomio fornisce il miglior equilibrio tra adattamento e generalizzazione.
Ridge Regression
La “ridge regression” è una tecnica di regressione utilizzata per affrontare il problema dell’overfitting nei modelli di regressione lineare. È una forma di regressione lineare regolarizzata che aggiunge un termine di regolarizzazione (penalizzazione) alla funzione di costo al fine di controllare la complessità del modello.
In una regressione lineare standard, l’obiettivo è minimizzare l’errore tra i valori osservati e quelli predetti dal modello. La ridge regression estende questo obiettivo introducendo un termine di penalizzazione basato sulla somma dei quadrati dei coefficienti del modello:
[ \text{Costo} = \text{Errore Quadratico Medio} + \lambda \sum_{i=1}^{n} \beta_i^2 ]
Dove:
- L’Errore Quadratico Medio (MSE) misura la discrepanza tra i valori previsti e quelli reali.
- (\lambda) (lambda) è un iperparametro chiamato parametro di regolarizzazione. Controlla l’ammontare di penalizzazione applicato ai coefficienti.
- (\beta_i) rappresenta i coefficienti della regressione lineare.
L’obiettivo della ridge regression è trovare i valori dei coefficienti (\beta_i) che minimizzano la combinazione dell’errore quadratico medio e della penalizzazione. La penalizzazione aggiunge un vincolo che impedisce ai coefficienti di diventare troppo grandi, riducendo così la complessità del modello e mitigando l’overfitting.
La ridge regression è particolarmente utile quando ci sono molte variabili predittive e alcune di esse potrebbero essere fortemente correlate, il che può portare a stime instabili o sovrastimate dei coefficienti nella regressione lineare standard. La penalizzazione riduce la sensibilità ai dati di addestramento e favorisce la stabilità dei coefficienti.
Lasso Regression
La “lasso regression” è un’altra tecnica di regressione regolarizzata simile alla ridge regression, ma che utilizza una forma diversa di penalizzazione per controllare la complessità del modello. L’acronimo “lasso” sta per “Least Absolute Shrinkage and Selection Operator”, il che riflette la sua capacità di contrarre i coefficienti e di effettuare una selezione variabile.
Invece di aggiungere la somma dei quadrati dei coefficienti al costo come nella ridge regression, la lasso regression aggiunge la somma dei valori assoluti dei coefficienti:
[ \text{Costo} = \text{Errore Quadratico Medio} + \lambda \sum_{i=1}^{n} |\beta_i| ]
Dove gli stessi simboli hanno gli stessi significati della spiegazione precedente.
La caratteristica distintiva della lasso regression è che può ridurre i coefficienti a esattamente zero, il che significa che può effettivamente eseguire la selezione delle variabili. Ciò rende la lasso regression particolarmente utile quando si ha una grande quantità di variabili predittive e si vuole identificare le variabili più rilevanti per il modello.
Alcuni punti chiave della lasso regression includono:
- Selezione variabile: Poiché può portare alcuni coefficienti a zero, la lasso regression può aiutare a semplificare il modello identificando le variabili più influenti.
- Sparsity: La lasso regression tende a produrre modelli “sparsi”, in cui solo un sottoinsieme delle variabili predittive ha coefficienti non nulli. Questo è in contrasto con la ridge regression, che tende a ridurre i coefficienti senza renderli esattamente zero.
- Scelta di (\lambda): Come con la ridge regression, la scelta di (\lambda) è cruciale. Attraverso tecniche come la validazione incrociata, è possibile trovare il valore di (\lambda) che offre il miglior trade-off tra adattamento ai dati e regolarizzazione.
In sintesi, la lasso regression è un’opzione utile quando si desidera ottenere una combinazione di regolarizzazione e selezione variabile. La scelta tra lasso regression e ridge regression dipenderà dalla natura del problema e dalla necessità di conservare o escludere variabili dal modello.
Elastic Net
Elastic Net è una via di mezzo tra Ridge Regression e Lasso Regression.
Si può controllare il rapporto di combinazione “𝑟”:
* quando 𝑟=0 Elastic Net equivale a Ridge regression
* quando 𝑟=1 è equivalente a Lasso Regression
In genere andrebbe evitata la semplice regressione lineare.
Ridge è una buona impostazione predefinita.
Lasso o Elastic Net se c’è il sospetto che solo alcune funzionalità siano effettivamente utili.
In generale, Elastic Net è preferita a Lazo, poiché Lazo può comportarsi in modo irregolare quando il numero di funzionalità è maggiore del numero di istanze di addestramento o quando più caratteristiche sono fortemente correlate
FORMULA DI COSTO
Early Stopping
L’early stopping è una tecnica utilizzata nell’addestramento di modelli di machine learning, in particolare in algoritmi di addestramento iterativi come la regressione, le reti neurali e altri modelli complessi. L’obiettivo dell’early stopping è evitare il sovradattamento (overfitting) del modello ai dati di addestramento e migliorare la sua capacità di generalizzazione sui dati non visti.
L’early stopping funziona nel seguente modo:
Addestramento iterativo: Durante l'addestramento del modello, il set di dati di addestramento viene utilizzato per regolare i parametri del modello in modo da minimizzare l'errore sulle previsioni rispetto alle etichette corrette. Monitoraggio dell'errore di validazione: In parallelo all'addestramento, un set di dati di validazione, separato dal set di addestramento, viene utilizzato per valutare l'errore del modello su dati non visti. Questo errore di validazione viene monitorato durante le iterazioni dell'addestramento. Criterio di stop: L'addestramento viene interrotto quando l'errore di validazione smette di migliorare o inizia a peggiorare. Questo indica che il modello sta iniziando a sovradattarsi ai dati di addestramento e sta perdendo la sua capacità di generalizzazione.
L’early stopping impedisce al modello di continuare ad adattarsi eccessivamente ai dati di addestramento, evitando così l’overfitting. Tuttavia, è importante scegliere il momento giusto per fermare l’addestramento. Se l’addestramento viene interrotto troppo presto, il modello potrebbe non aver avuto abbastanza tempo per convergere a una soluzione ottimale. D’altro canto, se l’addestramento viene interrotto troppo tardi, il modello potrebbe aver già sovradattato i dati di addestramento e potrebbe non generalizzare bene.
Logistic Regression
Alcuni algoritmi di regressione possono essere utilizzati per la classificazione e viceversa La Logistic Regression è comunemente usata per stimare la probabilità che un’istanza appartenga a una classe particolare.
Se la probabilità stimata è maggiore di 50% allora il modello prevede che l’istanza appartiene a quella classe.
Questo lo rende un classificatore binario.
Il modello di regressione logistica calcola una somma ponderata delle caratteristiche di input più un termine di bias.
FORMULA
La logistica detta anche logit, annotata con “𝜎” è una funzione sigmoidale che restituisce un numero compreso tra 0 e 1.
È definita come mostrato di seguito
FORMULA
Softmax Regression
l modello di regressione logistica può essere generalizzato per supportare più classi.
Quando viene fornita un’istanza “x”,il modello di regressione Softmax calcola un punteggio s(x) per ogni classe “k” quindi stima la probabilità di ciascuna classe applicando la funzione softmax ai punteggi.
L’equazione per calcolare s(x) è:
FORMULA
Una volta calcolato il punteggio di ogni classe per l’istanza x può stimare la probabilità 𝑝(𝑘) che l’istanza appartenga alla classe “k” eseguendo i punteggi attraverso la funzione softmax:
FORMULA