Uso dell algoritmo di Quantizzazione Vettoriale per la determinazione del numero di nodi dello strato hidden in una rete neurale multilivello

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Uso dell algoritmo di Quantizzazione Vettoriale per la determinazione del numero di nodi dello strato hidden in una rete neurale multilivello"

Transcript

1 Tesina di Intelligenza Artificiale Uso dell algoritmo di Quantizzazione Vettoriale per la determinazione del numero di nodi dello strato hidden in una rete neurale multilivello Roberto Fortino S228682

2 Introduzione Nel campo delle reti neurali, scegliere il numero di nodi presenti negli strati hidden non è sempre un compito banale. In una rete neurale multilivello (MLP), ogni nodo nascosto genera un piano di separazione. Se ci troviamo di fronte ad un problema di classificazione, scegliere il giusto numero di nodi hidden è fondamentale; un numero troppo basso o troppo alto, infatti, può portare problemi in termini di performance. In questo elaborato si è pensato di utilizzare l algoritmo di Quantizzazione Vettoriale per la determinazione del numero di nodi nello strato hidden di una rete neurale multilivello. Quantizzazione Vettoriale L algoritmo di Quantizzazione Vettoriale può essere utilizzato per dividere un insieme di dati in un certo numero di clusters. L algoritmo si basa sulla distanza Euclidea per l assegnazione dei campioni al cluster di appartenenza. Di seguito il funzionamento: 1. All inizio tutti i vettori vengono assegnati allo stesso cluster, il cui centro viene calcolato come valor medio di tutti i vettori; 2. Per ciascun rappresentante (centro di cluster), si introduce una perturbazione che genera due nuovi centri di cluster. Il vecchio rappresentante viene scartato; 3. Ogni vettore viene riassegnato a uno dei nuovi cluster secondo il criterio di minima distanza; 4. Vengono calcolati i nuovi rappresentanti come valor medio dei vettori assegnati ad ogni cluster. Questi saranno i nuovi centri di cluster; 5. Se è soddisfatto il criterio di fine, l algoritmo termina. Altrimenti, si torna al passo 2. Dataset Per questo esperimento, è stato utilizzato il dataset MNIST. Questo contiene circa immagini rappresentanti i numeri da 0 a 9 scritti a mano.

3 Ogni immagine ha dimensione 28x28 pixel, ed è rappresentata come un vettore di 784 elementi, dove ogni elemento corrisponde ad un pixel dell immagine e può assumere un valore nell intervallo [0, 255] (0 corrisponde al colore nero e 255 al bianco). Implementazione Per l implementazione dell algoritmo si è scelto di usare l ambiente Python, in quanto sono presenti tutti i tool di machine learning usati nel caso in esame. Data l imponenza del dataset, prima dell esecuzione dell algoritmo di quantizzazione vettoriale, è stata effettuata un Analisi delle Principali Componenti (PCA) per cercare di ridurre il numero delle features e quindi guadagnare in termini di tempo di calcolo. Delle 784 features, è stato scelto di mantenere le prime 430 principali componenti, in quanto queste spiegano più del 98% della varianza.

4 Il corpo principale dell algoritmo è articolato in un ciclo while. while True: print('assigning points to clusters') print('deleting empty clusters') print('computing new codewords') print('checking end condition') print('computing disturbed codewords') print('clearing clusters for next iteration') Inizialmente, I vettori vengono assegnati al cluster di appartenenza: per ogni vettore viene calcolata la distanza euclidea da tutti I centri di cluster e lo si assegna al cluster più vicino. Al termine dell assegnazione vengono eliminati eventuali cluster vuoti e si procede al calcolo dei nuovi centri di cluster come valor medio dei vettori contenuti. Una volta che i cluster sono stati formati, viene effettuata la verifica della condizione d uscita. Nel caso in esame, per ogni cluster è stato valutato l indice di eterogeneità di Gini calcolato nel seguente modo: Gini c = 1 p j c + dove p j c si intende la frequenza relativa della classe j nel cluster c. È stato poi definito un valore di soglia per questo indice e l algoritmo termina quando tutti i cluster hanno un valore di Gini minore di tale soglia., -./

5 Nel caso in cui la condizione d uscita non è verificata, l algoritmo prosegue con la prossima iterazione perturbando i centri di cluster e svuotando i cluster ottenuti nell iterazione precedente. La perturbazione è stata effettuata sommando e sottraendo ai centri di cluster una costante, che in questo caso è pari a 0.1. Negli esperimenti effettuati è emersa l incapacità dell algoritmo di quantizzazione a raggiungere la convergenza. Dopo alcune investigazioni, si è notato che alcuni elementi del dataset risultano essere troppo simili tra loro o fortemente disturbati. Questo ha portato alla presenza di molti cluster in cui non vi è un elemento che domina (in termini di occorrenze) nettamente sugli altri, o addirittura cluster in cui gli elementi si distribuiscono equamente (stesso numero di occorrenze). Per garantire la terminazione dell algoritmo, quindi, la soglia utilizzata è stata via via incrementata seguendo una precisa logica: se il numero di cluster che non soddisfano la condizione di uscita all iterazione i+1 è maggiore del numero di cluster che non soddisfano la condizione di uscita all iterazione i, allora la soglia viene incrementata di un certo valore fisso (0.15). Una possibile soluzione al problema della convergenza potrebbe essere di far continuare l algoritmo fino a che non riesca a dividere i casi sopra citati. Dall altro lato, però, dobbiamo ricordare che ad ogni iterazione il numero di centri di cluster raddoppia (alla 12 iterazione abbiamo 4096 clusters) e di conseguenza aumenta anche il tempo di elaborazione necessario per assegnare i vettori ai cluster di appartenenza. Ancora, non è detto che si riesca ad avere dei cluster puri, cioè composti da un solo elemento, o nel

