Nell’ambito dell’apprendimento automatico quali sono le principali cause di overfitting?
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).
Una delle funzioni di attivazione più comunemente utilizzata è la sigmoide nelle varianti:
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:
Come si misurano le prestazioni di un classificatore?
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:
Nel caso di pattern non separabili:
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.
Come può essere scelto nella pratica il numero di cluster in un algoritmo di clustering come K-means?
Quali sono le limitazioni di Q learning per risolvere problemi complessi? Le tecniche di deep learning possono essere di aiuto in questo caso? Come?
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.
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:
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?
Cosa si intende per K-fold cross-validation? Quali sono i vantaggi rispetto a un semplice split a due dei dati di training?
Quali sono i parametri di una distribuzione multinormale?
Descrivere a grandi linee un classificatore Random Forest
In Random Forest, per rendere maggiormente indipendenti i classificatori (tree):
Indicare le differenze tra le tecniche di riduzione di dimensionalità PCA e LDA.
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?