Teoria Flashcards
Nell’ambito dell’apprendimento automatico quali sono le principali cause di overfitting?
- Se i dati non sono sufficientemente numerosi per la complessità del problema e del modello scelto
- Se i gradi di libertà del classificatore sono eccessivi, si raggiunge elevata accuratezza su Train, ma non su Valid (scarsa generalizzazione)
- le dimensioni del test set sono limitate
- Nei processi di addestramento iterativo, tipicamente dopo un certo numero di iterazioni l’accuratezza su Valid non aumenta più (e può iniziare a decrescere) a causa dell’overfitting.
Monitorando l’andamento si può arrestare l’addestramento nel punto ideale.
Quanti sono i parametri indipendenti di una distribuzione multinormale nel caso 3-dimensionale? Motivare la risposta.
𝛍 = [𝜇1, 𝜇2 … 𝜇𝑑] è il vettore medio è Σ = [𝜎𝑖𝑗] la matrice di covarianza (𝑑 × 𝑑).
La matrice di covarianza è sempre simmetrica e definita positiva, pertanto ammette inversa. Essendo simmetrica il numero di parametri che la definisce è 𝑑 ∙ (𝑑 + 1)/2
Quali sono le più comuni funzioni di attivazione utilizzate per neuroni artificiali? Perché è necessario che siano non-lineari e differenziabili (esistenza derivata)?
Le reti neurali più comunemente utilizzate operano con livelli continui e 𝑓(∙) è una funzione non-lineare ma continua e differenziabile (quasi ovunque).
- Perché non-lineare? Se vogliamo che una rete sia in grado di eseguire un mapping (complesso) dell’informazione di input sono necessarie non-linearità.
- Perché continua e differenziabile? Necessario per la retropropagazione dell’errore (come scopriremo presto).
Una delle funzioni di attivazione più comunemente utilizzata è la sigmoide nelle varianti:
- standard logistic function (chiamata semplicemente sigmoid)
- tangente iperbolica (tanh)
- Funzioni di attivazione più recenti (Relu, Elu) introdotte per reti profonde (deep-learning)
Quali sono le più note tecniche di riduzione di dimensionalità? Quali i loro tipici utilizzi?
Obiettivo dei metodi per la riduzione di dimensionalità (dimensionality reduction) è quello di eseguire un mapping dallo spazio iniziale R𝑑 a uno spazio di dimensione inferiore R𝑘, 𝑘 < 𝑑.
Può essere vista come una forma di compressione (con perdita di informazione). Obiettivo è scartare le informazioni non rilevanti o meno rilevanti per il problema di interesse
Riduzione di dimensionalità non significa mantenere alcune «dimensioni» e cancellarne altre, ma «combinare» le dimensioni in modo opportuno.
Le più note tecniche di riduzione di dimensionalità sono:
- Principal Component Analysis (PCA): trasformazione nonsupervisionata nota anche come Karhunen Loeve (KL) transform. Esegue un mapping lineare con l’obiettivo di preservare al massimo l’informazione dei pattern.
- Linear Discriminant Analysis (LDA): il mapping è ancora lineare, ma in questo caso è supervisionato. Mentre PCA privilegia le dimensioni che rappresentano al meglio i pattern, LDA privilegia le dimensioni che discriminano al meglio i pattern del TS.
- t-distributed Stochastic Neighbor Embedding (t-SNE): trasformazione non lineare e non supervisionata, specificatamente ideata per ridurre dimensionalità a 2 o 3 dimensioni onde poter visualizzare dati multidimensionali.
- UMAP (Uniform Manifold Approximation and Projection for Dimension Reduction) è una tecnica di riduzione di dimensionalità (non lineare e non supervisionata) simile a t-SNE, utile per la visualizzazione 2D o 3D di dati multidimensionali.
Come si misurano le prestazioni di un classificatore?
- Accuratezza: in un problema di Classificazione, l’accuratezza di classificazione [0…100%] è la percentuale di pattern correttamente classificati.
- Errore: l’errore di classificazione è il complemento dell’accuratezza.
Nella formulazione dell’SVM lineare la funzione obiettivo richiede di massimizzare il margine.
L’ottimizzazione è però vincolata; in cosa consistono i vincoli? quanti sono?
Nel caso di pattern separabili:
- L’iperpiano ottimo secondo SVM è quello soddisfa i vincoli di separazione dei pattern e massimizza il margine.
Nel caso di pattern non separabili:
- L’iperpiano ottimo deve in questo caso ancora massimizzare il margine, ma allo stesso tempo minimizzare il numero di elementi non correttamente classificati.
Cosa si intende per risoluzione dei problemi con approccio “forza bruta”. Si tratta di intelligenza artificiale?
Brute-Force (ricerca esaustiva): in alcuni domini applicativi un calcolatore è in grado di risolvere problemi in modo ottimo semplicemente enumerando e valutando tutte le possibili alternative.
Talvolta si utilizza il termine Weak AI (intelligenza artificiale debole) per caratterizzare sistemi capaci di risolvere (problem solvers) problemi complessi senza però capacità di ragionamento e comprensione
Come opera un livello di convoluzione di una CNN?
La convoluzione è una delle più importanti operazioni di image processing attraverso la quale si applicano filtri digitali.
Un filtro digitale (una piccola maschera 2D di pesi) è fatto scorrere sulle diverse posizioni di input; per ogni posizione viene generato un valore di output, eseguendo il prodotto scalare tra la maschera e la porzione dell’input coperta.
Consideriamo i pixel come neuroni e le due immagini di input e di output come livelli successivi di una rete. Dato un filtro 3x3, se colleghiamo un neurone ai 9 neuroni che esso «copre» nel
livello precedente, e utilizziamo i pesi del filtro come pesi delle connessioni 𝑤, notiamo che un classico neurone (di una MLP) esegue di fatto una convoluzione.
Definire i problemi di Classificazione e Regressione evidenziandone le differenze e fornendo per ciascuno esempi reali della loro applicazione.
- Classificazione: assegnare una classe a un pattern.
Necessario apprendere una funzione capace di eseguire il mapping dallo spazio dei pattern allo spazio delle classi. Si usa spesso anche il termine riconoscimento.
Nel caso di 2 sole classi si usa il termine binary classification, con più di due classi multi-class classification.Esempi di problemi di classificazione:- Spam detection
- Credit Card fraud detection
- Face recognition
- Pedestrian classification
- Medical diagnosys
- Stock Trading
- Regressione: assegnare un valore continuo a un pattern. Utile per la predizione di valori continui. Risolvere un problema di regressione corrisponde ad apprendere una funzione approssimante delle coppie «input, output» date.Esempi di problemi di regressione:
- Stima prezzi vendita appartamenti nel mercato immobiliare
- Stima del rischio per compagnie assicurative
- Predizione energia prodotta da impianto fotovoltaico
Come può essere scelto nella pratica il numero di cluster in un algoritmo di clustering come K-means?
- Discontinuità nel grafico: un modo più efficace per determinare il numero ottimale di cluster è quello di cercare punti di inflessione (anche detti elbow) nel valore di 𝐽𝑒 al variare di 𝑠.
- Silhouette score: un criterio più oggettivo (che funziona per cluster sferici come quelli prodotti da k-means) e quello di calcolare il silhouette score come media dei silhouette coefficient di ciascun pattern e scegliere 𝑠 che lo massimizza.
Quali sono le limitazioni di Q learning per risolvere problemi complessi? Le tecniche di deep learning possono essere di aiuto in questo caso? Come?
- Nel Q-learning la funzione 𝑄(𝑠, 𝑎) indica l’ottimalità (o qualità) dell’azione 𝑎 quando ci si trova in stato s.
- Il punto cruciale è dunque l’apprendimento della funzione 𝑄.
- Problema (pratico): quanto è grande 𝑄 ?
- Tanti valori quanti sono i possibili stati x le possibili azioni
- L’idea consiste nell’approssimare la funzione 𝑄 con una rete neurale deep (CNN) che, per ogni stato di input, fornisce in output un valore di qualità per ogni possibile azione
Nell’ambito dei multi-classificatori che cosa è e come funziona il Borda count?
Borda count: ogni classificatore invece di una singola classe, produce una classifica o ranking delle classi (dalla prima all’ultima) a seconda della probabilità che a ciascuna di esse appartenga il pattern da classificare.
I ranking sono convertiti in punteggi e poi sommati; la classe con il più elevato punteggio finale è quella scelta dal multiclassificatore. Rispetto a majority vote rule, considera anche i «non primi» di ogni classificatore.
Fare esempi pratici di ragionamento induttivo e deduttivo.
- Deduttivo
- REGOLA (C → R): Tutti gli uomini sono mortali
- CASO (C1): Socrate è un uomo
- RISULTATO (R1): Socrate è mortale
- Induttivo
- Nel ragionamento induttivo, diversamente da quello deduttivo, le premesse (caso/i particolare/i) forniscono un’evidenza più o meno forte a sostegno della conclusione (generalizzazione), ma non ne garantiscono necessariamente la verità
- CASO (C1): Socrate era un uomo
- RISULTATO (R1): Socrate morì
- REGOLA (C → R): Tutti gli uomini sono mortali
Che cosa si intende per clustering? Fare esempi di applicazioni.
Con il termine Clustering (in italiano «raggruppamento») si denota un famiglia di metodi non supervisionati in grado di individuare raggruppamenti intrinseci (cluster) di pattern nello spazio
multidimensionale, e (opzionalmente) di definire in corrispondenza di tali raggruppamenti le classi (incognite).
Il clustering ha applicazioni in numerose discipline (pattern recognition, machine learning, computer vision, data mining, database, …)
Cosa si intende per future reward nell’ambito del reinforcement learning? Fare un esempio.
Il future reward è la somma di tutti i reward che saranno ottenuti in futuro.
Viene utilizzo come criterio per scegliere la mossa allo stato i-esimo in modo che massimizzi il future reward.
Cosa si intende per multi-classificatore? Quando un multi-classificatore è efficace?
Un multi-classificatore è un approccio dove diversi classificatori sono utilizzati (normalmente in parallelo, ma talvolta anche in cascata o in modo gerarchico) per eseguire la classificazione dei
pattern; le decisioni dei singoli classificatori sono fuse ad un certo livello del processo di classificazione.
La combinazione è efficace solo quando i singoli classificatori sono (almeno parzialmente) indipendenti tra loro, ovvero non commettono gli stessi errori.
L’indipendenza (o diversità) è normalmente ottenuta:
- Utilizzando feature diverse (non correlate o poco correlate)
- Utilizzando algoritmi diversi per l’estrazione delle feature
- Utilizzando diversi algoritmi di classificazione
- Addestrando lo stesso algoritmo di classificazione su porzioni diverse del training set (bagging)
- Insistendo con l’addestramento sugli errori commessi dai predecessori (boosting)
Che cos’è il learning rate nell’ambito dell’apprendimento di reti neurali? Cosa succede se viene scelto un learning rate troppo piccolo o troppo grande?
- Il learning rate è il parametro che specifica di quanto si vuole andare a migliorare la soluzione durante backpropagation-
- Tarare il learning rate 𝜂 in modo ottimale è molto importante:
- se troppo piccolo convergenza lenta ed è più facile rimanere intrappolati in minimi locali.
- se troppo grande oscillazione e/o divergenza
Cosa si intende per K-fold cross-validation? Quali sono i vantaggi rispetto a un semplice split a due dei dati di training?
- Una scelta più robusta degli iperparametri (di fatto obbligatoria per dataset di piccole dimensioni) si ottiene con la procedura di k-fold Cross-Validation.
- Per ogni combinazione di iperparametri Hi che si vuole valutare:
- Si esegue 5 volte il training scegliendo uno dei fold come Valid e i 4 rimanenti come Train.
- Si calcola l’accuratezza avg_acci come media/mediana delle 5 accuratezze sui rispettivi Valid
- Si sceglie la combinazione di iperparametri con migliore avg_acc.
- Scelti gli iperparametri ottimali si riaddestra il modello su tutto il training set (5 fold) e, solo a questo punto, si verificano le prestazioni sul test set.
Quali sono i parametri di una distribuzione multinormale?
- 𝛍 = [𝜇1, 𝜇2 … 𝜇𝑑] è il vettore medio
- Σ = [𝜎𝑖𝑗] la matrice di covarianza (𝑑 × 𝑑).
Descrivere a grandi linee un classificatore Random Forest
- Appartiene alla famiglia di metodi di Bagging (Boostrap Aggregating)
- Estrazione con re-imbussolamento di un sottoinsieme 𝑆𝑗 di pattern dal training set (tipicamente i 2/3 del totale).
- Addestramento del classificatore 𝐶𝑗 sul sottoinsieme 𝑆𝑗
- Fusione dei classificatori (e.g., majority vote rule, somma)
- In Random Forest i singoli classificatori sono classification tree.
- Per la «crescita» dell’albero a partire da un training set, si sceglie (in modo greedy) ad ogni livello la coppia (feature, soglia di suddivisione) che meglio separa le classi.
- Per la classificazione di un nuovo pattern si visita l’albero e una volta giunti a una foglia, si classifica il pattern sulla base della classe più comune nel nodo (tra i pattern del training
set): majority vote rule
In Random Forest, per rendere maggiormente indipendenti i classificatori (tree):
- per ogni nodo la scelta della feature migliore su cui partizionare non è fatta sull’intero insieme delle 𝑑 feature (dimensionalità dei pattern), ma su un sottoinsieme random di 𝑑′ feature. Valore tipico 𝑑′ = sqrt(d)
Indicare le differenze tra le tecniche di riduzione di dimensionalità PCA e LDA.
- PCA: trasformazione non lineare. Il mapping lineare cerca di mantenere al massimo l’informazione
- LDA: mapping lineare supervisionato. Privilegia le dimensioni che discriminano meglio i pattern.
Descrivere a grandi linee l’algoritmo di Clustering K-means.
K-means: minimizza la distanza dai centroidi. Si parte da una soluzione base e si arriva iterativamente alla soluzione. Ad ogni iterazione si assegnano i pattern al cluster il cui centro è più vicino e poi si ricalcola il centroide. Si ripete tutto fino a che non si raggiunge stabilità.
Qual è l’idea di base dell’algoritmo backpropagation per l’addestramento di reti neurali?
L’idea alla base dell’algoritmo di backpropagation è quello di risolvere il problema del credit assignment, cioè individuare i pesi responsabili degli errori e far sì che tramite i training pattern il comportamento della rete venga spostato per minimizzare tali errori. Di fatto, arrivati alla fine della rete viene propagato all’indietro l’errore.
Nell’ambito dell’apprendimento automatico cosa si intende per generalizzazione e overfitting?
- Per generalizzazione si intende la capacità di spostare l’accuratezza ottenuta nel training set sul validation set.
- Per overfitting si intende il problema che si verifica quando il classificatore inizia ad “imparare a memoria” e quindi ottiene ottimi risultati nel training set ma scarsi nel validation; non c’è generalizzazione.
Rispetto a K-means l’approccio di clustering EM con Gaussian mixture quali maggiori flessibilità consente?
Il principale vantaggio che si ha è che si possono individuare anche cluster di forma ellissoidale che invece K-means non riesce ad individuare.
Indicare le principali “stagioni” nello sviluppo dell’intelligenza artificiale e machine learning.
- Nascita e anni d’oro (1940-1974): primi calcolatori e predizioni ottimistiche
- Primo inverno (1974-1980): risultati non all’altezza, riduzione finanziamenti. Problemi: dataset piccoli, scarsa capacità computazionale.
- Nuova primavera (1980-1987): calcolatori di Quinta generazione
- Secondo inverno (1987-1993): flop dei calcolatori di Quinta generazione, riduzione finanziamenti. Risultati in campi specifici
- Tempi moderni (1993-2011): hardware più potente
- Deep Learning (2011-oggi): CNN
In classificazione cosa si intende per superficie decisionale o di separazione? Riportare anche un esempio grafico.
Un decision boundary o decision surface (superficie decisionale) è una zona di confine tra regioni che il classificatore associa a classi diverse.
Sul boundary la classificazione è ambigua.
Le superfici decisionali possono assumere forme diverse. Nel caso specifico si tratta di due iperboli. In generale:
- Se le 2 matrici di covarianza sono uguali tra loro: la superficie decisionale è un iper-piano.
- Se le 2 matrici di covarianza sono arbitrarie: la superficie decisionale è un iper-quadratica.
Che cosa sono i criteri di clustering? Fare un esempio.
I criteri di clustering descrivono cosa si vuol ottenere specificando il grado di ottimalità di ogni soluzione ammissibile.
Si basano su 2 osservazioni:
- Pattern della stessa classe devono essere più simili tra loro di pattern appartenenti a classi diverse
- I cluster sono costituiti da nuvole di punti ad alta densità separate da zone a bassa densità
- minimizzazione della distanza dai centroidi: si cerca di minimizzare la somma dei quadrati delle distanze dei punti dai centroidi.
- minimizzazione distanze intra-classe