6 caso in cui si riesca, probabilmente questi saranno composti da un numero relativamente basso di elementi. Alla luce del problema appena citato, ci si è chiesti se unire cluster vicini contenenti in maggioranza lo stesso elemento potesse aiutare a definire meglio i cluster. Una volta che l algoritmo di quantizzazione ha terminato, quindi, un apposita routine prova ad unire i cluster secondo la seguente logica: 1. Viene calcolata la matrice delle distanze: dato un cluster, viene calcolata la distanza euclidea tra il suo centro e il centro di tutti gli altri cluster. Quest operazione viene effettuata per tutti i cluster. 2. Si prendono i due cluster più vicini: questo corrisponde al valore più piccolo presente nella matrice delle distanze. 3. Per i due cluster selezionati si cerca l elemento con occorrenza maggiore. 4. Se l elemento trovato in entrambi i cluster è lo stesso si procede ad unire i cluster e il ciclo riprende dal punto 1, altrimenti si esce. Dai risultati è emerso che in alcuni casi vengono a crearsi dei cluster in cui un elemento domina fortemente sugli altri. Cluster 140: : 5540(0.960) 8: 24(0.004) 7: 7(0.001) 2: 36(0.006) 3: 15(0.003) 6: 90(0.016) 9: 32(0.006) 5: 25(0.004) 4: 2(0.000) Cluster 135: : 6326(0.945) 3: 153(0.023) 8: 63(0.009) 1: 53(0.008) 7: 33(0.005) 0: 24(0.004) 5: 10(0.001) 6: 9(0.001) 4: 15(0.002) 9: 10(0.001) Ciò non risolve però il problema dell eterogeneità dei cluster. Ancora, persiste la presenza di cluster in cui gli elementi si distribuiscono equamente.

7 Risultati sperimentali Di seguito vengono riportati i risultati ottenuti: Clustering (Quantizzazione Vettoriale) o Dimesione del Dataset: elementi o Numero di classi: 10 o Percentuale di distorsione: 0.1 o Criterio di valutazione usato nella condizione d uscita: Indice di Gini o Soglia iniziale usata nella condizione d uscita: 0.5 (equidistribuzione) o Iterazioni: 11 o Numero di cluster prima dell unione: 2011 o Numero di cluster dopo l unione: 141

8 Rete Neurale Multilivello (MLP) o Dimensione Training Set: o Dimensione Test Set: o Numero di strati hidden: 1 o Numero di nodi nello strato hidden: 141 o Numero massimo di iterazioni: 10 o Learning rate iniziale: 0.1 o Test set accuracy: Conclusioni Analizzando i grafici del paragrafo precedente, è chiaro che la presenza di caratteri simili tra loro e di caratteri disturbati impatta fortemente sulle prestazioni dell algoritmo di quantizzazione. La situazione non migliora di molto anche effettuando l unione dei cluster, in quanto è l output del quantizzatore a non essere performante. Dal primo grafico si evince una massiccia presenza di cluster di piccole dimensioni (cluster da 0 a circa 110). Proiettando sul secondo grafico capiamo, inoltre, che questi sono composti da elementi equamente distribuiti o non vi è alcun elemento che domina fortemente sugli altri (valore di Gini da 0.5 a 1).

9 Effettuando la stessa analisi, gli ultimi cluster (da 110 a 141) contengono un elevato numero di elementi e, dato il loro valore di Gini, sono composti in maggioranza da un solo elemento (valore di Gini minore di 0.30). Anche se l algoritmo di quantizzazione non ha soddisfatto le nostre aspettative, l output fornito ha portato ad ottenere buoni risultati in fase di addestramento della rete neurale. I 141 nodi dello strato hidden sono risultati sufficienti per ottenere un accuracy soddisfacente. Per concludere, utilizzare l algoritmo di quantizzazione vettoriale potrebbe essere una buona soluzione al problema della scelta del numero di nodi nello strato hidden; questa teoria andrebbe però confermata effettuando altri esperimenti, magari utilizzando altri data-set o effettuando un processo di pulizia del dato prima di procedere alla clusterizzazione.

QUANTIZZATORE VETTORIALE

QUANTIZZATORE VETTORIALE QUANTIZZATORE VETTORIALE Introduzione Nel campo delle reti neurali, la scelta del numero di nodi nascosti da usare per un determinato compito non è sempre semplice. Per tale scelta potrebbe venirci in

Dettagli

Riconoscimento automatico di oggetti (Pattern Recognition)

Riconoscimento automatico di oggetti (Pattern Recognition) Riconoscimento automatico di oggetti (Pattern Recognition) Scopo: definire un sistema per riconoscere automaticamente un oggetto data la descrizione di un oggetto che può appartenere ad una tra N classi

Dettagli

Intelligenza Artificiale. Clustering. Francesco Uliana. 14 gennaio 2011

Intelligenza Artificiale. Clustering. Francesco Uliana. 14 gennaio 2011 Intelligenza Artificiale Clustering Francesco Uliana 14 gennaio 2011 Definizione Il Clustering o analisi dei cluster (dal termine inglese cluster analysis) è un insieme di tecniche di analisi multivariata

Dettagli

Data Journalism. Analisi dei dati. Angelica Lo Duca

Data Journalism. Analisi dei dati. Angelica Lo Duca Data Journalism Analisi dei dati Angelica Lo Duca angelica.loduca@iit.cnr.it Obiettivo L obiettivo dell analisi dei dati consiste nello scoprire trend, pattern e relazioni nascosti nei dati. di analisi

Dettagli

Stima dei Redshift Fotometrici tramite il network SOM + K-NN

