Anteprima
Vedrai una selezione di 4 pagine su 15
Regressione lineare Pag. 1 Regressione lineare Pag. 2
Anteprima di 4 pagg. su 15.
Scarica il documento per vederlo tutto.
Regressione lineare Pag. 6
Anteprima di 4 pagg. su 15.
Scarica il documento per vederlo tutto.
Regressione lineare Pag. 11
1 su 15
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

SUPERVISED LEARNING

LINERAR REGRESSION CON UNA

VARIABILE

Iniziamo considerando la regressione lineare con una sola variabile.

Come sempre per addestrare un modello abbiamo bisogno di un training set.

NOTA: Con la lettera “m” andiamo ad indicare il numero degli esempi del training

set, con latterà “x” la variabile di input e con “y” la nostra variabile di output

NOTA: con (x, y) andiamo ad indicare un riga del nostra training set

A partire dai dati del training set l’obiettivo è quello di creare la migliore ipotesi, in

base all’algoritmo e i dati di addestramento.

NOTA: per ipotesi si intende una funzione matematica

Nel caso della regressione lineare l’ipotesi non sarà altro che una funzione lineare.

NOTA: l’ipotesi coincide quindi con il vero e proprio modello ottenuto a seguito

dell’addestramento

Per identificare i migliori parametri della funzione lineare è necessario considerare

una funzione di costo ossia una funzione che ci dice quanto “sbaglia” in generale

il modello nelle predizioni.

La funzione di costo che andremmo a considerare sarà la seguente:

SUPERVISED LEARNING 1

naturalmente il nostro obbiettivo è quello di trovare i parametri che minimizzano

tale funzione la fine di identificare la migliore ipotesi.

NOTA:  rappresenta l’ipotesi che stiamo considerando

h

θ ​

Il processo per identificare i migliori parametri consiste nel:

1. inizializzare casualmente i parametri

2. cambiare i pesi gradualmente la fine di minimizzare la funzione di costo

il modo in cui vengono aggiornati i pesi si basa sulla tecnica della discesa del

gradiente, dove tale meccanismo si basa sul ripetere più volte il seguente calcolo:

NOTA: J( ,  ) è la funzione di costo che siamo considerando

θ θ

0 1

​ ​

NOTA: I due parametri devono essere aggiornati “simultaneamente” ossia per ogni

iterazione della discesa del gradiente entrambi i parametri devono essere

aggiornati e non solo uno per iterazione

NOTA: se il parametro  è troppo grande il metodo della discesa del gradiente

α

potrebbe convergere.

SUPERVISED LEARNING 2

NOTA: questa è la derivata parziale/gradiente della funzione di costo

(i)

NOTA: nella formula appena riportata il valore  indica il valore della j-esima

x

j ​

variabile dell’istanza i-esima. Questo perché questa formula è da usare per

determinare l’aggiornamento del parametro j-esimo

Nella tecnica della discesa del gradiente  è chiamato learning rate, che è un

α

iperparametro (ossia lo deve scegliere una persona e non deve essere

“imparato”).

