Schede riassuntive di appunti su Machine Learning.
Appunti personali riscritti a partire dal materiale fornito per il corso Machine Learning Unibo Sede Cesena A.A. 2017/2018
1. Scuola di Ingegneria e Architetturaโข Sede didatticadi Cesena
Corso di studio Ingegneria e Scienze informatiche (laurea magistrale)
Insegnamento 81610 โข MachineLearning โข A.A. 2017/2018
Titolare: Prof. Davide Maltoni โข Appunti di Nicola Gentili
FONDAMENTI
Dati oggetto della disciplina Machine Learning, puรฒ essere tradotto in italiano in
vari modi: forma, campione, esempio, โฆ
PATTERN RECOGNITION: disciplina che studia il riconoscimento dei pattern
Tipi di pattern
NUMERICI: valori associati a caratteristiche misurabili o conteggi
โข Continui o discreti, in ogni caso ordinabili
โข Lโestrazione di caratteristiche produce vettori numerici (feature vectors)
โข Esempi: altezza, peso, lunghezza piede, โฆ
CATEGORICI: valori associati a caratteristiche qualitative e alla presenza o assenza
di una caratteristica
โข Non sono mappabili su valori numerici
โข Possono essere ordinabili
โข Esempi: sesso, colore occhi, gruppo sanguigno, โฆ
SEQUENZE: pattern sequenziali con relazioni spaziali o temporali
โข Lunghezza variabile, allineamento spazio temporale e memoria
โข Importanza della posizione, predecessori e successori
โข Esempi: stream audio video, frasi, โฆ
ALTRI PATTERN STRUTTURATI: output organizzati in strutture complessi
โข Applicazioni in bioinformatica, Natural Language Processing, Speech
recognition
โข Grafi, alberi, โฆ
SUPERVISIONATO: le classi dei pattern utilizzati per lโaddestramento sono note
(training set etichettato)
NON SUPERVISIONATO: non sono note le classi dei pattern
SEMI-SUPERVISIONATO: il training set รจ parzialmente etichettato, ottimizzazione
con pattern non etichettati
BATCH: addestramento una sola volta poi passaggio al working mode
INCREMENTALE: piรน addestramenti dopo quello iniziale, rischio: catastrofic
forgetting
NATURALE: addestramento continuo (supervisionato e non supervisionato)
REINFORCEMENT LEARNING โข OBIETTIVO: apprendere un comportamento
โข Interazione ambiente-agente
โข Sistema di ricompense/premi (anche ritardate rispetto allโazione)
โข Q-Learning, Deep reinforcement
Il comportamento di un algoritmo di ML รจ regolato da un set di parametri.
Lโapprendimento รจ il processo che cerca il valor ottimo di questi parametri.
La funzione obiettivo ๐(๐ป๐๐๐๐, ๐ฃ) puรฒ rappresentare lโottimalitร della soluzione
o lโerrore o perdita.
Lโapprendimento cerca di massimizzare ๐ฉโ
= ๐๐๐๐๐๐ฅ ๐ฉ ๐ ๐๐๐๐๐, ๐ฉ o
minimizzare il valore della funzione obiettivo ๐ฉโ
= ๐๐๐๐๐๐ ๐ฉ ๐ ๐๐๐๐๐, ๐ฉ .
Gli iperparametri sono valori che definiscono le caratteristiche degli algoritmi di
ML (es: numero di neuroni in una rete neurale, numero di vicini in un
classificatore k-NN, grado di un polinomio utilizzato per la regressione, tipo di loss
function, โฆ)
Lโapprendimento puรฒ essere effettuato piรน volte a partire da iperparametri
differenti, scegliendo al termine il set di iperparametri che forniscono le
prestazioni migliori.
PATTERN APPRENDIMENTO
PARAMETRI, IPERPARAMETRI, FUNZIONE OBIETTIVO
๏
TRAINING SET: insieme di pattern utilizzati durante lโaddestramento
VALIDATION SET: insieme di pattern utilizzati per tarare gli iperparametri (H)
TEST SET: insieme di pattern su cui valutare le prestazioni finali
TRAING, VALID e TEST SET dovrebbero essere disgiunti.
K-FOLD CROSS VALIDATION
Metodo di suddivisione dei pattern nei 3 set in caso di campioni ridotti.
K partizioni omogenee, K cicli di addestramento su K-1 partizioni usate per il
training e 1 per il validation. Prestazione = media/mediana
LEAVE-ONE-OUT: caso estremo di cross validation con fold di dimensione 1
TRAINING, VALIDATION, TEST SET
2. Scuola di Ingegneria e Architetturaโข Sede didatticadi Cesena
Corso di studio Ingegneria e Scienze informatiche (laurea magistrale)
Insegnamento 81610 โข MachineLearning โข A.A. 2017/2018
Titolare: Prof. Davide Maltoni โข Appunti di Nicola Gentili
FONDAMENTI
Le prestazioni possono essere misurate direttamente tramite la funzione
obiettivo. ร perรฒ utile definire misure maggiormente correlate alla semantica del
problema.
CLASSIFICAZIONE
CLOSED SET: i pattern appartengono ad una delle classi note
ACCURATEZZA = pattern correttamente classificati / pattern classificati
ERRORE = 100% - ACCURATEZZA
OPEN SET: i pattern possono appartenere ad una delle classi note oppure no.
Approccio: aggiunta classe ยซresto del mondoยป
Approccio: definizione livello di soglia per cui le assegnazioni con un livello di
confidenza (probabilitร ) inferiore alla soglia non vengono effettuate
N = Numero di pattern
TP (True Positive) = # pattern correttamente classificati
FP (False Positive) = # pattern classificati erroneamente
TN (True Negative) = # pattern correttamente attribuiti a ยซresto del mondoยป o sotto soglia
FN (False Negative) = # pattern erroneamente attribuiti a ยซresto del mondoยป o sotto soglia
Misure delle prestazioni
False Positive Rate = FP/N
False Negative Rate = FN/N
Nei sistemi con soglia, il valore della soglia determina i risultati su FPR e FNR:
โข soglia elevata = FPR basso e FNR alto
โข soglia bassa = FPR alto e FNR basso
Le curve FPR e FNR possono essere condensate in:
DET Detection Error Tradeoff (FNR/FPR)
ROC Receiver Operating Characteristic (TPR/FPR)
Nei sistemi biometrici si parla di False Match / False Non-Match e, in caso di multiclasse di FPIR (False Positive
Identification Rate) e FNIR (False Negative Identification Rate)
PRECISION = TP / ( TP + FP ) = TRUE POSITIVE / POSITIVE (pertinenza)
RECALL = TP / ( TP + FN ) = TRUE POSITIVE / RELEVANT ELEMENTS (completezza)
PRESTAZIONI
Obiettivo primario durante la fase di training: CONVERGENZA
Andamento decrescente del LOSS e crescente dellโACCURACY.
DINAMICHE:
โข LOSS non decresce (oppure oscilla significativamente)
โข il sistema non converge
โข metodo di ottimizzazione non efficace:
โข modificare iperparametri
โข modificare learning rate
โข correggere errori di implementazione del metodo
โข LOSS decresce ma lโACCURACY non cresce
โข probabilmente la loss function scelta รจ errata
โข ACCURACY non si avvicina al 100% sul training
โข il modello รจ inadeguato:
โข aumentare i gradi di libertร del classificatore (troppi parametri
potrebbero essere troppo restrittivi)
โข modificare gli iperparametri
GENERALIZZAZIONE: capacitร di trasferire il livello di accuratezza ottenuto sul
traininig set al validation set
OVERFITTING: ottenimento di risultati ad alte prestazioni sul training set ma non
sul validation set. Si verifica facilmente con train set di piccole dimensioni.
Durante lโaddestramento รจ opportuno interrompere il processo al momento
ideale, quando il livello di accuratezza sul validation set non cresce o inizia a
decrescere.
Controllare lโoverfitting
per massimizzare la generalizzazione
โข gradi di libertร del classificatore adeguati al problema
โข aumentarli gradualmente
โข regolaritร della soluzione appresa
โข aggiungere un fattore di regolarizzazione
CONVERGENZA โข GENERALIZZAZIONE โข OVERFITTING
3. Scuola di Ingegneria e Architetturaโข Sede didatticadi Cesena
Corso di studio Ingegneria e Scienze informatiche (laurea magistrale)
Insegnamento 81610 โข MachineLearning โข A.A. 2017/2018
Titolare: Prof. Davide Maltoni โข Appunti di Nicola Gentili
FONDAMENTI
MACHINE
LEARNING
SUPERVISED
LEARNING
CLASSIFICAZIONE
BAYES
Parametrico
Distribuzione
multinormale
Non
parametrico
Parzen Window
NEAREST
NEIGHBOR
k-NN
Metriche
SVM
Lineari
Non lineari
Multiclasse
MULTI
CLASSIFICATORI
Fusione a livello
di decisione
Fusione a livello
di confidenza
Bagging
(Random Forest)
Boosting
(AdaBoost)
REGRESSIONE
LINEARE
Simple linear
Multiple linear
NON LINEARE
Variabile
indipendente
Ottimizzazione
numerica
UNSUPERVISED
LEARNING
CLUSTERING
GERARCHICO
CENTROID
BASED
K-means
Fuzzy K-means
Expectation -
Maximization
Approcci ML solo con
sufficienti esempi per
training e validation set
Sforzi significativi per
etichettare grandi
insiemi di pattern
Training, Validation e
Test set devono essere
rappresentativi
Automatizzare le
procedure di valutazione
delle performance
Confrontare le
prestazioni solo con
sistemi addestrati su
stesso dataset e
protocollo
Attenzione agli intervalli
di confidenza per risultati
su set di piccole
dimensioni
Scrivere codice
strutturato, ordinato
MACHINE LEARNING IN PRATICA
4. Scuola di Ingegneria e Architetturaโข Sede didatticadi Cesena
Corso di studio Ingegneria e Scienze informatiche (laurea magistrale)
Insegnamento 81610 โข MachineLearning โข A.A. 2017/2018
Titolare: Prof. Davide Maltoni โข Appunti di Nicola Gentili
CLASSIFICATORI โข Bayes
Insieme di pattern aventi proprietร comune
Esempi di classificazione: spam detection / credit card fraud detection / face
recognition / pedestrian classification / medical diagnosys / stock trading
CLASSE
Ipotesi sulla forma delle distribuzioni.
Piccole dimensioni del training set e/o ragionevole certezza sulla curva di distribuzione.
DISTRIBUZIONE NORMALE (d=1)
๐(๐ฅ) =
1
๐ 2๐
๐
โ
(๐ฅโ๐)2
2๐2
DISTRIBUZIONE MULTINORMALE
๐(๐ฅ) =
1
2๐ ๐/2 ฮฃ 1/2
๐โ
1
2 ๐ฅโ๐ ๐กฮฃโ1 ๐ฅโ๐
Gli elementi diagonali della matrice di covarianza sono le varianze per ogni dimensione, gli
elementi non diagonali sono le covarianze e determinano la correlazione statistica
( = 0 ๏จ inipendenti; > 0 ๏จ correlati positivamente; < 0 ๏จ correlati negativamente).
DISTANZA DI MAHALANOBIS ๐ ๐
= ๐ โ ๐ ๐
๐ฎโ๐
๐ โ ๐
Definisce i bordi a densitร costante in una distribuzione multinormale.
Sostituisce spesso la distanza euclidea essendo in grado di pesare le diverse componenti
tenendo conto dei relativi spasi di variazione e della loro correlazione.
DECISION BOUNDARY / DECISION SURFACE: zona di confine tra regioni che il
classificatore associa a classi diverse, sul confine la classificazione รจ ambigua.
CONFIDENZA DI CLASSIFICAZIONE
Vantaggio del classificatore di Bayes legato al fatto che produce un valore probabilistico di
output, utilizzabile come confidenza per scartare pattern in applicazioni open set con
soglia o costruire un multiclassificatore.
Se non serve la confidenza ๐ = ๐๐๐๐๐๐๐=๐...๐ ๐ท ๐๐ ๐ = ๐๐๐๐๐๐๐=๐...๐ ๐(๐|๐๐) โ ๐ท(๐๐)
PARAMETRICO
Problema posto in termini probabilistici.
RELAZIONI
๐(๐ฅ) =
๐=1
๐
๐(๐ฅ|๐ค๐) โ ๐(๐ค๐) ๐๐๐ฃ๐
๐=1
๐
๐(๐ค๐) = 1
๐(๐ค๐|๐ฅ) =
๐(๐ฅ|๐ค๐) โ ๐(๐ค๐)
๐(๐ฅ)
Per ogni classe รจ necessario calcolare la probabilitร a priori e la densitร di
probabilitร condizionali.
La regola assegna la classe (b) con la probabilitร a posteriori piรน alta per il pattern
x: ๐ = ๐๐๐๐๐๐๐=๐...๐{๐ท(๐๐|๐)}
๐ท(๐๐๐๐๐) =
โ1
๐(๐ฅ|๐ค2)๐(๐ค2)๐๐ฅ +
โ2
๐(๐ฅ|๐ค1)๐(๐ค1)๐๐ฅ
La conoscenza delle densitร di probabilitร condizionale
รจ possibile solo in teoria.
APPROCCIO BAYESIANO
Definizione Descrizione Esempio
Probabilitร che una personaโฆ
๐(๐ฅ|๐ค๐) Densitร di probabilitร
condizionale di x data wi
Probabilitร che il prossimo
pattern sia x sotto lโipotesi
che la sua classe sia wi
โฆabbia una certa altezza
sapendo che รจ una donna
๐(๐ค๐) Probabilitร a priori Probabilitร che il prossimo
pattern sia di classe wi
โฆsia donna
๐(๐ฅ) Densitร di probabilitร
assoluta
Probabilitร che il prossimo
pattern sia x
โฆabbia una certa altezza
๐(๐ค๐|๐ฅ) Probabilitร a posteriori
di wi dato x
Probabilitร che il pattern x
sia di classe wi
โฆsia una donna sapendo che
ha una certa altezza
Attenzione alle ipotesi sulle distribuzioni delle densitร di probabilitร .
1. Valutare la corrispondenza alla normalitร delle s distribuzioni
1. formalmente (Malkovich/Afifi)
2. empiricamente (tramite visualizzazione dati)
2. Stima del vettore medio e della matrice di covarianza
3. Probabilitร a priori estratte dal campione nel training set o tutte uguali
4. Assegnazione della classe ad ogni nuovo pattern in base alla regola di Bayes.
IN PRATICA
5. Scuola di Ingegneria e Architetturaโข Sede didatticadi Cesena
Corso di studio Ingegneria e Scienze informatiche (laurea magistrale)
Insegnamento 81610 โข MachineLearning โข A.A. 2017/2018
Titolare: Prof. Davide Maltoni โข Appunti di Nicola Gentili
CLASSIFICATORI โข Bayes
Apprendimento delle distribuzioni dal training set.
La stima delle densitร รจ solitamente affrontabile in spazi a dimensionalitร ridotta.
Campionamento: lโidea รจ quella di campionare lo spazio (indipendentemente dal numero
di dimensioni) per individuare, nelle diverse zone, la distribuzione dei pattern nelle classi.
Approcci: divisione in celle (problemi legati ai confini e alla scelta delle dimensioni delle
celle), utilizzo di intorni (con problemi legati alla scelta delle dimensioni degli intorni).
Probabilitร che un pattern ๐ sia dentro โ : ๐1 = โ
๐(๐โฒ)๐๐โฒ
Probabilitร che ๐ pattern siano dentro โ: ๐๐ =
๐
๐
๐1
๐
1 โ ๐1
๐ โ ๐
Valore medio: ๐ = ๐๐1 โ ๐1 = ๐ ๐
Se โ di volume ๐ รจ sufficientemente piccola: ๐1 = โ
๐(๐ฅโฒ)๐๐ฅ โ ๐(๐ฅ) โ ๐
Da cui: ๐(๐ฅ) = ๐1 ๐ = ๐ ๐ โ ๐
Il volume di un ipercubo centrato in ๐ con lato โ ๐ รจ: ๐ ๐ = ๐=1
๐
๐
๐๐โ๐
โ ๐
Da cui: ๐(๐ฅ) = ๐๐ ๐๐ = ๐ ๐ ๐ โ ๐๐ = ๐=1
๐
๐
๐๐โ๐
โ ๐
๐ โ ๐๐
Se la finestra รจ piccola la stima รจ rumorosa e statisticamente instabile.
Se la finestra รจ grande la stima รจ stabile ma piuttosto vaga e sfuocata.
Per ottenere convergenza la dimensione della finestra deve essere calcolata tenendo
conto del numero di campioni del training set: ๐๐ = ๐1 ๐
Kernel function soft vengono utilizzate al posto degli ipercubi in modo da realizzare
superfici decisionali piรน regolari (smoothed). Devono essere funzioni di densitร (sempre
positive con integrale su tutto lo spazio pari a 1).
๐(๐) =
๐
(๐๐ ) ๐ /๐
๐โ
๐ ๐ ๐
๐
NON PARAMETRICO โข PARZEN WINDOW
(dalla prova di autovalutazione del 17/12/2016)
Date due distribuzioni multinormali identificate dai seguenti parametri:
๐0 =
1,03
1,03
ฮฃ0
โ1
=
52,56 โ10,05
โ10,05 36,88
ฮฃ0 = 0,000544 ๐ ๐ค0 = 0,6
๐1 =
2,02
1,53
ฮฃ1
โ1
=
100,58 โ22,34
โ22,34 37,85
ฮฃ1 = 0,000302 ๐ ๐ค1 = 0,4
Nellโipotesi dellโimpiego di un classificatore di Bayes multinormale, calcolare per il punto
๐ =
1,60
1,25
:
โข Le densitร di probabilitร condizionali
โข Le probabilitร a posteriori
โข Lโindice della classe restituita in output.
Si ricorda che la densitร di probabilitร , nel caso della distribuzione multinormale รจ:
๐ ๐ =
1
2๐
d
2 ฮฃ
1
2
โ ๐โ
1
2
๐โ๐ ๐กฮฃโ1 ๐โ๐
SVOLGIMENTO
1) Si calcolano le densitร di probabilitร condizionali (d=2)
๐ ๐|๐ค0 =
1
2๐ โ 0,000544
โ ๐
โ
1
2
1,6โ1,03 1,25โ1,03
52,56 โ10,05
โ10,05 36,88
1,6โ1,03
1,25โ1,03 = 0,00193
๐ ๐|๐ค1 =
1
2๐ โ 0,000302
โ ๐
โ
1
2
1,6โ2,02 1,25โ1,53
100,58 โ22,34
โ22,34 37,85
1,6โ2,02
1,25โ1,53 = 0,00403
2) Si calcola la densitร di probabilitร assoluta di x
๐ ๐ = 0,00193 โ 0,6 + 0,00403 โ 0,4 = 0,00277
3) Si calcolano le probabilitร a posteriori
๐ ๐ค0|๐ = 0,6 โ 0,00193 0,00277 = 0,418
๐ ๐ค1|๐ = 0,4 โ 0,00403 0,00277 = 0,582
4) Si valutano le probabilitร a posteriori per scegliere la classe
La probabilitร a posteriori รจ maggiore per la classe 1.
ESEMPI
6. Scuola di Ingegneria e Architetturaโข Sede didatticadi Cesena
Corso di studio Ingegneria e Scienze informatiche (laurea magistrale)
Insegnamento 81610 โข MachineLearning โข A.A. 2017/2018
Titolare: Prof. Davide Maltoni โข Appunti di Nicola Gentili
CLASSIFICATORI โข Nearest Neighbor
Comportamento di Nearest Neighbor strettamente collegato alla metrica adottata.
DISTANZA EUCLIDEA
Spesso utilizzata
Caso L2 delle metriche di Minkowski ๐ฟ ๐(๐, ๐) = ๐=1
๐
๐๐ โ ๐๐
๐ 1/๐
๐ฟ2(๐, ๐) = ๐=1
๐
๐๐ โ ๐๐
2 = ๐๐ โ ๐๐ 2
Non gestisce correttamente eventuali correlazioni (es. altezza e lunghezza piede).
NORMALIZZAZIONE SULLO SPAZIO DI VARIAZIONE
๐ฟ2 ๐, ๐ = ๐=1
๐ ๐ ๐
๐ฃ ๐
๐๐ โ ๐๐
2
๐ฃ๐: ๐ ๐๐๐ง๐๐ ๐๐ ๐ฃ๐๐๐๐๐ง๐๐๐๐
๐๐: ๐๐๐ ๐ ๐๐๐๐ก๐ข๐๐ ๐ โ ๐๐ ๐๐๐
Gli spazi di variazione possono essere calcolati come range (max-min) sul training set o, meglio, in
proporzione alla deviazione standard.
I pesi possono essere scelti in proporzione al potere discriminante, ad esempio come rapporto:
๐๐ =
๐ฃ๐๐๐๐๐๐๐๐๐กร ๐๐๐ก๐๐๐๐๐๐ ๐ ๐ ๐๐๐๐ก๐ข๐๐ ๐
๐ฃ๐๐๐๐๐๐๐๐๐กร ๐๐๐ก๐๐๐๐๐๐ ๐ ๐ ๐๐๐๐ก๐ข๐๐ ๐
Variabilitร interclasse: es. media deviazioni standard dei valori della feature in ogni classe
Variabilitร intraclasse: es. deviazione standard dei valori della feature in un campione di pattern per
ogni classe
WHITENING TRANFORM
Efficace normalizzazione rispetto agli spazi di variazione, tiene conto delle correlazioni tra features.
Utilizza come metrica la distanza euclidea ma sullo spazio sfericizzato.
1. Rimuove le correlazioni ยซruotandoยป la nuvola di punti per allineare gli assi di variazione
principale agli assi cartesiani
2. Sferiricizza lโellissoide uniformando le varianze (autovalori) a 1 lungo tutti gli assi
DISTANZA DI MAHALANOBIS ๐ ๐ = ๐ โ ๐ ๐ ๐ฎโ๐ ๐ โ ๐
METRIC LEARNING
Approccio piรน generale per la scelta della metrica: learning supervisionato della metrica.
Obiettivo: determinare una trasformazione degli input che avvicini i pattern della stessa classe e
allontani quelli di classi diverse.
โข Determinazione di una matrice G di trasformazione: ๐ฎ๐ โ ๐ฎ๐ 2
โข Approcci non lineari: ๐ฎ๐(๐) โ ๐ฎ๐(๐) 2 ๐: ๐๐ข๐๐ง๐๐๐๐ ๐๐๐ ๐๐๐๐๐๐๐
SIMILARITร COSENO E DISTANZA COSENO
Utilizzata in applicazioni di information retrieval, data mining, text mining.
Due vettori identici hanno similaritร 1, due opposti hanno similaritร -1.
๐ถ๐๐ ๐๐๐๐๐๐๐๐๐ก๐ฆ ๐, ๐ = ๐ ๐ โ ๐ ๐ โ ๐
๐ด๐๐๐ข๐๐๐๐ท๐๐ ๐ก๐๐๐๐ ๐, ๐ = cosโ1 ๐ถ๐๐ ๐๐๐๐๐๐๐๐๐ก๐ฆ ๐, ๐ ๐
METRICHE
NEAREST NEIGHBOR classifica un pattern x assegnandogli la stessa classe del pattern a lui
piรน vicino nel training set sulla base di una metrica ๐ ๐๐๐(โ) specifica.
๐ ๐๐๐(๐, ๐โฒ) = ๐๐๐ ๐๐โ๐ป๐บ{๐ ๐๐๐(๐, ๐๐)}
Lโidea รจ di massimizzare la probabilitร a posteriori in maniera pragmatica ๐(๐ค๐|๐ฅ) โ ๐(๐ค๐|๐ฅโฒ)
La probabilitร di errore di NN non supera mai il doppio del minimo errore possibile (Bayes)
Tassellazione di Voronoi: ogni pattern del training set determina un tassello allโinterno
del quale i pattern vengono assegnati alla stessa classe: un elemento poco affidabile
determina un errore di classificazione sui pattern vicini.
K-NEAREST NEIGHBOR definisce la classe di un pattern sulla base dei k pattern piรน vicini
k รจ un iperparametro, valori ottimali (< 10) da determinare su validation set separato
Se il training set รจ infinito, k-NN รจ migliore di 1-NN. Allโaumentare di k, lโerrore converge a
quello Bayesiano.
Aumentare k significa estendere lโipersfera cercando di valutare la proprietร a posteriori
lontano dal punto di interesse.
CONFIDENZA DI CLASSIFICAZIONE
๐๐๐๐๐ ๐ฃ1, ๐ฃ2, . . . , ๐ฃ๐
๐=1
๐
๐ฃ๐ = ๐ ๐ ๐ฃ๐๐ก๐ ๐๐ก๐ก๐๐๐ข๐ก๐ ๐๐๐ ๐๐๐ก๐ก๐๐๐ ๐ฅ โ ๐๐๐๐๐๐๐๐๐ง๐:
๐ฃ1
๐
,
๐ฃ2
๐
, . . . ,
๐ฃ๐
๐
COMPLESSITร COMPUTAZIONALE
โข Memorizzare tutti i pattern del training set
โข Per ogni pattern calcolare la distanza da tutti i pattern del training set
โข Ordinare le distanze per valutare le k piรน piccole
Semplificazioni (pattern prototipo):
EDITING eliminazione di pattern dal training set
CONDENSING derivazione di nuovi prototipi (es. vettore medio)
โข Riduzione dei calcoli
โข Prototipi maggiormente affidabili rispetto ai pattern
INDICIZZAZIONE DATI (kd-tree)
NN, kNN
7. Scuola di Ingegneria e Architetturaโข Sede didatticadi Cesena
Corso di studio Ingegneria e Scienze informatiche (laurea magistrale)
Insegnamento 81610 โข MachineLearning โข A.A. 2017/2018
Titolare: Prof. Davide Maltoni โข Appunti di Nicola Gentili
CLASSIFICATORI โข SVM
SVM lineare determina lโiperpiano di separazione, tra tutti quelli possibili su due insiemi
di pattern di due classi linearmente separabili, con il maggior margine possibile, stimando
che in tal modo si possono classificare correttamente anche i pattern di test vicini al
confine.
MARGINE: distanza minima di punti delle due classi nel training set dallโiperpiano.
IPERPIANO: ๐ท ๐ = ๐ โ ๐ + ๐
DISTANZA VETTORE-IPERPIANO: ๐ = ๐ท ๐ ๐
OBIETTIVO: individuare lโiperpiano che massimizza la distanza (o minimizza lโinverso)
๐๐๐๐๐๐๐ง๐ง๐๐๐ ๐ 2/2
๐๐๐๐๐๐๐ ๐ฆ๐ ๐ โ ๐๐ + ๐ โ 1 โฅ 0 ๐๐๐ ๐ = 1, โฆ , ๐
SUPPORT VECTOR: pattern del training set che giacciono sul margine, da soli determinano
la soluzione al problema. ๐ท ๐ = 1 ๐ = ยฑ1
SOLUZIONI: possono essere individuate tramite formulazione Lagrangiana e
formulazione duale tramite condizioni Karush-Kuhn-Tucker (KKT).
๐ญ๐๐๐๐๐๐๐๐๐๐๐ ๐ณ๐๐๐๐๐๐๐๐๐๐ ๐ ๐, ๐, ๐ถ =
1
2
๐ โ ๐ โ
๐=๐
๐
๐ผ๐ ๐ฆ๐ ๐ โ ๐๐ + ๐ โ 1
๐ซ๐๐๐๐
๐ ๐ถ =
๐,=1โฆ๐
๐ผ๐ โ
1
2
๐,๐=1โฆ๐
๐ผ๐ ๐ผ๐ ๐ฆ๐ ๐ฆ๐(๐๐ โ ๐๐)
๐๐๐ ๐ฃ๐๐๐๐๐๐
๐=1โฆ๐
๐ฆ๐ ๐ผ๐ = 0 ๐ ๐ผ๐ โฅ 0 ๐๐๐ ๐ = 1, โฆ ๐
Risolvibile con algoritmi di programmazione quadratica:
๐ท ๐ฅ = ๐คโ โ ๐ฅ + ๐ = ๐,๐=1โฆ๐ ๐ผ๐
โ
๐ฆ๐ ๐๐ โ ๐๐ + ๐โ
VANTAGGI
โข Soluzione calcolata su un numero ridotto di support vector
โข Complessitร legata al numero di support vector e errore medio limitato dal rapporto
support vector / pattern
โข Metodo adatto anche a dimensionaltiร elevate: quadratica rispetto al numero di pattern
PATTERN LINEARMENTE SEPARATI
ยซRilassamento dei vincoli di separazioneยป per permettere che alcuni (il minor numero
possibile) pattern possano valicare il confine della classe.
VARIABILI DI SLACK: ๐ฆ๐ ๐ โ ๐๐ + ๐ โฅ 1 โ ๐๐ per ogni pattern ๐๐, la variabile ๐๐ definisce
la deviazione dal margine.
OBIETTIVO: massimizzare il margine e minimizzare il numero di elementi non
correttamente classificati.
๐๐๐๐๐๐๐ง๐ง๐๐๐
๐ 2
2
+ ๐ถ
๐=1โฆ๐
๐๐
๐๐๐๐๐๐๐ ๐ฆ๐ ๐ โ ๐๐ + ๐ โฅ 1 โ ๐๐ ๐๐๐ ๐ = 1, โฆ , ๐
COEFFICIENTE C: definisce lโimportanza relativa degli errori di classificazione rispetto
allโampiezza del margine (รจ un iperparametro).
SOLUZIONI: come nel caso di pattern linearmente separati
PATTERN LINEARMENTE NON SEPARATI
Estensione SVM di separazione con superfici anche molto complesse.
MAPPING: dallo spazio di partenza ad uno spazio a piรน alta dimensionalitร .
KERNEL FUNCTION: ๐พ ๐, ๐โฒ = ๐ท(๐) โ ๐ท(๐โฒ) (la scelta di K รจ un iperparametro)
SOLUZIONE SENZA PARTICOLARI COMPLICAZIONI: ๐ท ๐ฅ = ๐=1โฆ๐ ๐ผ๐
โ
๐ฆ๐ ๐พ ๐, ๐๐ + ๐โ
Possibili Kernel Function
โข POLINOMI DI GRADO Q (Q iperparametro)
โข RADIAL BASIS FUNCTION (RBF) DI AMMPIEZZA ๐ (๐ iperparametro)
โข 2-LAYER NEURAL NETWORK ๐พ ๐, ๐โฒ = ๐ก๐๐โ ๐ฃ ๐ โ ๐โฒ
+ ๐ (๐ฃ, ๐ iperparametri)
SVM NON LINEARE
Introdotta da Vapnik dal 1965 e successivamente perfezionata.
Molto utilizzato nella classificazione di pattern.
Anzichรฉ stimare le densitร di probabilitร , risolve direttamente il problema di interesse
determinando le superfici decisionali tra le classi.
TEORIA
SVM determina la superficie di separazione tra 2 classi di pattern.
Possibili estensioni multiclasse (approcci al problema ancora aperto):
โข ONE-AGAINST-ONE: ๐ ร (๐ โ 1)/2 classificatori binari + majority vote rule
โข ONE-AGAINST-ALL: richiede un numero di training SVM pari al numero delle classi e
assegna il pattern, al termine, in base alla massima distanza dalla superficie
decisionale.
SVM ESTENSIONE MULTICLASSE
Dimensionalitร alta ๏จ SVM lineare, tarare iperparametro C.
Dimensionalitร bassa ๏จ SVM non lineare, Kernel RBF
Dimensionalitร media ๏จ tentativi con entrambi
Multiclasse ๏จ se possibile One-Against-One, altrimenti O-A-A
IN PRATICA
8. Scuola di Ingegneria e Architetturaโข Sede didatticadi Cesena
Corso di studio Ingegneria e Scienze informatiche (laurea magistrale)
Insegnamento 81610 โข MachineLearning โข A.A. 2017/2018
Titolare: Prof. Davide Maltoni โข Appunti di Nicola Gentili
CLASSIFICATORI โข Multiclassificatori
Esecuzione di classificazione con diversi classificatori e successiva fusione dei risultati.
Esecuzione parallela, in cascata o in modo gerarchico.
Lโutilizzo di combinazioni di classificatori puรฒ migliorare molto le prestazioni.
METODI
La combinazione รจ efficace quando i singoli classificatori sono sufficientemente
indipendenti tra loro (non commettono gli stessi errori).
INDIPENDENZA:
โข utilizzo di feature diverse (non correlate o poco correlate)
โข utilizzo di diversi algoritmi per lโestrazione delle features
โข utilizzo di diversi algoritmi di classificazione
โข utilizzo di diverse porzioni di training set per lo stesso algoritmo (bagging)
โข iterazione addestramento sui pattern erroneamente classificati (boosting)
INDIPENDENZA
Ogni classificatore fornisce la propria decisione: classe a cui ha assegnato il pattern.
Metodi di combinazione dei risultati
MAJORITY VOTE RULE: il pattern assegnato alla classe maggiormente votata
๐ถ1, ๐ถ2, โฆ , ๐ถ ๐๐ ๐๐๐ ๐๐๐๐ ๐๐ ๐๐ ๐๐๐๐ ๐ ๐๐๐๐๐๐ก๐๐๐
๐๐๐ =
1 ๐ ๐ ๐ รจ ๐๐ ๐๐๐๐ ๐ ๐ ๐ฃ๐๐ก๐๐ก๐ ๐๐ ๐ถ๐
0 ๐๐๐ก๐๐๐๐๐๐ก๐
๐ก = ๐๐๐๐๐๐ฅ๐=1โฆ๐
๐=1โฆ๐๐
๐๐๐
Prestazioni teoriche elevate dipendenti dalla totale indipendenza dei classificatori.
๐ ๐๐ข๐๐ก๐ ๐๐ =
๐=๐
๐๐
๐๐
๐
๐ ๐ 1 โ ๐ ๐๐โ๐
BORDA COUNT: ogni classificatore fornisce una classifica delle classi in base alla
probabilitร ; i ranking sono convertiti in punteggi e viene assegnata la classe con punteggio
piรน alto (considera anche i non primi di ogni classificatore).
ONE AGAINST ONE: consente di risolvere un problema di classificazione multi-classe
attraverso classificatori binari
1. Per ๐ classi del problema, si addestrano ๐ ร (๐ โ 1)/2 classificatori binari
1. Il pattern x รจ classificato da ogni classificatore assegnando un voto alla classe piรน probabile
2. Il pattern x รจ assegnato alla classe che ha ricevuto il maggior numero di voti (majority vote rule)
FUSIONE A LIVELLO DI DECISIONE
Ogni classificatore fornisce la confidenza di classificazione del pattern per ogni classe.
๐๐๐๐๐ = ๐๐๐๐๐1, ๐๐๐๐๐2, โฆ , ๐๐๐๐๐๐
Metodi di fusione
FUSIONE A LIVELLO DI CONFIDENZA
SOMMA ๐๐๐ =
๐=1โฆ๐๐
๐๐๐๐๐
Sceglie la classe con somma massima
Numericamente piรน stabile per valori di
confidenza bassi su uno o pochi classificatori
PRODOTTO ๐๐๐๐ =
๐=1โฆ๐๐
๐๐๐๐๐
Sceglie la classe con prodotto massimo
Metodo piรน corretto dal punto di vista
probabilistico nel caso di indipendenza
statistica
MASSIMO ๐๐๐ฅ๐ = max
๐=1โฆ๐๐
๐๐๐๐๐๐
Sceglie la classe che ha ottenuto la massima
confidenza massima
MINIMO ๐๐๐๐ = min
๐=1โฆ๐๐
๐๐๐๐๐๐
Sceglie la classe che ha ricevuto la massima
confidenza minima
Quindi la classe che non ha confidenza minima
troppo bassa su ogni classificatore
SOMMA
PESATA
๐๐๐ =
๐=1โฆ๐๐
๐๐ โ ๐๐๐๐๐
Pesa la confidenza dei diversi classificatori
Ad esempio in maniera inversamente
proporzionale allโerrore di classificazione
RANDOM FOREST (Metodo della famiglia Bagging: Bootstrap Aggregating)
โข Addestramento con classificator (classification tree) i su diverse porzioni del training set
โข Fusione (majority vote rule, somma, โฆ)
CLASIFICATION TREE: Albero binario in cui ogni nodo divide i pattern sulla base di un
criterio su una singola feature, ogni livello utilizza progressivamente la feature che divide
meglio il set. Ogni foglia rappresenta lโassegnazione o meno del pattern alla classe.
La scelta della feature in ogni nodo รจ fatta su un sottoinsieme casuale delle feature per evitare
scelte uguali sui vari classification trees (bagging sulle features).
ADABOOST (Metodo della famiglia Boosting)
โข Effettua un certo numero di iterazioni
โข Ad ogni iterazione calcola/aggiorna i pesi dei pattern
โข Sceglie il classificatore che realizza il minor errore
โข Calcola il peso del classificatore (errore alto+classificazione corretta o errore
basso+classificazione errata)
โข Il classificatore strong finale รจ media pesata dei weak classificatori iniziali.
BAGGING E BOOSTING
9. Scuola di Ingegneria e Architetturaโข Sede didatticadi Cesena
Corso di studio Ingegneria e Scienze informatiche (laurea magistrale)
Insegnamento 81610 โข MachineLearning โข A.A. 2017/2018
Titolare: Prof. Davide Maltoni โข Appunti di Nicola Gentili
REGRESSIONE
Apprendimento della funzione che assegna un valore numerico continuo ad ogni pattern.
๐ ๐ฅ โ ๐ฆ
๐ รจ controllata da un insieme di parametri
๐ฅ รจ la variabile indipendente (esatta) e ๐ฆ รจ la variabile dipendente (soggetta ad errore).
OBIETTIVO
La variabile dipendente รจ uno scalare.
๐ ๐ฅ = ๐ฆ = ๐ผ + ๐ฝ โ ๐ฅ๐ + ๐๐ ๐๐ รจ lโerrore ๐ผ, ๐ฝ sono i parametri da determinare
La soluzione consiste nel determinare lโequazione della retta che minimizza la somma dei
minimi quadrati:
๐ผโ, ๐ฝโ โถ arg min
๐ผ,๐ฝ
๐=1โฆ๐
๐ ๐ฅ โ ๐ฆ๐
2 =
๐=1โฆ๐
๐๐
2
Da cui
๐ฝโ =
๐=1..๐ ๐ฅ๐ โ ๐ฅ ๐ฆ๐ โ ๐ฆ
๐=1..๐ ๐ฅ๐ โ ๐ฅ 2
๐ผโ = ๐ฆ โ ๐ฝโ ๐ฅ
SIMPLE LINEAR
La variabile dipendente รจ un vettore.
๐ ๐ฟ = ๐ = ๐ฟ๐ท
๐ฟ รจ una matrice rettangolare (righe=patterns, colonne=features + colonna 1)
๐ รจ un vettore colonna con uno scalare per ogni pattern
๐ท รจ un vettore colonna con uno scalare per ogni feature + 1 termine noto
Funzione obiettivo da minimizzare: ๐ โ ๐ฟ๐ท ๐ da cui i parametri ๐ทโ = ๐ฟ๐ ๐ฟ โ๐ ๐ฟ ๐ ๐
b = numero di pattern, d = dimensioni
Se n = d+1 ๏จ ๐ฟ รจ una matrice quadrata e lโiperpiano tocca tutti i punti
Se n > d+1 ๏จ numero di equazioni superiore alle incognite, lโiperpiano approssima i punti
Perchรฉ esista ๐ฟ๐ ๐ฟ โ๐, ๐ฟ๐ ๐ฟ deve avere rango massimo (problemi punti collineari)
๐ฟ๐ ๐ฟ รจ spesso mal condizionata, conseguenza: calcolo numerico instabile (SVD)
MULTIPLE LINEAR
๐ รจ controllata da un insieme di parametri non lineari (es. potenze)
La funzione di regressione deve essere lineare rispetto ai parametri, mentre puรฒ essere
non lineare rispetto ai valori delle features.
๐ฆ = ๐ฝ1 ๐ฅ2 + ๐ฝ2 ๐ฅ + ๐ฝ3
In caso di dipendenza non lineare del modello dai parametri non esiste soluzione least
square e si applicano tecniche iterative di ottimizzazione numerica (Gradient Descent,
Gauss-Newton).
NON LINEAR
Nel caso di nuvole di punti geometrici le coordinate
hanno lo stesso ruolo ed รจ preferibile PCA fitting a
regressione lineare.
REGRESSION vs GEOMETRICAL FITTING
Regressione su problemi di piccole-medie dimensioni
โข caso lineare ๏จ least square con fattorizzazione SVD
โข caso non lineare ๏จ Gauss-Newton (come prima scelta)
Esistono varianti di classificazione SVM e Random Forest efficaci in problemi di
regressione.
In ambito deep learning, reti neurali addestrate con gradient descent sono utilizzate per
risolvere problemi di regressioni di enormi dimensioni (Faster R-CNN)
IN PRATICA
10. Scuola di Ingegneria e Architetturaโข Sede didatticadi Cesena
Corso di studio Ingegneria e Scienze informatiche (laurea magistrale)
Insegnamento 81610 โข MachineLearning โข A.A. 2017/2018
Titolare: Prof. Davide Maltoni โข Appunti di Nicola Gentili
CLUSTERING
Famiglia di metodi non supervisionati in grado di individuare raggruppamenti intrinseci
(cluster) di pattern nello spazio multidimensionale. Opzionalmente definisce le classi
(incognite)
Problema NP hard
Ammettendo di conoscere il numero s di classi, il numero di pattern puรฒ essere
clusterizzato in ๐ ๐ ๐ ! modi diversi (numeri di Stirling).
Se s non รจ noto, il numero di casi รจ definito dai numeri di Bell (somma di tutti i numeri di
Stirling da 1 a n).
OBIETTIVO E COMPLESSITร
I criteri di clustering definiscono cosa si vuole ottenere e specificano il grado di ottimalitร
di ogni soluzione ammissibile.
OSSERVAZIONI
โข I pattern allโinterno dello stesso cluster devono essere tra loro piรน simili rispetto a
pattern appartenenti a cluster diversi
โข I cluster sono costituiti da nuvole di punti a densitร relativamente elevata, separate da
zone con densitร piรน bassa
CRITERI
Minimizzazione distanze dai centroidi
Buon criterio per cluster a simmetria radiale, penalizza forme allungate o cluster innestati
Minimizza la somma dei quadrati delle distanze dei pattern x dai centroidi delle classi.
๐ฝ๐ =
๐=1โฆ๐ ๐ฅโ๐ช๐
๐ โ ๐๐
2 ๐๐ =
๐
๐
๐ฅโ๐ช๐
๐
Minimizzazione distanze intra-classe
Simile al criterio dei centroidi ma non penalizza i cluster allungati.
๐ฝ๐ =
๐=1โฆ๐
๐๐ โ ๐ ๐ ๐ ๐ =
1
๐๐
๐ฅโ๐ช๐
๐๐ ๐, ๐ถ๐ ๐๐ ๐, ๐ถ๐ รจ ๐ข๐๐ ๐๐๐ ๐ข๐๐ ๐๐ ๐๐๐ ๐ก๐๐๐ง๐
๐๐ ๐, ๐ถ๐ = ๐๐๐ ๐โฒโ๐ถ ๐,๐โฒโ ๐ ๐ โ ๐โฒ 2 definisce che รจ sufficiente un vicino
CRITERI DI CLUSTERING
Gli algoritmi di clustering, dato un criterio di clustering, forniscono una procedura
algoritmica per determinare soluzioni che lo ottimizzano.
HARD: esclusivo | SOFT (fuzzy): pattern appartengono a diversi cluster con una certa probabilitร .
CLUSTERING GERARCHICO
Metodo simile alla tassonomia biologica. Iterativo prevede di aggregare singoli pattern, poi pattern
a cluster e poi cluster a cluster per maggiore similitudine rispetto ad una soglia.
Differenze implementative: single link, average link, complete link.
CLUSTERING BASATO SU CENTROIDI
K-Means: semplice sia a livello computazionale che implementativo.
1. Soluzione iniziale (casuale)
2. Assegna ogni pattern al cluster per cui รจ minima la distanza dal centroide
3. Ricalcola i centroidi come media dei pattern per ogni cluster
4. Itera finchรฉ non si hanno modifiche di assegnazione.
Soluzione in pochi passi.
Distanza euclidea ๏จ cluster iper-sferici. Distanza di Mahalanois ๏จ cluster iper-elissoidali.
Per evitare convergenza su minimi locali si esegue lโalgoritmo piรน volte su soluzioni iniziale diverse
(random, euristiche, metodo evoluzionistico).
Tecniche di validazione:
โข valutazione delle soluzioni per valori diversi di s (numero di cluster) penalizzando
soluzioni con molti cluster
โข Ricerca di discontinuitร nel valore di ๐ฝ๐.
Fuzzy K-Means: consente ad un pattern di appartenere a diversi cluster con specifici gradi
di probabilitร . I centroidi sono calcolati come media pesata rispetto alle probabilitร di
appartenenza.
(iperparametro m definisce il livello di sfumatura dellโappartenenza ai cluster, tipicamente m = 2)
Expectation โ Maximization (EM): tenta di identificare i valori dei parametri delle singole
distribuzioni che si ipotizza abbiano generato i patterns per attribuire ogni pattern al
cluster relativo. Stima dei parametri con criterio di maximum (log-) likelihood
(densitร /probabilitร di aver ottenuto i pattern da specifici parametri).
Iterazione ciclo:
1. Expectation: calcolo del log-likelihood completo sulla base dei parametri
2. Maximization: ricalcolo parametri per massimizzare il valore atteso
๐ฉ ๐+1 = ๐๐๐๐๐๐ฅ ๐ฉ ๐(๐ฉ|๐ฉ ๐)
Algoritmo simile a Fuzzy K-Means ma con maggiori gradi di libertร nella forma dei cluster
(ellissoidali).
CLUSTERING BASATO SULLA DENSITร
I cluster individuti sono regioni connesse in aree ad elevata densitร (DBSCAN).
ALGORITMI DI CLUSTERING
11. Scuola di Ingegneria e Architetturaโข Sede didatticadi Cesena
Corso di studio Ingegneria e Scienze informatiche (laurea magistrale)
Insegnamento 81610 โข MachineLearning โข A.A. 2017/2018
Titolare: Prof. Davide Maltoni โข Appunti di Nicola Gentili
RIDUZIONE DIMENSIONALITร
Eseguire un mapping dallo spazio iniziale โ ๐ ad uno spazio di dimensione inferiore
โ ๐, ๐ < ๐.
COMPRESSIONE
โข Scarto di informazioni meno rilevanti
โข Combinazione opportuna delle dimensioni esistenti (non eliminazione selettiva)
SCOPO: semplificazione addestramento, miglioramento prestazioni
OBIETTIVO
MAPPING LINEARE โข TRASFORMAZIONE NON SUPERVISIONATA
OBIETTIVO: preservare al massimo lโinformazione dei pattern.
Nota anche con come Karhunen Loeve (KL) transform.
Lo spazio k-dimensionale ridotto รจ definito univocamente dal vettore medio e dalla
matrice di proiezione le cui colonne sono costituite dagli autovettori della matrice di
covarianza dello spazio originale, corrispondenti ai k piรน grandi autovalori.
Ogni autovalore descrive la varianza del training set lungo una direzione definita dal
corrispondente autovettore. I primi k autovettori sono detti principal component.
PROIEZIONE
La proiezione di un pattern sullo spazio PCA determinato
tramite la matrice di proiezione, รจ la proiezione geometrica
di un vettore (ridotto) sullโiperpiano che definisce lo spazio.
RETROPROIEZIONE
Dato un vettore nello spazio ridotto PCA, la retro-proiezione si ottiene moltiplicando il
vettore PCA per la matrice di proiezione e sommando il vettore medio.
Questa operazione non sposta spazialmente il vettore (che giace ancora sullo spazio PCA)
ma opera un cambiamento di coordinate che ne permette la codifica in termini delle
componenti dello spazio originale.
Tra tutte le riduzioni di dimensionalitร lineari, PCA รจ quella che preserva al massimo
lโinformazione dei vettori originali.
SCELTA DELLA DIMENSIONE
Se lโobiettivo รจ la visualizzazione ๏จ k deve essere 2 o 3
Se lโobiettivo รจ scartare dati inutili mantenendo la maggior parte del contenuto
informativo ๏จ fissata una percentuale del valore informativo che si vuole preservare, si
sceglie il minimo valore di k tale che la somma dei piรน grandi k autovalori sia maggiore o
uguale a t rispetto alla somma di tutti gli autovalori.
PRINCIPAL COMPONENT ANALYSIS (PCA) MAPPING LINEARE โข TRASFORMAZIONE SUPERVISIONATA
OBIETTIVO: privilegiare le dimensioni che discriminano meglio i pattern, ovvero
massimizzare la separazione tra le classi.
MATRICI DI SCATTERING (SPARPAGLIAMENTO)
WITHIN-CLASS ๐บ ๐: indica come i vettori dei pattern sono sparpagliati rispetto al centro
delle classi.
BETWEEN-CLASS ๐บ ๐: indica come i centri delle classi sono sparpagliati rispetto al centro
generale
Una matrice di scatter si calcola come una matrice di covarianza senza normalizzare per il
numero di pattern.
LINEAR DISCRIMINANT ANALYSIS (LDA)
MAPPING NON LINEARE โข TRASFORMAZIONE NON SUPERVISIONATA
OBIETTIVO: riduzione a 2 o 3 dimensioni per poter visualizzare i dati multidimensionali.
Introdotta nel 2008 da Van der Maaten e Hinton, rappresenta lo stato dellโarte per la
visualizzazione 2D o 3D di dati multidimensionali.
Supera i limiti di riduzione a 2/3 dimensioni di PCA relativamente a cluster distribuiti con
forme non multinormali.
T-DISTRIBUTED STOCHASTIC NEIGHBOR EMBEDDING (t-SNE)
Tecnica di pre-normalizzazione dei dati che:
โข Rimuove le correlazioni tra le dimensioni ruotando la nuvola di punti per allineare gli
assi di variazione principale dei dati (autovalori) agli assi cartesiani
โข Sfericizza lโellissoide uniformando le varianze a 1 lungo tutti gli assi
La matrice di covarianza dei dati normalizzati รจ la matrice identitร .
PCA WHITENING
12. Scuola di Ingegneria e Architetturaโข Sede didatticadi Cesena
Corso di studio Ingegneria e Scienze informatiche (laurea magistrale)
Insegnamento 81610 โข MachineLearning โข A.A. 2017/2018
Titolare: Prof. Davide Maltoni โข Appunti di Nicola Gentili
RETI NEURALI
Introdotto da McCulloch e Pitts nel 1943.
ร lโelemento costitutivo delle reti neurali.
Ogni neurone:
โข riceve in input ๐ valori, uno per ogni connessione in ingresso:
ogni input ๐๐ ๐ รจ associato ad un peso ๐ค ๐ che determina lโefficacia delle connessioni
โข prevede un input pesato aggiuntivo (bias) di valore 1 utile per tarare il neurone
โข elabora un livello di eccitazione ๐๐๐ก๐ = ๐=1โฆ๐ ๐๐๐ โ ๐ค๐๐ + ๐ค0๐
โข ha un comportamento regolato da una funzione di attivazione ๐ โ determinata da ๐๐๐ก๐
๐ โ รจ una funzione non lineare, continua e differenziabile
NEURONE ARTIFICIALE
STANDARD LOGISTIC FUNCTION (SIGMOID) [0 โฆ +1]
PIร SEMPLICE
FUNZIONE:
๐ ๐๐๐ก = ๐ ๐๐๐ก =
1
1 + ๐โ๐๐๐ก
DERIVATA:
๐โฒ ๐๐๐ก =
๐
๐๐๐๐ก
1
1+๐โ๐๐๐ก =
๐โ๐๐๐ก
1+๐โ๐๐๐ก 2 = ๐ ๐๐๐ก (1 โ ๐ ๐๐๐ก )
TANGENTE IPERBOLICA (TANH) [-1 โฆ +1]
PIร COMPLESSA MA CONVERGENZA PIร RAPIDA
FUNZIONE:
๐ ๐๐๐ก = ๐ ๐๐๐ก = 2๐ 2 โ ๐๐๐ก โ 1 =
2
1 + ๐โ2โ๐๐๐ก
โ 1
DERIVATA:
๐โฒ ๐๐๐ก = 1 โ ๐ ๐๐๐ก 2
FUNZIONE DI ATTIVAZIONE
Le reti neurali sono composte da gruppi di neuroni artificiali organizzati a livelli.
๐ LIVELLO DI INPUT โโโ ๐ LIVELLI INTERMEDI (HIDDEN) โโโ ๐ LIVELLO OUTPUT
FEEDFORWARD: le connessioni collegano i neuroni da un livello a quello successivo
RECURRENT: sono previste connessioni di feedback verso livelli uguali o precedenti. Reti
piรน complesse, addestramento piรน complicato. Utili per la gestione di sequenze: hanno
effetto memoria che considera le informazioni in diversi istanti temporali. Esempio: Long
Short Term Memory (LSTM) net.
RETI NEURALI โข FEEDFORWARD vs RECURRENT
PERCEPTRON (PERCETTRONE)
Modello proposto da Rosenblatt nel 1965, simile a quello di McCulloch e Pitts.
Utilizza una funzione di attivazione lineare a soglia (scalino).
Addestramento tramite delta rule.
Rete a 2 livelli apprende solo mapping lineari.
MULTILAYER PERCEPTRON (MLP)
Rete feedforward con almeno 3 livelli con funzioni di attivazione non lineari.
UNIVERSAL APPROXIMATION THEOREM
(Teorema dโesistenza di Kolomogorov applicato alle reti neurali da Cybenco 1988 e Hornik 1989)
Una rete neurale multistrato, con un singolo hidden layer รจ in grado di apprendere
qualsiasi funzione continua e di approssimarla con qualsiasi grado di precisione
FORWAD PROPAGATION
Propagazione in avanti delle informazioni, dal livello di input al livello di output.
Numero totale di pesi rete 3 livelli (๐: ๐โ: ๐ ) = ๐ ร ๐โ + ๐โ ร ๐ + ๐โ ร ๐ (bias)
TRAINING: calcolo dei pesi w che determinano il mapping desiderato tra input e output.
Dimensioni ๐ dello spazio dei pattern = numero di neuroni dellโlivello di input
Numero ๐ di classi del classificatore = numero di neuroni del livello di output
Numero ๐โ di neuroni dei livelli hidden = iperparametro
Il training consiste nel calcolare i pesi che minimizzano lโerrore medio calcolato come
scostamento tra i vettori di output desiderati e quelli calcolati dalla rete.
Pesi iniziali random nei range ยฑ1/ ๐ (input โโโ hidden) e ยฑ1/ ๐โ (hidden โโโ output)
ERROR BACKPROPAGATION (GRADIENT DESCENT)
LOSS = ๐ฝ ๐, ๐ โก
1
2 ๐=1โฆ๐ ๐ก ๐ โ ๐ง ๐
2 con ๐=pesi; ๐=pattern; ๐ก ๐=obiettivo; ๐ง ๐=output
๐ฝ ๐ รจ la media su tutti i pattern del training set. Ridotto modificando i pesi in direzione
opposta al gradiente di ๐ฝ.
Modifica pesi hidden-output: ๐ค๐๐ = ๐ค๐๐ + ๐ โ ๐ฟ ๐ โ ๐ฆ๐
Modifica pesi input-hidden: ๐ค๐๐ = ๐ค๐๐ + ๐ โ ๐ฟ๐ โ ๐ฅ๐
Se si usano i bias pesi ๐ค0๐ e ๐ค๐0 si aggiornano ponendo ๐ฆ0 = 1 e ๐ฅ0 = 1
๐ รจ il LEARNING RATE: modificabile adeguatamente durante il training
โข Troppo piccolo ๏จ convergenza lenta
โข Troppo grande ๏จ oscillazione, o divergenza
MULTILAYER PERCEPTRON (MLP)
13. Scuola di Ingegneria e Architetturaโข Sede didatticadi Cesena
Corso di studio Ingegneria e Scienze informatiche (laurea magistrale)
Insegnamento 81610 โข MachineLearning โข A.A. 2017/2018
Titolare: Prof. Davide Maltoni โข Appunti di Nicola Gentili
RETI NEURALI
PATTERN ANALIZZATI SEQUENZIALMENTE โข PESI AGGIORNATI DOPO OGNI PATTERN
EPOCHE = 0
DO
EPOCHE++
PER OGNI PATTERN x DEL TRAINING SET
FORWARD STEP SUL PATTERN x
ERRORE TOTALE = ERRORE TOTALE + ERRORE SUL PATTERN x
BACKWARD STEP (calcolo dei gradienti)
AGGIORNAMENTO PESI HIDDEN-OUTPUT
AGGIORNAMENTO PESI INPUT-HIDDEN
LOSS = ERRORE TOTALE / n
CALCOLO ACCURACY SU TRAINING SET E VALIDATION SET
CONTINUA FINO A CONVERGENZA O NUMERO MASSIMO DI EPOCHE
ALGORITMO BACKPROPAGATION (ONLINE)
PATTERN ANALIZZATI IN ORDINE CASUALE โข PESI AGGIORNATI DOPO OGNI BATCH
EPOCHE = 0
DO
EPOCHE++
* RANDOMSORT(TRAINING SET)
* PER OGNI MINI-BATCH B DI DIMENSIONE mb DEL TRAINING SET
* RESET GRADIENTE
* PER OGNI PATTERN x DEL MINI-BATCH B
FORWARD STEP SUL PATTERN x
ERRORE TOTALE = ERRORE TOTALE + ERRORE SUL PATTERN x
BACKWARD STEP (calcolo dei gradienti)
AGGIORNAMENTO PESI HIDDEN-OUTPUT
AGGIORNAMENTO PESI INPUT-HIDDEN
LOSS = ERRORE TOTALE / n
CALCOLO ACCURACY SU TRAINING SET E VALIDATION SET
CONTINUA FINO A CONVERGENZA O NUMERO MASSIMO DI EPOCHE
Se la dimensione dei mini-batch = 1 ๏จ caso online
Se la dimensione dei mini-batch = n ๏จ full batch
Numero iterazioni totali = dimensione mini-batch โจฏ numero mini-batch โจฏ epoche
SOCHASTIC GRADIENT DESCENT (SGD)
Funzione di attivazione che permette di trasformare i valori di net prodotti dallโultimo
livello della rete in probabilitร delle classi.
Nรฉ sigmoid nรฉ tanh sono interpretabili come probabilitร .
๐ง ๐ = ๐ ๐๐๐ก ๐ =
๐ ๐๐๐ก ๐
๐=1โฆ๐ ๐ ๐๐๐ก ๐
SOFTMAX
Funzione di loss probabilistica piรน efficace in problemi di classificazione multi-classe.
๐ป ๐, ๐ = โ
๐ฃ
๐ ๐ฃ โ log ๐ ๐ฃ โฅ 0
๐ป ๐, ๐ minimo quando il vettore target coincide con lโoutput.
Quando il vettore target per un pattern assume la forma one-hot (tutti 0 tranne 1 per la
classe corretta) allora
๐ฝ ๐, ๐ โก ๐ป ๐, ๐ = โ log ๐ง ๐ = โ log
๐ ๐๐๐ก ๐
๐=1โฆ๐ ๐ ๐๐๐ก ๐
= โ๐๐๐ก ๐ + log
๐=1โฆ๐
๐ ๐๐๐ก ๐
CROSS-ENTROPY LOSS
CLASSIFICAZIONE MULTI-CLASSE
Funzione di attivazione softmax nel livello finale e cross-entropy come loss function
CLASSIFCAZIONE BINARIA
Preferibile usare una rete con un neurone di uscita
CLASSIFICAZIONE MULTI-LABEL
Caso particolare in cui ogni pattern puรฒ appartenere a piรน classi, gestibile come
classificazione binaria su piรน neuroni
REGRESSIONE (MULTIVARIATE MULTIPLE REGRESSION)
Meglio utilizzare sum of squared error come loss function
PRATICA
14. Scuola di Ingegneria e Architetturaโข Sede didatticadi Cesena
Corso di studio Ingegneria e Scienze informatiche (laurea magistrale)
Insegnamento 81610 โข MachineLearning โข A.A. 2017/2018
Titolare: Prof. Davide Maltoni โข Appunti di Nicola Gentili
RETI NEURALI
Tecniche finalizzate a ridurre il rischio di overfitting in caso di molti parametri (pesi).
Molto importante quando il training set non ha grandi dimensioni rispetto al modello.
Termine di regolarizzazione ๐ฝ ๐๐๐ก = ๐ฝ ๐ถ๐๐๐ ๐ โ๐ธ๐๐ก๐๐๐๐ฆ + ๐ฝ ๐ ๐๐
Regolarizzazione L2 ๐ฝ ๐ ๐๐ =
1
2
๐ ๐ ๐ค๐
2
๐, in L1 e L2, regola la forza della regolarizzazione
Regolarizzazione L1 ๐ฝ ๐ ๐๐ =
1
2
๐ ๐ ๐ค๐ puรฒ essere piรน ยซsparsificanteยป: numerosi pesi a 0
Lโaggiornamento dei pesi a seguito di backpropagation include un ulteriore termine
denominato weight decay
๐ค ๐ = ๐ค ๐ โ ๐ โ
๐๐ฝ ๐ถ๐๐๐ ๐ โ๐ธ๐๐ก๐๐๐๐ฆ
๐ ๐ค ๐
+ ๐ โ ๐ ๐
REGOLARIZAZIONE
MOMENTUM (๐)
SGD con mini-batch puรฒ determinare una discesa del gradiente a zig-zag: rallenta la
convergenza o la rende instabile
Per evitare oscillazioni si puรฒ emulare il comportamento fisico considerando
lโaggiornamento precedente per ogni parametro, calcolando il successivo aggiornamento
come combinazione lineare dellโaggiornamento precedente e del gradiente attuale.
๐ค ๐ = ๐ค ๐ + ๐ โ โ๐ค ๐ โ ๐ โ
๐๐ฝ ๐๐๐ก
๐ ๐ค ๐
๐ (iperparametro) ha valore tipico = 0.9
ALTRE REGOLE DI AGGIORNAMENTO PESI
โข Nesterov Accelerate Gradient (NAG)
โข Adaptive Gradient (Adagrad)
โข Adadelta
โข Adam (stato dellโarte)
โข Rmsprop
LEARNING RATE ADATTATIVO
15. Scuola di Ingegneria e Architetturaโข Sede didatticadi Cesena
Corso di studio Ingegneria e Scienze informatiche (laurea magistrale)
Insegnamento 81610 โข MachineLearning โข A.A. 2017/2018
Titolare: Prof. Davide Maltoni โข Appunti di Nicola Gentili
DEEP LEARNING
DEEP NEURAL NETWORK (DNN) sono reti ยซprofondeยป composte da almeno 2 livelli
hidden organizzati gerarchicamente.
Superano lโUniversal Approximation Theorem in quanto esistono funzioni computabili con
complessitร polinomiale operando su k livelli che assumono complessitร esponenziale su
k-1 livelli (Hastad, 1986).
Lโorganizzazione gerarchica consente di condividere e riutilizzare informazioni,
selezionando โ ad esempio โ feature specifiche o scartando dettagli inutili.
LIVELLI E COMPLESSITร
Il numero di livelli definisce la complessitร di una rete associato al numero di neuroni,
connessioni e pesi.
Esempi di reti: AlexNet (8 livelli, 650K neuroni, 60M parametri), VGG-16 (16 livelli, 15M
neuroni, 140M parametri), corteccia umana (21โจฏ109 neuroni e 1.5โจฏ1014 sinapsi).
GERARCHIA DI LIVELLI
MODELLI FEEDFORWARD
Classificazione o regressione, con training prevalentemente supervisionato
โข CONVOLUTIONAL NEURAL NETWORK (CNN)
โข FULLY CONNECTED DNN (FC DNN)
โข HIERARCHICAL TEMPORAL MEMORY (HTM)
MODELLI GENERATIVI
Training non supervisionato, utili per pre-training di altri modelli e per produrre feature rilevanti
โข STACKED (DE-NOISING) AUTO-ENCODERS
โข RESTRICTED BOLTZMANN MACHINE (RBM)
โข DEEP BELIEF NETWORKS (DBN)
MODELLI RICORRENTI
Utilizzati per sequenze, speech recognition, sentiment analysis, Natural Language Processing
โข RECURRENT NEURAL NETWORK (RNN)
โข LONG SHORT-TERM MEMORY (LSTM)
REINFORCEMENT LEARNING
Utilizzati per apprendere comportamenti
โข DEEP Q-LEARNING
TIPOLOGIE DEEP NEURAL NETWORK (DNN)
BIG DATA + GPU COMPUTING + VANISHING (OR EXPLODING) GRADIENT
INGREDIENTI
Introdotte da LeCun et.all nel 1998, usano le reti cercando di simulare due tipi di capacitร :
feature (simple) detection e pooling (fusione) degli output della simple detection.
PREPROCESSING LOCALE: i neuroni sono connessi solo localmnete (riduzione connessioni)
CONDIVISIONE PESI: i pesi sono condivisi a gruppi (neuroni diverse/stesse elaborazioni)
ALTERNANZA LIVELLI: feature extraction e pooling.
ARCHITETTURA
INPUT LAYER: mappa direttamente i pixel dellโimmagine
HIDDEN LAYER: feature extraction e pooling
OUTPUT LAYER: mappa le classi
CONVOLUZIONE
Operazione di image processing che, tramite lโapplicazione di filtri digitali, condensa le
informazioni di unโarea di pixel in un valore attraverso un prodotto scalare tra una
maschera e lโarea di pixel in input. Un neurone al primo livello hidden opera come filtro di
convoluzione direttamente sui pixel dellโimmagine (neuroni input layer).
VOLUMI
I neuroni di ciascun livello sono organizzati in griglie o volumi 3D. I filtri operano su una
porzione dei volumi di input.
Ogni ยซfettaยป di volumi definisce una feature map (es. componenti RGB in input).
I pesi sono condivisi a livello di feature map.
APPLICAZIONE FILTRI
STRIDE: passo con il quale si fa scorrere un filtro, passi piรน alti riducono dimensioni output
PADDING: spessore, in pixel, del bordo aggiunto (valori 0)
๐ ๐๐๐ =
๐๐๐ โ ๐ญ + ๐ โ ๐ท๐๐ ๐ ๐๐๐
๐บ๐๐๐๐ ๐
+ ๐
๐๐๐ ๐๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐ข๐ก ๐ญ ๐๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐ก๐๐
๐ ๐๐๐ ๐๐๐๐๐๐ ๐๐๐๐ ๐๐ข๐ก๐๐ข๐ก
CONVOLUTIONAL NEURAL NETWORK (CNN)
Lโutilizzo di RELU come funzione di attivazione risolve i problemi legati
allโuso della sigmoide (riduzione significativa del valore del gradiente
lontano dallโoutput, annullamento gradiente in regioni saturate per
derivata = 0).
Derivata = 0 per valori negativi e 1 per valori positivi di net.
Nessuna saturazione sui valori positivi.
Attivazioni sparse (neuroni spenti) possono conferire maggiore robustezza.
RECTIFED LINEAR (RELU) funzione di attivazione
16. Scuola di Ingegneria e Architetturaโข Sede didatticadi Cesena
Corso di studio Ingegneria e Scienze informatiche (laurea magistrale)
Insegnamento 81610 โข MachineLearning โข A.A. 2017/2018
Titolare: Prof. Davide Maltoni โข Appunti di Nicola Gentili
DEEP LEARNING
Un livello di POOLING esegue unโaggregazione delle informazioni del volume di input.
Genera feature map dimensione inferiore cercando di conferire invarianza.
Opera generalmente a livello di ogni feature map del volume di input.
Gli operatori piรน utilizzati sono la media e il massimo.
Non ci sono parametri da apprendere.
CNN POOLING
Nelle moderne CNN per classificazione รจ comune trovare un livello finale costituito da un
neurone per ogni classe con funzione di attivazione SoftMax o Cross-Entropy per
garantire di ottenere valori interpretabili come probabilitร .
SOFT MAX E CROSS ENTROPY
ARCHITETTURA ESEMPIO
Livello
Funzione
Parametri
Dimensioni
(Neuroni)
Connessioni e
pesi (entranti)
INPUT 32โจฏ32โจฏ3
HIDDEN
CONVOLUZIONE
Filtri: 5โจฏ5 โข FeatureMaps: 16 โข Stride: 1
โข Padding: 2 โข Attivazione ReLu
32โจฏ32โจฏ16
C: 5โจฏ5โจฏ3โจฏ16โจฏ32โจฏ32
P: 16โจฏ(5โจฏ5โจฏ3+1)
HIDDEN
POOLING
Filtri: 2โจฏ2 โข Stride: 2 โข Tipo: Max 16โจฏ16โจฏ16
C: 16โจฏ16โจฏ16โจฏ2โจฏ2โจฏ1
P: 0
HIDDEN
CONVOLUZIONE
Filtri: 5โจฏ5 โข FeatureMaps: 20 โข Stride: 1
โข Padding: 2 โข Attivazione ReLu
16โจฏ16โจฏ20
C: 5โจฏ5โจฏ16โจฏ16โจฏ16โจฏ20
P: 20โจฏ(5โจฏ5โจฏ16+1)
HIDDEN
POOLING
Filtri: 2โจฏ2 โข Stride: 2 โข Tipo: Max 8โจฏ8โจฏ20
C: 8โจฏ8โจฏ20โจฏ2โจฏ2โจฏ1
P: 0
HIDDEN
CONVOLUZIONE
Filtri: 5โจฏ5 โข FeatureMaps: 20 โข Stride: 1
โข Padding: 2 โข Attivazione ReLu
8โจฏ8โจฏ20
C: 8โจฏ8โจฏ20โจฏ5โจฏ5โจฏ20
P: 20โจฏ(5โจฏ5โจฏ20+1)
HIDDEN
POOLING
Filtri: 2โจฏ2 โข Stride: 2 โข Tipo: Max 4โจฏ4โจฏ20
C: 4โจฏ4โจฏ20โจฏ2โจฏ2โจฏ1
P: 0
OUTPUT SofMax con 10 classi 10
C: 10โจฏ4โจฏ4โจฏ20
P: 10โจฏ(4โจฏ4โจฏ20+1)
31.562 NEURONI TOTALI (incluso livello input)
3.942.784 CONNESSIONI TOTALI
22.466 PESI TOTALI (inclusi bias)
Implementazione da zero: training & inference architetture + training backpropagation
del gradiente + ottimizzazione GPU = molte risorse tempo per sviluppo e debug.
Framework: Caffe(Berkeley), Theano(Montreal), Torch(LeCun), TensorFlow(Google), Digits(Nvidia)
IN PRATICA
FINE TUNING: si sostituisce il livello di output di una rete giร addestrata adeguando il
numero di classi, si utilizzano i valori iniziali dei pesi della rete pre-addestrata tranne che
per le connessioni al livello di output e si eseguono nuove iterazioni di addestramento.
RIUTILIZZO FEATURES: si estraggono le feature generate durante lโaddestramento di una
rete esistente e le si utilizzano per addestrare un classificatore esterno; le feature sono
generate nei i livelli intermedi (Es. L5, L6, L7 di CaffeNet).
TANSFER LEARNING
Lโobiettivo di apprendere un comportamento รจ determinato dallโindividuazione delle attivitร che
massimizzano i reward. In molti casi reali applicati ad ambienti stocastici (in cui sequenze di azioni
identiche portano a risultati diversi) si applica una logica di convenienza immediata pesando
maggiormente i reward vicini nel tempo: ๐ ๐ก = ๐๐ก + ๐พ1 โ ๐๐ก+1 + โฏ + ๐พ ๐โ๐ก โ ๐๐ ๐๐๐ 0 โค ๐พ โค 1
Q-LEARNING: ๐ ๐ก = ๐๐ก + ๐พ โ ๐ ๐ก+1 definito ricorsivamente, sfrutta lโequazione di Bellman basata su
una funzione definita a partire dallo stato iniziale ๐ ๐ ๐ก, ๐ ๐ก = ๐๐ก+1 + ๐พ โ max
๐
๐ ๐ ๐ก+1, ๐ .
Lโapprendimento avviene iterando una serie di episodi durante i quali, ad ogni passo, si seleziona
lโazione ottimale e si osserva lโesito delle scelte allo stato successivo. Utilizza un valore di learning
rate che definisce la ยซgrandezzaยป dei passi in funzione delle scelte fornite dallโequazione di Bellman;
progressivamente ridotto durante lโapprendimento. Dimensioni di Q=possibili statiโจฏpossibili azioni.
DEEP Q-LEARNING: CNN usata per approssimare funzioni Q di enormi dimensioni.
REINFORCEMENT LEARNING/DEEP QLEARNING