Stima dei Redshift Fotometrici tramite il network SOM + K-NN Stima dei Redshift Fotometrici tramite il network + K-NN Università di Napoli Federico II December 21, 2016 Corso Astroinformatica Federico II Napoli Overview 1 Introduzione Obiettivo Scientifico PhotoZ

Dettagli

ADDESTRAMENTO DI UNA RETE NEURALE ED EVENTUALI CONSIDERAZIONI PRESTAZIONALI. (a cura di Buttolo Marco).

ADDESTRAMENTO DI UNA RETE NEURALE ED EVENTUALI CONSIDERAZIONI PRESTAZIONALI. (a cura di Buttolo Marco). ADDESTRAMENTO DI UNA RETE NEURALE ED EVENTUALI CONSIDERAZIONI PRESTAZIONALI. (a cura di Buttolo Marco). Lalgoritmo più utilizzato per addestrare una rete neurale è lalgoritmo di bac-propagation. In sostanza

Dettagli

Sistemi di Elaborazione dell Informazione 170. Caso Non Separabile

Sistemi di Elaborazione dell Informazione 170. Caso Non Separabile Sistemi di Elaborazione dell Informazione 170 Caso Non Separabile La soluzione vista in precedenza per esempi non-linearmente separabili non garantisce usualmente buone prestazioni perchè un iperpiano

Dettagli

Università degli Studi di Bergamo Intelligenza Artificiale (Codice: 38066) 21 Giugno Primo Appello

Università degli Studi di Bergamo Intelligenza Artificiale (Codice: 38066) 21 Giugno Primo Appello DIPARTIMENTO DI INGEGNERIA GESTIONALE, DELL INFORMAZIONE E DELLA PRODUZIONE Università degli Studi di Bergamo Intelligenza Artificiale (Codice: 38066) 21 Giugno 2018 - Primo Appello Nome: Cognome: Matricola:

Dettagli

Reti Neurali (Parte I)

Reti Neurali (Parte I) Reti Neurali (Parte I) Corso di AA, anno 2017/18, Padova Fabio Aiolli 30 Ottobre 2017 Fabio Aiolli Reti Neurali (Parte I) 30 Ottobre 2017 1 / 15 Reti Neurali Artificiali: Generalità Due motivazioni diverse

Dettagli

Corso di Intelligenza Artificiale A.A. 2016/2017

Corso di Intelligenza Artificiale A.A. 2016/2017 Università degli Studi di Cagliari Corsi di Laurea Magistrale in Ing. Elettronica Corso di Intelligenza rtificiale.. 26/27 Esercizi sui metodi di apprendimento automatico. Si consideri la funzione ooleana

Dettagli

Un processo a supporto della classificazione di pagine client Anno Accademico 2006/2007

Un processo a supporto della classificazione di pagine client Anno Accademico 2006/2007 tesi di laurea Un processo a supporto della classificazione di pagine client Anno Accademico 2006/2007 relatore Ch.mo prof. Porfirio Tramontana candidato Marco Calandro Matr. 885/73 Introduzione Il passaggio

Dettagli

Computazione per l interazione naturale: modelli a variabili latenti (clustering e riduzione di dimensionalità)

Computazione per l interazione naturale: modelli a variabili latenti (clustering e riduzione di dimensionalità) Computazione per l interazione naturale: modelli a variabili latenti (clustering e riduzione di dimensionalità) Corso di Interazione Naturale Prof. Giuseppe Boccignone Dipartimento di Informatica Università

Dettagli

Indice generale. Introduzione. Ringraziamenti dell autore...xxi. Capitolo 1 Dare ai computer la capacità di apprendere dai dati...

Indice generale. Introduzione. Ringraziamenti dell autore...xxi. Capitolo 1 Dare ai computer la capacità di apprendere dai dati... Premessa Introduzione...xiii...xv Struttura del libro...xvi Dotazione software necessaria...xvii A chi è rivolto questo libro...xviii Convenzioni...xviii Scarica i file degli esempi...xix L autore...xix

Dettagli

Pattern recognition. III Parte. Intelligenza Artificiale - Pattern Recognition 3

Pattern recognition. III Parte. Intelligenza Artificiale - Pattern Recognition 3 Pattern recognition III Parte 1 QUANTIZZAZIONE VETTORIALE Si può pensare come un algoritmo derivato da K-MEANS e da ISODATA. 1.All inizio tutti i vettori sono attribuiti ad un unico cluster. Si calcola

Dettagli

POLITECNICO DI TORINO

POLITECNICO DI TORINO POLITECNICO DI TORINO III Facoltà di Ingegneria dell Informazione Corso di Laurea Magistrale in Ingegneria Informatica Tesina di Intelligenza Artificiale Clustering su dati climatici usando Kohonen map

Dettagli

Ciclo do while in FORTRAN

Ciclo do while in FORTRAN Ciclo do while in FORTRAN Vogliamo tradurre in linguaggio FORTRAN un algoritmo che risponde a questo tipo di struttura: Fino a quando e vera questa espressione logica allora: fai questo fai quest altro

Dettagli

Cercare il percorso minimo Ant Colony Optimization

Cercare il percorso minimo Ant Colony Optimization Cercare il percorso minimo Ant Colony Optimization Author: Luca Albergante 1 Dipartimento di Matematica, Università degli Studi di Milano 4 Aprile 2011 L. Albergante (Univ. of Milan) PSO 4 Aprile 2011

Dettagli

AML EXPO. AI a supporto dell AML 30 MAGGIO Pieralberto Nati CEO AML EXPO COPYRIGHT ALL RIGHT RESERVED

AML EXPO. AI a supporto dell AML 30 MAGGIO Pieralberto Nati CEO AML EXPO COPYRIGHT ALL RIGHT RESERVED AML EXPO 30 MAGGIO ROMA @EATALY AI a supporto dell AML Pieralberto Nati CEO Una piattaforma applicativa che gestisce la Corporate Governance Supportando tutti i livelli organizzativi: board, management