∂(J (θ ,θ )

NOTA:  non è altro che la derivata parziale della funzione di costo

0 1

​ ​

∂θ ​

j ​

Per comprendere meglio l’utilizzo della derivata parziale nelle formula della

discesa del gradiente, immaginiamo di trovarci in montagna (in uno spazio 2d). Se

la derivata parziale è positiva vuol dire che la nostra quota aumenterà man mano

che ci muoviamo nel senso positivo dell’asse considerato. Al contrario se la

derivata parziale è negativa indica che la quota diminuisce se ci muoviamo nel

senso positivo.

SUPERVISED LEARNING 3

LINEAR REGRESSION CON PIU’ VARIABILI

NOTA: con la lettera m si indicano il numero di istanze del dataset, mentre con la

lettera n si indicano il numero di features di cui si compone il dataset

In questa sezione useremo la seguente sintassi:

i

1.  per indicare l’istanze i-esima del dataset

x

i

2.  per indicare la variabile target dell’istanza i-esima

y i

3.  per indicare il valore della feature j-esima per l’istanza i-esima

x

j ​

In questo caso, come nel precedente, il nostro obiettivo è quello di creare una

funzione lineare.

A differenza del caso di una singola variabile, in questo caso la funzione lineare

avrà n+1 parametri.

SUPERVISED LEARNING 4

Anche in questo caso, per identificare i migliori parametri si utilizzerà la tecnica

della deiscenza del gradiente.

Per quando riguarda l’aggiornamento dei pesi, abbiamo diverse opportunità:

batch gradient descent: i pesi vengono aggiornati usando tutto il training-set.

Ogni iterazione dell’algoritmo della discesa del gradiente sfrutta tutte le istanze

per aggiornare i pesi. Questo approccio è sconsigliato per dataset molto

grandi. ∂J (θ)

1 m

:= − ⋅ ∑ 

θ θ α

j j ∂θ

m i=1

​ ​ ​ ​ ​

j ​

stochastic gradient descent: i pesi vengono aggiornati dopo ogni esempio

del training-set. ∂J (θ)

:= − ⋅ 

θ θ α

j j ∂θ

​ ​ ​ ​ ​

j ​ (i) (i)

,y

x

mini-batch gradient descent: i pesi non vengono aggiornati utilizzando tutto il

dataset, ma prima si divide in batch (dei sotto insiemi) e poi si usa per ogni

iterazione un bathc diverso.

NOTA: solitamente il secondo approccio viene preferito al primo quando si lavora

con dataset molto grandi

Con la batch gradient descent l’algoritmo risulta più lento ma la convergenza è

assicurata, in quanto ogni passo va diritto verso il minimo della funzione. Con la

stochastic gradient descent l’algoritmo è sicuramente più veloce ma la

convergenza non certa al 100% in quanto ogni passo può andare in una direzione

diversa

SUPERVISED LEARNING 5

Nell’implementazione della discesa del gradiente è necessario stabilire un criterio

di stop per quanto riguarda le iterazioni dell’algoritmo. Delle possibili soluzioni

posso essere:

definire un numero massimo di iterazioni

stabilire un valore tale che l’algoritmo termina quando la funzione di costo

raggiunge uno specifico valore

stabilire un valore tale che se la differenza della funzione di costo tra due

iterazione scende al di sotto di questo valore, l’algoritmo termina

l’algoritmo termina quando la norma del gradiente scende al di sotto di un

valore prefissato

REGRESSIONE POLINOMIALE

In questo caso andiamo a studiare la regressione nei casi in cui i dati non posso

essere rappresentati attraverso una retta.

SUPERVISED LEARNING 6

In questo caso passiamo da una ipotesi lineare ad una ipotesi polinomiale.

In base al grado del polinomio li modello tenderà a seguire curve più o meno

accentuate, ad esempio:

Grado basso (polinomi di grado 1 o 2): Se il grado del polinomio è basso, il

modello tenderà a seguire curve più semplici e "lisce". Ad esempio:

Un polinomio di grado 1 è semplicemente una retta.

Un polinomio di grado 2 (quadratico) è una parabola, che può catturare

una curva semplice a forma di U o di arco.

Grado alto: Se il grado del polinomio è alto, il modello sarà più flessibile e sarà

in grado di seguire curve più accentuate, adattandosi ai dettagli del dataset in

modo più preciso. Tuttavia, con un grado molto alto, il modello potrebbe

diventare estremamente complesso, creando curve che seguono da vicino

ogni fluttuazione o rumore nei dati.

FEATURE SCALING - NORMALIZZAZIONE

DEI DATI

La normalizzazione dei dati consiste nel prenderete tutti i valori di una feature e

farli rientrane in un range specifico di valori (ad esempio da 0 a 1). Questa

operazione non si limita ad una sola variabile, ma deve essere eseguita su tutte le

variabili che compongono il dataset.

SUPERVISED LEARNING 7

La normalizzazione dei dati è un processo il cui fine è quello di migliorare

l’efficienza della tecnica della discesa del gradiente per l’identificazione dei

parametri.

La foto qui riportata mostra un confronto tra la discesa del gradiente applicata ad

un dataset non normalizzato (a sinistra) e la discesa del gradiente applicata ad un

dataset normalizzato in cui tutte le feature (x1 e x2) sono adattate ad un range di

valore tra 0 e 1. L’immagine di sinistra mostra come la discesa de gradiente a

bisogno di molte più iterazioni (linee rosse) rispetto all’immagine di destra facendo

emergere le differenze prestazionali della discesa del gradiente.

NOTA: il motivo per cui nel caso di dataset non normalizzati la discesa del

gradiente ha bisogno di maggiori iterazioni è che ci possono essere delle variabili

di gradi scale (rispetto alle altre) che possono “monopolizzare” la discesa

rischiando anche di raggiungere un minimo locale anziché un minimo assoluto

Esistono diverse tecniche di normalizzazione, tra cui:

min-max normalization : con questa normalizzazione si forzano i valori in un

=

intervallo [a, b] a nostro piacimento con la seguente formula: x

x−min (b − + 

a) a

max−min ​

NOTA :  e  rappresentano rispettivamente il valore più basso e più alto

min max

per una specifica variabile

NOTA: questa tecnica di normalizzazione è molto sensibile agli outliers (nel senso

che la loro presenza sminchia tutto)

SUPERVISED LEARNING 8

z-score normalization: il suo obiettivo è quello di trasformare un ‘insieme? di

dati in modo che abbiano una media pari a 0 e una deviazione stardard pari a

x−mean(x)

=

1. Questo è possibile grazie alla seguente formula: 

x devstd(x) ​

NOTA: rispetto alla precedente tecnica qui non sono richiesti di conoscere i valori

min e max e in più gli outliers non vanno a sminchiare la normalizzazione

NOTA: rispetto alla normalizzazione mi max, i dati non vengono forzati in una

range di valore ([a, b] ad esempio), ma vengono cambiati rispettano i criteri della

media e della deviazione standard, trasformando dati anche da positivi a negativi

APPROCCIO ALTERNATIVO PER LA

DISCESA DEL GRADIENTE

Per la discesa del gradiente può essere adottato un approccio matematico

piuttosto che uno algoritmico. Per fare questo dobbiamo considerare una matrice

che rappresenta l’input space del mio dataset e un vettore che rappresenta

l’output space del mio dataset

NOTA: quel delta rovesciato rappresenta il gradiente(credo) che vogliamo

raggiungere [si è proprio così]

NOTA: Con questo approccio è necessario anche rivisitare la funzione di errore

per lavorare con la matrici

SUPERVISED LEARNING 9

NOTA: Imporre un gradiente pari a 0 vuol dire raggiungere il punto di minimo

assoluto

Il primo step è quello di ottenere una nuova funzione di costo in grado di lavorare

con le matrici. (Xθ − (Xθ −

T

Nella funzione di costo delle matrici si moltiplica  per simulare

y) y)

Dettagli
Publisher
A.A. 2022-2023
15 pagine
SSD Scienze matematiche e informatiche MAT/03 Geometria

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher vit1104 di informazioni apprese con la frequenza delle lezioni di Geometria e algebra lineare e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Politecnico di Bari o del prof Giordano Vincenzo.