Estratto del documento

Machine learning

Fondamenti

I pattern sono i dati e possono essere numerici, categorici, sequenze (come le audio) o altri tipi strutturati (come alberi o grafi). La classificazione assegna una classe ad un pattern, la regressione assegna un valore continuo ad un pattern (utile per la predizione di valori continui), il clustering individua gruppi (cluster) di pattern con caratteristiche uguali dove le classi non sono note a priori e spesso nemmeno il numero delle classi, la riduzione di dimensionalità riduce la dimensione del pattern in input. Questa operazione comporterà perdita di informazione e l'obiettivo è quello di salvaguardare le informazioni più importanti. Ha l'obiettivo di rendere trattabili pattern di alta dimensione togliendo ad esempio le informazioni ridondanti e per magari mostrare in 2D o 3D i pattern che avrebbero dimensione più alta di 3.

Molto importante è il tipo di apprendimento, che può essere:

  • Supervisionato: sono note le classi dei pattern utilizzati per l'addestramento (training set etichettato), tipico nella classificazione, nella regressione e in alcune tecniche di riduzione della dimensionalità.
  • Non supervisionato: non sono note le classi dei pattern utilizzati per l'addestramento (training set non etichettato), tipico nel clustering e nella maggior parte delle tecniche di riduzione di dimensionalità.
  • Semisupervisionato: training set parzialmente etichettato, aiuta a ottimizzare la classificazione.

Si possono suddividere anche in:

  • Batch: addestramento effettuato una sola volta su un training set dato, poi passati in working mode il sistema non apprende più, attualmente la maggior parte dei sistemi lavora in questo modo.
  • Incrementale: dove a seguito dell'addestramento iniziale sono possibili ulteriori sessioni di addestramento ma c'è il rischio che ci si dimentichi quello che si ha appreso.
  • Naturale: c'è un addestramento continuo, attivo in working mode e permette la coesistenza di approcci supervisionati e non supervisionati.

Molto importante in machine learning sono i parametri (es. pesi connessioni nelle reti neurali) che regolano l'algoritmo e la funzione obiettivo da massimizzare se indica l'ottimalità della soluzione oppure da minimizzare se indica l'errore (loss function).

Un altro concetto importante sono gli iperparametri, infatti molti algoritmi richiedono di definirli prima dell'apprendimento vero e proprio, come il numero di neuroni in una rete neurale, il numero di vicini in un classificatore kNN, il tipo di loss function, ecc. Per la loro scelta si procede con un approccio a due livelli dove per ogni valore ragionevole degli iperparametri si esegue l'apprendimento e poi al termine della procedura si scelgono gli iperparametri che hanno fornito le prestazioni migliori. Per valutarne le prestazioni una delle possibilità è quella di utilizzare direttamente la funzione obiettivo per quantificare le prestazioni (anche se in genere si preferisce una misura legata alla semantica del problema). In un problema di classificazione l'accuratezza di classificazione (0-100%) è la percentuale di pattern correttamente classificati e l'errore è il complemento, infatti accuratezza = pattern_correttamente_classificati/pattern_classificati e errore = 100% - accuratezza.

In un problema di classificazione binaria dove una classe è rara è meglio utilizzare Precision/Recall, mentre nei problemi di regressione in genere si usa l'RMSE. Nei problemi di classificazione la matrice di confusione è molto utile per capire come sono distribuiti gli errori. I problemi possono essere closed set (si sanno già tutte le classi di appartenenza) o open set (c'è una classe "resto del mondo" per indicare appartenenza ad una classe non nota).

Il dataset si divide in:

  • Training set: insieme di pattern su cui addestrare il sistema.
  • Validation set: insieme di pattern su cui tarare gli iperparametri.
  • Test set: insieme di pattern su cui valutare le prestazioni finali del sistema. Anche se c'è la tentazione di tarare qui gli iperparametri è sconsigliato perché si avrà una sovrastima delle prestazioni.

Se ci sono 12 mila pattern, suddividerli in 10 mila per il training set, 1.000 per il validation set e 1.000 per il test set. La ricerca degli iperparametri è spesso lunga e noiosa e andrebbe automatizzata il più possibile. I modi sono prestabilire quali sono i valori da provare e tutte le combinazioni oppure sceglierli casualmente dato un range.

In pratica, avendo molti dati con anche le soluzioni (es. tante foto e sapendo se è cane o gatto), al training set vengono dati la maggior parte dei dati insieme alle soluzioni (se è cane o gatto), mentre al test set solo alcuni dati (solo alcune foto) su cui vedere se il modello ci azzecca. Di conseguenza l'accuratezza la si vede solo dopo il test set (se non ho capito male), e sempre se non ho capito male queste cose valgono solo per la classificazione. Il primo obiettivo da perseguire durante l'addestramento è la convergenza sul training set, e questo accade solamente se la loss function ha andamento decrescente e l'accuratezza ha andamento crescente. Ricordando che l'obiettivo è quello di massimizzare l'accuratezza sul test set.

Anteprima
Vedrai una selezione di 3 pagine su 7
Machine Learning Pag. 1 Machine Learning Pag. 2
Anteprima di 3 pagg. su 7.
Scarica il documento per vederlo tutto.
Machine Learning Pag. 6
1 su 7
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher luca2695 di informazioni apprese con la frequenza delle lezioni di Machine Learning e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Bologna o del prof Maltoni Davide.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community