Dettagli

G è 2-colorabile se ogni nodo può essere colorato di bianco o di nero in modo che nodi connessi da archi siano colorati con colori distinti.

G è 2-colorabile se ogni nodo può essere colorato di bianco o di nero in modo che nodi connessi da archi siano colorati con colori distinti. Grafi Grafi bipartiti Un grafo non orientato G è bipartito se l insieme dei nodi può essere partizionato in due sottoinsiemi disgiunti tali che nessun arco del grafo connette due nodi appartenenti allo

Dettagli

Università degli Studi di Bergamo Intelligenza Artificiale (Codice: 38066) 12 Giugno 2019

Università degli Studi di Bergamo Intelligenza Artificiale (Codice: 38066) 12 Giugno 2019 DIPARTIMENTO DI INGEGNERIA GESTIONALE, DELL INFORMAZIONE E DELLA PRODUZIONE Università degli Studi di Bergamo Intelligenza Artificiale (Codice: 38066) 12 Giugno 2019 Nome: Cognome: Matricola: Riga: Colonna:

Dettagli

Esercizi di autovalutazione - Matlab Metodi Numerici con Elementi di Programmazione A.A

Esercizi di autovalutazione - Matlab Metodi Numerici con Elementi di Programmazione A.A Esercizi di autovalutazione - Matlab Metodi Numerici con Elementi di Programmazione A.A. 2017-18 1. Scrivere la function Matlab myfun.m che calcoli la funzione e la sua derivata. La function deve ricevere

Dettagli

Alberi di Decisione (2)

Alberi di Decisione (2) Alberi di Decisione (2) Corso di AA, anno 2018/19, Padova Fabio Aiolli 05 Novembre 2018 Fabio Aiolli Alberi di Decisione (2) 05 Novembre 2018 1 / 19 Apprendimento di alberi di decisione: Bias induttivo

Dettagli

Indice generale. Introduzione. Capitolo 1 Essere uno scienziato dei dati... 1

Indice generale. Introduzione. Capitolo 1 Essere uno scienziato dei dati... 1 Introduzione...xi Argomenti trattati in questo libro... xi Dotazione software necessaria... xii A chi è rivolto questo libro... xii Convenzioni utilizzate... xiii Scarica i file degli esempi... xiii Capitolo

Dettagli

Problemi, istanze, soluzioni

Problemi, istanze, soluzioni lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un

Dettagli

Il programma è distribuito tramite il file compresso TRASFO.zip contenente i file di programma strutturati in 4 cartelle:

Il programma è distribuito tramite il file compresso TRASFO.zip contenente i file di programma strutturati in 4 cartelle: TRASFO V 1.0 Stefano Caldera stefano@geomatica.como.polimi.it M. Grazia Visconti grazia@geomatica.como.polimi.it Il programma è distribuito tramite il file compresso TRASFO.zip contenente i file di programma

Dettagli

Intelligenza Artificiale. Soft Computing: Reti Neurali Generalità

Intelligenza Artificiale. Soft Computing: Reti Neurali Generalità Intelligenza Artificiale Soft Computing: Reti Neurali Generalità Neurone Artificiale Costituito da due stadi in cascata: sommatore lineare (produce il cosiddetto net input) net = S j w j i j w j è il peso

Dettagli

Alberi di Decisione (2)

Alberi di Decisione (2) Alberi di Decisione (2) Corso di AA, anno 2017/18, Padova Fabio Aiolli 25 Ottobre 2017 Fabio Aiolli Alberi di Decisione (2) 25 Ottobre 2017 1 / 18 Apprendimento di alberi di decisione: Bias induttivo Come

Dettagli

Tecniche di riconoscimento statistico

Tecniche di riconoscimento statistico On AIR s.r.l. Tecniche di riconoscimento statistico Applicazioni alla lettura automatica di testi (OCR) Parte 9 Alberi di decisione Ennio Ottaviani On AIR srl ennio.ottaviani@onairweb.com http://www.onairweb.com/corsopr

Dettagli

Progettazione di un Sistema di Machine Learning

Progettazione di un Sistema di Machine Learning Progettazione di un Sistema di Machine Learning Esercitazioni per il corso di Logica ed Intelligenza Artificiale a.a. 2013-14 Vito Claudio Ostuni Data analysis and pre-processing Dataset iniziale Feature

Dettagli

Misura della performance di ciascun modello: tasso di errore sul test set

Misura della performance di ciascun modello: tasso di errore sul test set Confronto fra modelli di apprendimento supervisionato Dati due modelli supervisionati M 1 e M costruiti con lo stesso training set Misura della performance di ciascun modello: tasso di errore sul test

Dettagli

Università degli Studi di Bergamo Intelligenza Artificiale (Codice: 38066) Secondo Parziale - 11 Giugno 2018

Università degli Studi di Bergamo Intelligenza Artificiale (Codice: 38066) Secondo Parziale - 11 Giugno 2018 DIPARTIMENTO DI INGEGNERIA GESTIONALE, DELL INFORMAZIONE E DELLA PRODUZIONE Università degli Studi di Bergamo Intelligenza Artificiale (Codice: 38066) Secondo Parziale - 11 Giugno 2018 Nome: Cognome: Matricola:

Dettagli

Programmare con MATLAB c Parte 5 Cicli: for e while

Programmare con MATLAB c Parte 5 Cicli: for e while Programmare con MATLAB c Parte 5 Cicli: for e while Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 La notazione due punti 2 Ciclo: for 3 Ciclo con controllo: while

Dettagli

Algoritmi di classificazione supervisionati

