Lezioni Flashcards
Perché ML?
Data driven, molto piú semplice per alcuni tasks (riconoscimento lettere).
Obbiettivi di ML?
Creare funzioni, dipendenze, ipotesi che partendo dai dati permettono di ottenere risultati accurati.
Come funziona in ML un predictive System?
Partendo dai Data, tramite modello, effettua prediction. Il modello é composto da Task, learning algoritmhs e validation.
Che tipologie di data possiamo avere?
Flat (tabelle) o strutturati (grafi, db).
Cosa sono noise, outliers, feature selection,
Noise, é il fattore esterno derivamente dalla randomness dei dati misurati. Outliers, sono i dati inusuali rispetto a quelli registrati. Feature selection sono un numero piccolo di info che possono comunque dare abbastanza info come optimal input.
Cosa sono i tasks in ML e di che tipologia sono
indicano lo scopo dell’applicazione, quali info abbiamo, cosa vogliamo raggiungere, natura dei risultati.
Possono essere Predittivi (classification, regression), dove avró dati futuri e devo capire di che tipo oppure quali potrebbero essere, oppure descrittivi (cluster analysis, association rules) che trovano dei subsets in gruppi di dati.
Differenza tra supervisioned learning e unsupervisioned
Supervisioned, parte da traning examples e cerca una buona approssimazione per dati mai visti, Classificazione, dove devo capire a che classe appartiene un dato e regression, dove devo capire il valore numerico di un dato, partendo da precedenti.
Unsupervisioned hanno un cluster e devono analizzarlo.
Come puó essere vista la classificazione?
Come una allocazione dell’input space in regioni (es. 0/1).
La regressione come vede i dati in input?
Potrebbe vedere dati in input come f(x) + random noise
Altre tipologie di tasks
Semi-supervisionati che permettono di combina esempli labeled e non per costruire classificatore.
Renforcement learning adattamento dei sistemi autonomi.
Modelli cosa sono
Hanno lo scopo di catturare relazione tra dati, basati su traning example, target function f, ipotesi di funzione simile ad f, Spazio delle ipotesi (tutte le possibile ipotesi che possono essere output del learning algo)
Esempi di modelli
Modelli lineari restituiscono valore, simbolici (danno in base a regole logiche output 0 o 1), probabilistici (stimano p), k nearest neighbor regression (predicono y di neareast value), neural networks (approssimano relazioni non lineari)
No free lunch
Non esiste un modello migliore rispetto agli altri, ogni modello avrá delle pecche su qualcosa.
Non tutti i modelli uguali, dobbiamo vedere flexibility in base a caso d’uso.
Learning algoritmh
Dato lo spazio delle ipotesi, partnedo da initial solution, cerco soluzioni con minimo errore che portano a optimal soluition.
Quali sono i bias induttivi che possiamo avere?
Questi possono essere: bias nel modello (language bias), ossia prendiamo in considerazione solo alcuni valori.
Bias Search, che ha preferenze nei dati analizzati, andandoli a semplificare.
Entrambi
Esempio funzione learning booleana
Mal formata, possiamo avere 2ˆ2ˆn possibili funzioni per geneare lookup table, quindi non sostenibile.C
Cosa é il version space?
Spazio di tutte le possibili ipotesi consistenti con i nostri dati.
Loss nei task.
Possiamo calcolare errore come E(h(w)) = 1/L * sommatoria dei L valori Loss(h(w), real(w)) ; dove la loss la posso misurare con Mean Square Error. (dp - h(xp))ˆ2
ML in 4 punti
Data: informazioni rappresentate tramite strutture dati
Task: supervisionati, unsupervisionati
modello che descrive relazione tra i dati
Learning algo: effettua una ricerca euristica all’interno dello spazio delle ipotesi.
Fasi del ML
Learning per costruire modello
Prediction che valuta la funzione di apprendimento riguardo dei sample data nuovi
Inductive learning hypotesis: ogni h che approssima f in modo adeguato per il training set, approssimerá anche per valori nuovi.
Overfitting: un learner effettuerá overfitting se ha errore empirico sul training basso E, ed un errore generalizzato R alto (sui dati non visti).
Vapnik-chervonenkis dim and SLT
Con questo teorema garantiamo che R <= epsilon(1/L, VC, 1/delta) ; formula che tiene con Pr(1 - delta).
VC indica invece complessitá del modello in uso, piú modello complesso, maggiore upperbound (es. numero di parametri in input al modello).
Validation in ML
Avviene dopo training del modello.
Model selection: stimo le performance (errore generalizzato) di differenti modelli per scegliere il migliore
Model assessment: una volta scelto il migliore, stimo il suo rischio generalizzato su nuovi test data.
Come suddivido dati?
50 % training, 25 validation, 25 % test per assessment.
Classification accuracy, come funziona confusion matrix?
TP, FN, FP, TN, specificitá = TN / (TP + FP)
sensitivity = TP / TP + FN
ROC Curve
Indica migliori classificatori (grande area sotto la curva), peggior classificatore diagonale (poiché se peggiore di diaognale mi basta fare 1- classificatore per risposta esatta.
y = TP
x = FP
Design ciclo
Colleziono dati: selezione, integration, cleaning
Data rappresentazione: seleziono feature, trovo outliers
Scelgo modello, costruisco, valuto e deploy del modello.
Misinterpretations
Per ogni modello statistico, posso avere casuality che non possiamo comprendere da analisi dei dati.
Linear model
Cerco funzione lineare che fitta meglio i miei dati y = m * x + b
Lest mean square formula, come risolverlo
sommatoria in p … l (yp - hw(xp))ˆ2 , dove hw(xp) = m * x + b .
Calcolo il gradiente, ora il gradiente se raggiunge zero, vuol dire che sono in un minimo locale , altrimenti sposto parametri verso segno del gradiente.
K-nn
Dato un punto calcolo distanza con tutti gli altri punti, ordino distanze e in base a valore di k restituisco valore piu presente nei retrieved values.
Bayes error rate
Rappresenta il minimo errore teorico che possiamo ottenere
Improvements K-NN
Weights delle features in accordo alla loro importanza, eliminando quelle meno relevant.
Task di classificazione
Nel task di classificazione ogni input ha una label, w^T X = w0 + w1x1 + w2x2 = 0
Dove w0 é detto bias, definiamo invece threshold = h(w1x1 + w2x2) > -w0
Learning algorithms, online/batch
Uno basato su SVD, applicabile solo a linear models
Uno basato su gradient descent, dove aggiungo delta w ai pesi, delta w influenzato da gradiente.
Online aggiorna continuamente i pesi, batch raccoglie l elementi e li aggiunge per computare l’errore.
Search e inductive bias in language problems
language bias ci limitiamo a linear model, search bias supponiamo che diminuendo LMS andremo a risolvere problema.
Linear basis expansion (LBE), e limiti
Possiamo aggiungere dimensionality semplicmente trasformando x -> xˆ2 o rad(x) o norma di x.
problema siamo limitati da dimensionality e potremmo andare in overfitting
Tikhonow
Per diminuire complessitá del modello utilizziamo tikhonow che aggiunge alla loss + delta ||w||^2
Eagar timing vs lazy timing
Eagar analizzo tutti i dati e creo modello, lazy prima creo modello e poi imparo dai dati.
K-NN varianti
K-NN per piu classi, assegno la classe piu presente
K-NN pesato, il peso che hanno i punti nella media, viene diviso per la distanza al quadrato di questi dal punto che vogliamo assegnare al cluster.
Limiti K-NN
curse of dim, all’aumentare del numero di dimensioni, abbiamo bisogno di un numero di elementi esponenzialmente maggiore di prima.
costo computazionale.
scelta di K.
Sensibilitá al rumore.
Come funziona un neurone?
Abbiamo una sommatoria di inputs con weights, e a questa sommatoria andiamo ad applicare una funzione di activation: linear, threshold, altre (tipo sigmoide).
problemi nel training NN
over parametrizzazione.
valori iniziali randomici, da evitare pesi troppo grandi o tutti zero, meglio in un range.
Piu punti di minimo locali, utile effettuare avg minimi locali.
Il global minimo perchè limita?
Per inseguirlo possiamo andare a creare un modello troppo complesso.
Online, batch, mini batch
Con modalità online (stocastica) vado a ad effettuare upgrade per ogni pattern.
Con batch sommo tutti i gradienti e poi effettuo modifiche.
Mini batch migliore, poichè sommo un btach di k gradienti, fino ad arrivare a tutti i pattern. (SGD minibatch) i batch prendono dei set randomici dai sampling.
Momentum come funziona?
Aggiungo al gradiente anche il delta world, che sarebbe gradiente precedentemente calcolato. Questo per evitare convergenza verso minimi locali.
Nesterov momentum
Aggiungo prima il momentum e poi applico gradiente.
Variable learning rate
Posso utilizzare un learning rate ns = (1 - alfa) n0 + alfa nt.
stopping criteria per training NN
Di base si utilizza errore medio minore di E.
per classification #miss
per tollerance registro il max.
Spesso utilizzo nessun cambio di peso rilevante, gradiente quasi pari a zero.
Come regolarizzo NN?
Aggiungo alla loss i weights (Tikhonov)
La regolarizzazione aiuta ad arrivare alla convergence stability?
No, aiuta a diminuire complessità modello.
Quante units?
costruttivo, inizio con una rete piccola ed aggiungo units.
Pruning, inizio con rete grande e poi elimino pesi o units.
Costructive correlation
Inzio con inputs collegati ad outputs, se non raggiungo errore desiderato, aggiungo unit e cosi in modo iterativo.