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
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Fondamenti di Machine Learning

I pattern sono i dati e possono essere numerici, categorici, sequenze (come 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, 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 delladimensionalità), 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à) e 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 sipreferisce 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, mentre in open set c'è una classe "resto del mondo" per indicare che appartiene a una classe non nota. Si divide in training set (insieme di pattern su cui addestrare il sistema), validation set (insieme di pattern su cui tarare gli)capito male, gli iperparametri sono i parametri del modello di machine learning che non vengono appresi direttamente dai dati, ma devono essere impostati manualmente. Ad esempio, nel caso di un algoritmo di regressione lineare, gli iperparametri potrebbero essere il coefficiente di regolarizzazione o il numero massimo di iterazioni. Il training set è l'insieme di dati utilizzati per addestrare il modello, ovvero per far sì che apprenda i pattern presenti nei dati e possa fare previsioni accurate. Il valid set è utilizzato per valutare le prestazioni del modello durante il processo di addestramento e per selezionare i migliori valori degli iperparametri. Infine, il test set è utilizzato per valutare le prestazioni finali del modello, una volta che gli iperparametri sono stati fissati. La ricerca degli iperparametri può essere un processo lungo e noioso, ma è fondamentale per ottenere un modello accurato. È possibile automatizzare questo processo definendo un insieme di valori da provare per ciascun iperparametro e testando tutte le possibili combinazioni. In alternativa, è possibile scegliere casualmente i valori degli iperparametri all'interno di un determinato range. In pratica, durante l'addestramento del modello, il training set viene utilizzato per apprendere i pattern e le soluzioni corrispondenti. Il test set viene utilizzato per valutare l'accuratezza del modello su nuovi dati, che non sono stati utilizzati durante l'addestramento. Solo dopo aver valutato le prestazioni sul test set è possibile avere un'idea dell'accuratezza del modello.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, nell'ipotesi che valid sia rappresentativo di test, bisogna porsi l'obiettivo di massimizzare l'accuratezza su valid e perciò entra in gioco la generalizzazione, ovvero la capacità di trasferire l'elevata accuratezza raggiunta su train a valid. Se i gradi di libertà del classificatore sono eccessivi si parla di overfitting (grande accuratezza su train ma no su valid), di solito quando train è di piccole dimensioni, perciò dopo un certo numero di iterazioni l'accuratezza su valid non aumenta più ed è meglio smettere di addestrare. Un buon modo sarebbe quindi.

partire con poca libertà, e magari aumentandolaman mano monitorando l'accuratezza su train e su valid

Ci sono vari modi per fare la classificazione, come bayes, svm e nearest neighbor,non sono di cili basta fare gli esercizi

Con i multicalssi catori si utilizzano in parallelo di solito, m anche aa cascata o inmodo gerarchico i metodi precedenti da quello che ho capito, ci sono fusioni alivello di decisione (a votazione o a classi ca) e a livello di con denza

Non ho capito come si fa però nella pratica con scikitlearn e tensor owffi fi fi fi fi fi fi fi fi fi fi fi fi fl

Classificazione

Ci sono diversi approcci, uno di questi è quello bayesiano dove il problema èposto in termini probabilistici, u è il vettore medio mentre o^2 è la covarianzascritta anche Σ, la distribuzione normale signi ca d=1 mentre multinormalesigni ca d>1 dove d è la dimensione e un pattern bidimensionale è ad esempio[2,5]

In pratica per usare bayes

parametrico si usano le probabilità a priori e la densità di probabilità (che ha bisogno del vettore medio e della matrice di covarianza) per ottenere le probabilità a posteriori. Studiare meglio parzen window e nel caso si voglia usare bayes senza parametri. Il classificatore nearest neighbor (NN) è letteralmente il più vicino tra i vicini classificatori, un pattern con la stessa classe dell'elemento ad esso più vicino nel training set. Un'estensione più robusta del NN è il k-NN dove k è un iperparametro e rappresenta il numero di elementi vicini all'elemento da classificare, dove ogni elemento vicino vota per la sua classe e alla fine la classe che avrà ottenuto il maggior numero di voti verrà assegnata all'elemento. Il valore ottimale k (di solito <10) non deve essere troppo grande e deve essere assegnato su un validation set separato. Una tecnica per evitare di calcolare tutte le distanze di tutti gli elementi deltrainingset dall'elemento da classi care è scegliere uno o più prototipi di ogni classe (disolito uno medio) e calcolare le distanze solo da questi, in questo modo si evitanoanche errori del tipo quando c'è un elemento particolare di una classe che trae ininganno come una donna alta 2 metri ahah.

Se si usa la distanza euclidea è consigliato normalizzare i pattern prima evitandocosì le variazioni tra le feature dei pattern.

SVM è uno degli strumenti più utilizzati per la classificazione dei pattern, invece distimare la densità di probabilità delle classi, vuole risolvere direttamente il problema di interesse determinando le superfici decisionali tra le classi.

SVM nasce come classificatore binario (2 classi) ma si può espandere a più classi.

L'idea è che date due classi di pattern multidimensionali linearmente separabili, tra tutti i possibili iperpiani di separazione, SVM determina quello in grado di

separarele classi con il maggior margine possibile dove il margine è la distanza minima didue punti delle due classi nel training set

Studiare meglio l'SVM anche se mi sembra che gli esercizi non capitino al compito

Un multiclassi catore è un approccio dove diversi classi catori sono utilizzati(disolito in parallelo, ma è possibile anche in cascata o in modo gerarchico), pereseguire la classi cazione dei pattern, è stato dimostrato infatti che utilizzando unacombinazione di classi catori si possono migliorare le prestazioni anche di molto,infatti investire molto tempo nell'ottimizzazione di un unico classi catore è ingenere meno conveniente che l'a ancamento di più classi catori(questo convienesolo se i singolo classi catori sono indipendenti tra loro, ovvero non commettonogli stessi errori, ad esempio utilizzando diverse feature come ad esempio

fi fi fi fi fi fi fi fi fi ffi fifi fi fi

fi fi fi fi fi

La combinazione di questi classificatori può essere eseguita a livello di decisione o a livello di confidenza.

A livello di decisione ogni singolo classificatore fornisce in output la propria decisione relativa a quale classe appartiene il pattern, le decisioni possono a loro volta essere combinate tra loro con il majority vote rule che è uno dei più noti e molto semplicemente il pattern viene assegnato alla classe maggiormente votata, oppure ad esempio con il borda count dove ogni classificatore invece di una singola classe produce una specie di classifica delle classi dalla prima all'ultima a seconda della probabilità che a ciascuna di esse appartenga il pattern di classificazione, poi le posizioni sono convertite in punteggi e poi sommati e la classe con il punteggio finale più alto sarà poi classificata, questa quindi rispetto al majority vote rule considera anche i non primi di ogni classificatore, ci sarebbe anche one against one che utilizza

catori binari ed

Dettagli
Publisher
A.A. 2021-2022
7 pagine
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.