Algoritmi di classificazione supervisionati Corso di Bioinformatica Algoritmi di classificazione supervisionati Giorgio Valentini DI Università degli Studi di Milano 1 Metodi di apprendimento supervisionato per problemi di biologia computazionale

Dettagli

x 1 x 2 x 3 x 5 La base iniziale è B 0 = I e risulta x B 0 = , x N 0 = Iterazione 0. Calcolo dei costi ridotti. γ 0 = c N 0 (N 0 ) T c B 0 =

x 1 x 2 x 3 x 5 La base iniziale è B 0 = I e risulta x B 0 = , x N 0 = Iterazione 0. Calcolo dei costi ridotti. γ 0 = c N 0 (N 0 ) T c B 0 = 56 IL METODO DEL SIMPLESSO 7.4 IL METODO DEL SIMPLESSO In questo paragrafo sono riportati alcuni esercizi risolti sul metodo del simplesso. Alcuni sono risolti utilizzando la procedura di pivot per determinare,

Dettagli

Multi classificatori. Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna

Multi classificatori. Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna Multi classificatori Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna Combinazione di classificatori Idea: costruire più classificatori di base e predire la classe di appartenza di

Dettagli

Computazione per l interazione naturale: clustering e riduzione di dimensionalità

Computazione per l interazione naturale: clustering e riduzione di dimensionalità Computazione per l interazione naturale: clustering e riduzione di dimensionalità Corso di Interazione uomo-macchina II Prof. Giuseppe Boccignone Dipartimento di Informatica Università di Milano boccignone@di.unimi.it

Dettagli

Specifica, progetto e verifica della correttezza di algoritmi iterativi

Specifica, progetto e verifica della correttezza di algoritmi iterativi Specifica, progetto e verifica della correttezza di algoritmi iterativi Il metodo delle asserzioni Ragionamenti su di un algoritmo Ragionare sulla specifica di un algoritmo data con pre e post-condizioni

Dettagli

5. Analisi dei dati di output

5. Analisi dei dati di output Anno accademico 2008/09 Analisi dei dati di Output Y 1, Y 2,..., Y m : output della simulazione. Le variabili casuali Y 1, Y 2,..., Y m non sono in generale indipendenti Se supponiamo però di avere effettuato

Dettagli

Richiamo di Concetti di Apprendimento Automatico ed altre nozioni aggiuntive

Richiamo di Concetti di Apprendimento Automatico ed altre nozioni aggiuntive Sistemi Intelligenti 1 Richiamo di Concetti di Apprendimento Automatico ed altre nozioni aggiuntive Libro di riferimento: T. Mitchell Sistemi Intelligenti 2 Ingredienti Fondamentali Apprendimento Automatico

Dettagli

Tecniche di riconoscimento statistico

Tecniche di riconoscimento statistico On AIR s.r.l. Tecniche di riconoscimento statistico Teoria e applicazioni industriali Parte 3 Costruzione di un classificatore Ennio Ottaviani On AIR srl ennio.ottaviani@onairweb.com http://www.onairweb.com/corsopr

Dettagli

PROVA SCRITTA DEL MODULO DI NOME: COGNOME: MATRICOLA:

PROVA SCRITTA DEL MODULO DI NOME: COGNOME: MATRICOLA: PROVA SCRITTA DEL MODULO DI CORSO DI LAUREA IN INGEGNERIA ELETTRICA ED ELETTRONICA, INGEGNERIA BIOMEDICA - 6 CFU Settembre 204 NOME: COGNOME: MATRICOLA: ESERCIZIO RETI LOGICHE (0 punti) Si vuole implementare

Dettagli

Segmentazione di immagini in scala di grigio basata su clustering

Segmentazione di immagini in scala di grigio basata su clustering Segmentazione di immagini in scala di grigio basata su clustering Davide Anastasia, Nicola Cogotti 24 gennaio 06 1 Analisi del problema La segmentazione di immagini consiste nella suddivisione in un certo

Dettagli

Laboratorio di Calcolo Numerico Laboratorio 12: Metodi iterativi per la soluzione di sistemi lineari

Laboratorio di Calcolo Numerico Laboratorio 12: Metodi iterativi per la soluzione di sistemi lineari Laboratorio di Calcolo Numerico Laboratorio 12: Metodi iterativi per la soluzione di sistemi lineari Claudia Zoccarato E-mail: claudia.zoccarato@unipd.it Dispense: Moodle Dipartimento ICEA 24 Maggio 2017

Dettagli

UTILIZZO DELL ANALISI DELLE COMPONENTI PRINCIPALI (PCA) DI DATI HVSR FINALIZZATO ALLA ZONAZIONE SISMICA

UTILIZZO DELL ANALISI DELLE COMPONENTI PRINCIPALI (PCA) DI DATI HVSR FINALIZZATO ALLA ZONAZIONE SISMICA UTILIZZO DELL ANALISI DELLE COMPONENTI PRINCIPALI (PCA) DI DATI HVSR FINALIZZATO ALLA ZONAZIONE SISMICA Terremoto de L Aquila, 2009 Gallipoli et al., 2011 Lo scopo di questo lavoro è quello di indagare

Dettagli

Reti Neurali (Parte III)

Reti Neurali (Parte III) Reti Neurali (Parte III) Corso di AA, anno 2017/18, Padova Fabio Aiolli 08 Novembre 2017 Fabio Aiolli Reti Neurali (Parte III) 08 Novembre 2017 1 / 16 Reti Neurali Multistrato Fabio Aiolli Reti Neurali

Dettagli

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA Matlab: esempi ed esercizi Sommario e obiettivi Sommario Esempi di implementazioni Matlab di semplici algoritmi Analisi di codici Matlab Obiettivi

Dettagli

Analisi del Segnale per le Telecomunicazioni Seconda esercitazione di laboratorio

Analisi del Segnale per le Telecomunicazioni Seconda esercitazione di laboratorio Analisi del Segnale per le Telecomunicazioni Seconda esercitazione di laboratorio 24 aprile 2009 Indice 1 Descrizione breve 1 2 Compito dello studente 2 2.1 Interfaccia dicomprimi edecomprimi..............

Dettagli

Algoritmi e strutture dati

Algoritmi e strutture dati Algoritmi e strutture dati Roberto Cordone A. A. 2015-16 Capitolo 3 Implementazioni dei dizionari ordinati Nota: queste dispense sono un rapido riassunto delle lezioni svolte nel dicembre 2015 e gennaio

Dettagli

Argomenti della lezione. Introduzione agli Algoritmi e alle Strutture Dati. Lista Lineare. Lista Lineare come Tipo di Dato Astratto

Argomenti della lezione. Introduzione agli Algoritmi e alle Strutture Dati. Lista Lineare. Lista Lineare come Tipo di Dato Astratto Argomenti della lezione Introduzione agli Algoritmi e alle Strutture Dati Operazioni su Liste Dr. Emanuela Merelli Tipi di Dato Astratto Lista Lineare Pila Coda Concetto di Struttura dati dinamiche Lista

Dettagli

Intelligenza Artificiale Complementi ed Esercizi

Intelligenza Artificiale Complementi ed Esercizi Intelligenza Artificiale Complementi ed Esercizi Reti Neurali AA 2013-2014 Il riconoscimento dei caratteri scritti a mano Handwritten Recognition Il problema Data una cifra scritta a mano, riconoscere

Dettagli

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell

Dettagli

Comunicazioni Elettriche Esercizi

Comunicazioni Elettriche Esercizi Comunicazioni Elettriche Esercizi Alberto Perotti 9 giugno 008 Esercizio 1 Un processo casuale Gaussiano caratterizzato dai parametri (µ = 0, σ = 0.5) ha spettro nullo al di fuori dellintervallo f [1.5kHz,

Dettagli

Regressione Lineare Multipla

Regressione Lineare Multipla Regressione Lineare Multipla Fabio Ruini Abstract La regressione ha come scopo principale la previsione: si mira, cioè, alla costruzione di un modello attraverso cui prevedere i valori di una variabile

Dettagli

min 2x 1 +4x 2 2x 3 +2x 4 x 1 +4x 2 +2x 3 + x 4 =6 2x 1 + x 2 +2x 3 + x 5 =3 x 0.

min 2x 1 +4x 2 2x 3 +2x 4 x 1 +4x 2 +2x 3 + x 4 =6 2x 1 + x 2 +2x 3 + x 5 =3 x 0. 5 IL METODO DEL SIMPLESSO 6.4 IL METODO DEL SIMPLESSO In questo paragrafo sono riportati alcuni esercizi risolti sul metodo del simplesso. Alcuni sono risolti utilizzando la procedura di pivot per determinare,

Dettagli

Introduzione alle Reti Neurali

Introduzione alle Reti Neurali Introduzione alle Reti Neurali Stefano Gualandi Università di Pavia, Dipartimento di Matematica email: twitter: blog: stefano.gualandi@unipv.it @famo2spaghi http://stegua.github.com Reti Neurali Terminator

Dettagli

Segmentazione automatica della carotide basata sulla classificazione dei pixel

Segmentazione automatica della carotide basata sulla classificazione dei pixel Segmentazione automatica della carotide basata sulla classificazione dei pixel Samanta Rosati, Filippo Molinari, Gabriella Balestra Biolab, Dipartimento di Elettronica e Telecomunicazioni, Politecnico

Dettagli

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Medica. Algoritmi

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Medica. Algoritmi Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Medica Algoritmi Rev..0 of 0-0- Elaborazione dati Problemi che si presentano spesso sono. ricerca del minimo

Dettagli

Progettazione di un Sistema di Machine Learning

Progettazione di un Sistema di Machine Learning Progettazione di un Sistema di Machine Learning Esercitazioni per il corso di Logica ed Intelligenza Artificiale Rosati Jessica Machine Learning System Un sistema di Machine learning apprende automaticamente

Dettagli

Esercizio: apprendimento di congiunzioni di letterali

Esercizio: apprendimento di congiunzioni di letterali input: insieme di apprendimento istemi di Elaborazione dell Informazione 18 Esercizio: apprendimento di congiunzioni di letterali Algoritmo Find-S /* trova l ipotesi più specifica consistente con l insieme

Dettagli

Algoritmi di ricerca locale

Algoritmi di ricerca locale Algoritmi di ricerca locale Utilizzati in problemi di ottimizzazione Tengono traccia solo dello stato corrente e si spostano su stati adiacenti Necessario il concetto di vicinato di uno stato Non si tiene

Dettagli

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore

Dettagli

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso Unità Didattica 2 Linguaggio C Espressioni, Operatori e Strutture linguistiche per il controllo del flusso 1 Espressioni e assegnazioni Le espressioni sono definite dalla grammatica: espressione = variabile

Dettagli

Esercizi di autovalutazione - Matlab Metodi Numerici con Elementi di Programmazione A.A

Esercizi di autovalutazione - Matlab Metodi Numerici con Elementi di Programmazione A.A Esercizi di autovalutazione - Matlab Metodi Numerici con Elementi di Programmazione A.A. 2018-19 1. Scrivere la function Matlab myfun.m che valuti la funzione e la sua derivata in corrispondenza delle

Dettagli

è la somma che fa il totale! Costo industriale prodotto finito DIEGO ZENARI Gruppo Marchetto Zenari

è la somma che fa il totale! Costo industriale prodotto finito DIEGO ZENARI Gruppo Marchetto Zenari è la somma che fa il totale! Costo industriale prodotto finito DIEGO ZENARI Gruppo Marchetto Zenari Introduzione Il programma presentato si prefigge di calcolare il costo di produzione per ogni prodotto

Dettagli

Analisi Numerica. Debora Botturi ALTAIR. Debora Botturi. Laboratorio di Sistemi e Segnali

Analisi Numerica. Debora Botturi ALTAIR.   Debora Botturi. Laboratorio di Sistemi e Segnali Analisi Numerica ALTAIR http://metropolis.sci.univr.it Argomenti Rappresentazione di sistemi con variabili di stato; Tecniche di integrazione numerica Obiettivo: risolvere sistemi di equazioni differenziali

Dettagli

COMPITO DI RICERCA OPERATIVA APPELLO DEL 08/01/04

COMPITO DI RICERCA OPERATIVA APPELLO DEL 08/01/04 COMPITO DI RICERCA OPERATIVA APPELLO DEL 08/01/04 Esercizio 1 Si risolva con il metodo branch-and-bound il seguente problema di PLI max x 1 + x 4x 1 + x + x = 0 x 1 + x + x 4 = x 1, x, x, x 4 0 x 1, x,

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura

Dettagli

1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44;

1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44; 1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44; c 24 = 15; c 25 = 12; c 34 = 32; c 35 = 55; c 45 = 24 Si calcoli l ottimo duale (formulazione

Dettagli

Laboratorio di Bioimmagini A.A

Laboratorio di Bioimmagini A.A Laboratorio di Bioimmagini A.A. 2008-2009 Le immagini da utilizzare nei seguenti esercizi ed il codice Matlab delle soluzioni sono scaricabili da: http://www.dei.unipd.it/~enrigri/public/lab Esercizio

Dettagli

Calcolo del precondizionatore K 1

Calcolo del precondizionatore K 1 Calcolo del precondizionatore K 1 Ax = b sistema lineare sparso, simmetrico, definito positivo. Soluzione del sistema utilizzando il GCM con un opportuno precondizionatore K 1. K 1 deve essere tale che

Dettagli

INTERPOLAZIONI CON SPLINE

INTERPOLAZIONI CON SPLINE INTERPOLAZIONI CON SPLINE Assegnati gli n +1valori che la funzione f assume nei nodi x i, si costruisce un interpolazione polinomiale a tratti. In ognuno degli intervalli [x i 1,x i ] il polinomio interpolatore

Dettagli

Corso di Laurea Ingegneria Elementi di Informatica. Iterazione. C. Limongelli. Iterazione

Corso di Laurea Ingegneria Elementi di Informatica. Iterazione. C. Limongelli. Iterazione Corso di Laurea Ingegneria Elementi di Informatica C. Limongelli 1 Contenuti Si vogliono formalizzare diverse tecniche per la risoluzione di problemi di: Accumulazione Conteggio Verifica esistenziale Verifica

Dettagli

Fondamenti di Informatica A. A. 2018/19

Fondamenti di Informatica A. A. 2018/19 Fondamenti di Informatica Prof. Marco Lombardi A. A. 2018/19 AlgoBuild: Strutture Iterative e Selettive OUTLINE Blocco condizionale (Struttura selettiva IF - IF/ELSE) Esempi Cicli a condizione iniziale

Dettagli

Problem solving elementare su dati scalari

Problem solving elementare su dati scalari Problem solving elementare su dati scalari Problemi numerici Problemi di codifica/decodifica Problemi testuali Problemi di verifica e filtro di dati Problemi di ordinamento Sommario 2 2006 Politecnico

Dettagli

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 2 OTTIMIZZAZIONE SU GRAFI E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Molti problemi decisionali possono essere formulati utilizzando il linguaggio della teoria dei grafi. Esempi: - problemi di

Dettagli

TEORIA DEI GRAFI. Tecniche reticolari

TEORIA DEI GRAFI. Tecniche reticolari TORIA I GRAFI I problemi di ottimizzazione che riguardano la teoria dei grafi sono: Percorso ottimo; Problemi di flusso a costo minimo; Problemi di costo a massimo flusso. Tecniche reticolari Permettono

Dettagli

Reti Neurali. Corso di AA, anno 2016/17, Padova. Fabio Aiolli. 2 Novembre Fabio Aiolli Reti Neurali 2 Novembre / 14. unipd_logo.

Reti Neurali. Corso di AA, anno 2016/17, Padova. Fabio Aiolli. 2 Novembre Fabio Aiolli Reti Neurali 2 Novembre / 14. unipd_logo. Reti Neurali Corso di AA, anno 2016/17, Padova Fabio Aiolli 2 Novembre 2016 Fabio Aiolli Reti Neurali 2 Novembre 2016 1 / 14 Reti Neurali Artificiali: Generalità Due motivazioni diverse hanno spinto storicamente

Dettagli

Statistica per l Impresa

Statistica per l Impresa Statistica per l Impresa a.a. 207/208 Tecniche di Analisi Multidimensionale Analisi dei Gruppi 2 maggio 208 Indice Analisi dei Gruppi: Introduzione Misure di distanza e indici di similarità 3. Metodi gerarchici

Dettagli

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi

Dettagli

Reti Neurali in Generale

Reti Neurali in Generale istemi di Elaborazione dell Informazione 76 Reti Neurali in Generale Le Reti Neurali Artificiali sono studiate sotto molti punti di vista. In particolare, contributi alla ricerca in questo campo provengono

Dettagli

Algoritmi 25 Febbraio Rispondere alle domande usando lo spazio designato. NON USARE ALTRI FOGLI.

Algoritmi 25 Febbraio Rispondere alle domande usando lo spazio designato. NON USARE ALTRI FOGLI. Algoritmi 25 Febbraio 2011 Prof.ssa M. Anselmo Università di Salerno Cognome: Nome: Matricola: Rispondere alle domande usando lo spazio designato. NON USARE ALTRI FOGLI. Spazio riservato alla correzione

Dettagli

Esistono alcune tipologie di problemi riconducibili a schemi di risoluzione standard

Esistono alcune tipologie di problemi riconducibili a schemi di risoluzione standard Classi di algoritmi Esistono alcune tipologie di problemi riconducibili a schemi di risoluzione standard una volta individuato lo schema opportuno si dovrà solo adattarlo al caso particolare per poter

Dettagli

Esercitazione di Matematica Computazionale del 16/12/2008

Esercitazione di Matematica Computazionale del 16/12/2008 Esercitazione di Matematica Computazionale del 16/12/2008 Applicazioni della Singular Value Decomposition Riconoscimento di Volti mediante Eigenface 1. Rappresentazione di un volto nella base dei suoi

Dettagli

Metodi di Ricerca Lineare

Metodi di Ricerca Lineare Metodi di Ricerca Lineare Stefano Gualandi Università di Pavia, Dipartimento di Matematica email: twitter: blog: stefano.gualandi@unipv.it @famo2spaghi http://stegua.github.com Metodi di Ottimizzazione

Dettagli

Riconoscimento e recupero dell informazione per bioinformatica. Clustering: validazione. Manuele Bicego

Riconoscimento e recupero dell informazione per bioinformatica. Clustering: validazione. Manuele Bicego Riconoscimento e recupero dell informazione per bioinformatica Clustering: validazione Manuele Bicego Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario Definizione

Dettagli

Appunti di informatica. Lezione 10 anno accademico Mario Verdicchio

Appunti di informatica. Lezione 10 anno accademico Mario Verdicchio Appunti di informatica Lezione 10 anno accademico 2016-2017 Mario Verdicchio Esercizio Scrivere un programma che, data una sequenza di 10 interi (scelta dall utente), la ordini in ordine crescente Soluzione

Dettagli

Cluster Analysis. La Cluster Analysis è il processo attraverso il quale vengono individuati raggruppamenti dei dati. per modellare!

Cluster Analysis. La Cluster Analysis è il processo attraverso il quale vengono individuati raggruppamenti dei dati. per modellare! La Cluster Analysis è il processo attraverso il quale vengono individuati raggruppamenti dei dati. Le tecniche di cluster analysis vengono usate per esplorare i dati e non per modellare! La cluster analysis

Dettagli

K-means clustering con R

K-means clustering con R K-means clustering con R Emanuele Taufer file:///c:/users/emanuele.taufer/google%20drive/2%20corsi/3%20sqg/labs/l-10_cluster_k-means.html#(1) 1/10 Introduzione K-means è un approccio semplice ed elegante

Dettagli

Introduzione alla programmazione Esercizi risolti

Introduzione alla programmazione Esercizi risolti Esercizi risolti 1 Esercizio Si determini se il diagramma di flusso rappresentato in Figura 1 è strutturato. A B C D F E Figura 1: Diagramma di flusso strutturato? Soluzione Per determinare se il diagramma

Dettagli

Definizione automatica della scala spaziale per la segmentazione di immagini SAR in ambiente urbano

Definizione automatica della scala spaziale per la segmentazione di immagini SAR in ambiente urbano Definizione automatica della scala spaziale per la segmentazione di immagini SAR in ambiente urbano I. INTRODUZIONE Giovanna Trianni, Università di Pavia Il mio lavoro di ricerca si colloca nell ambito

Dettagli

Equazioni e sistemi non lineari

Equazioni e sistemi non lineari Equazioni e sistemi non lineari Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 Ricerca degli zeri di una funzione Problema e definizioni Metodo di Newton-Raphson

Dettagli

Sistemi operativi e distribuiti

Sistemi operativi e distribuiti Sistemi operativi e distribuiti La memoria virtuale Memoria Virtuale Separazione della memoria logica da quella fisica Un programma potrebbe risiedere in memoria solo parzialmente Lo spazio di indirizzamento

Dettagli

La formalizzazione dell informazione: Dati e Diagrammi di Flusso

La formalizzazione dell informazione: Dati e Diagrammi di Flusso La formalizzazione dell informazione: Dati e Diagrammi di Flusso Codifica degli algoritmi Algoritmo formulato per essere comunicato tra esseri umani chiaro, sintetico e intuitivo codificato in linguaggi

Dettagli

1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso

1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso Domanda 1 1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso x n+1 = x n f(x n), n = 0, 1, 2,... K dove x 0 è il punto iniziale, f(x) = x 3 cos(x) e K è una costante assegnata.

Dettagli

Computazione per l interazione naturale: macchine che apprendono

Computazione per l interazione naturale: macchine che apprendono Computazione per l interazione naturale: macchine che apprendono Corso di Interazione uomo-macchina II Prof. Giuseppe Boccignone Dipartimento di Scienze dell Informazione Università di Milano boccignone@dsi.unimi.it

Dettagli

Paolo Mogorovich

Paolo Mogorovich Sistemi Informativi Territoriali Paolo Mogorovich www.di.unipi.it/~mogorov .4 Dati vettoriali - Tecniche di rappresentazione Un layer areale può essere rappresentato utilizzando diverse tecniche. Per esempio:

Dettagli

5. Analisi dei dati di output

5. Analisi dei dati di output Anno accademico 2006/07 Analisi dei dati di Output Y 1, Y 2,..., Y m : output della simulazione. Le variabili casuali Y 1, Y 2,..., Y m non sono in generale indipendenti Se supponiamo però di avere effettuato

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi Golosi (Greedy) Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino un algoritmo goloso correttezza Problema della selezione di attività

Dettagli