Sistema ibrido per il riconoscimento di volti

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Sistema ibrido per il riconoscimento di volti"

Transcript

1 UNIVERSITÀ POLITECNICA DELLE MARCHE FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica e dell Automazione Sistema ibrido per il riconoscimento di volti Tesi di Laurea di: Francesco Comignani Relatore: Prof. Aldo Franco Dragoni Correlatore: Ing. Germano Vallesi ANNO ACCADEMICO

2

3 Indice Indice... III Introduzione Struttura tesi... VIII VI 1 Sistemi Biometrici 1.1 Biometria Fasi funzionamento di un sistema biometrico Categorie di biometrie Riconoscimento del volto Dimensionality Reduction 2.1 Concetti di dimensionality reduction Campi di applicazione Tecniche PCA ICA III

4 2.3.3 LDA Reti Neurali Artificiali 3.1 Neurone biologico & artificiale Architettura della rete Feedforward Feedback Apprendimento Non supervisionato Supervisionato Basato sul rinforzo Tipi di rete neurale artificiale Percettrone SOM GNG ART Progettazione sistema ibrido di classificazione 4.1 Sistemi ibridi Struttura generale del sistema Principal Component Analysis 5.1 Concetti di base Varianza e covarianza Matrice delle covarianze Autovalori ed autovettori Librerie utilizzate EasyBMP Alglib IV

5 5.3 Algoritmo Impostazioni della compressione Classificatore basato su Rete Neurale SOM 6.1 Generalità sui classificatori SOM di Kohonen non supervisionata Misura d errore Errore di quantizzazione Qualità di clusterizzazione Leggi di apprendimento Tasso di apprendimento Raggio di apprendimento Algoritmo Risultati Sperimentali 7.1 Database ORL DIIGA Analisi dei risultati Conclusioni e sviluppi futuri Ringraziamenti Bibliografia e sitografia V

6 Introduzione Introduzione I sistemi di riconoscimento facciale possono offrire ottime performance nel riconoscimento dei soggetti attraverso l'analisi di immagini del volto, ma le loro prestazioni non sono prevedibili se nei soggetti da riconoscere qualche caratteristica evolve nel tempo. Se il soggetto cambia con regolarità si arriverà sicuramente ad un punto in cui la conoscenza iniziale non sarà più sufficiente per completare una corretta identificazione, ed il soggetto verrà confuso con un altro individuo. Questo comportamento è davvero poco adatto nel caso in cui il riconoscimento facciale sia usato per l'accesso ad aree riservate o per consentire l'utilizzo di dati sensibili. Il sistema biometrico sviluppato in [1] è basato su una serie di reti neurali specializzate nel riconoscere ognuna una particolare parte del viso. Data un immagine di un soggetto in ingresso, verranno estratte le caratteristiche o features e, successivamente, ogni rete fornirà un risultato. Sulla base di questo insieme di uscite un condizionatore Bayesiano troverà qual è VI

7 Introduzione l identità più probabile. Ogni rete vedrà modificata la propria affidabilità a seconda del risultato. Una rete che sbaglia il riconoscimento di un soggetto vede la sua affidabilità, e quindi il suo peso nella decisione, decrescere finché, dopo un certo numero di risposte errate, esso diverrà nullo. A tal punto, è compito del sistema posto in retroazione, riaddrestrare la rete in maniera che questa diventi capace di riconoscere correttamente i cambiamenti che l hanno portata a sbagliare fino ad allora. A questo punto vene utilizzato il concetto di finestra temporale, che permette l aggiornamento della conoscenza della rete solo nel momento in cui un cambiamento diventa stabile. La finestra temporale funge da buffer salvando le immagini di un soggetto che causano la perdita di affidabilità di una rete. Ciò vuol dire che vi troveremo volti con dei particolari che la rete non è in grado di riconoscere. A tal punto sembra inevitabile dover procedere ad un nuovo addestramento della rete nel momento in cui la finestra temporale è piena. Ma possiamo lasciare che le immagini non riconosciute vengano usate per riaddestrare una rete su un soggetto? Occorre usare accortezza nella selezione delle immagini da utilizzare per il riaddestamento. Tali immagini, infatti, potrebbero essere state non riconosciute per diversi motivi: il soggetto a cambiato parzialmente il suo aspetto; l immagine potrebbe essere di cattiva qualità; il soggetto nell immagine potrebbe essere girato o aver modificato il suo aspetto finale a causa di un espressione del volto; infine, anche se molto più raramente, la rete potrebbe non essersi sbagliata, ma potrebbe essere stata la maggioranza delle altre a commettere lo stesso errore. VII

8 Introduzione E quindi necessario porre un filtro tra la finestra temporale e la rete neurale atta al riaddestramento. L obiettivo di questa tesi sarà appunto sviluppare un filtro in grado di classificare le immagini presenti nella finestra temporale, e restituire gli insiemi costituiti da elementi simili. Inoltre, per agevolare la fase di classificazione delle immagini, sarà utilizzata una tecnica di compressione per trattare gli ingressi prima che questi vengano forniti alla rete neurale, riducendo notevolmente i dati su cui questa deve operare. Struttura tesi Il capitolo 1 introduce il problema della biometria ed, in particolare, il problema del riconoscimento del volto. I concetti teorici di riduzione delle dimensioni dei dati sono esposti nel capitolo 2, mentre quelli relativi alle reti neurali si trovano nel capitolo 3. Il capitolo 4 mostra la struttura del sistema sviluppato e ne motiva le scelte applicative generali. Nel capitolo 5 e 6 vengono descritti i dettagli dell implementazione del sistema per quanto riguarda il blocco per la riduzione delle dimensioni e, rispettivamente, il blocco neurale per la classificazione. Infine, il capitolo 7, mostra le prestazioni dell intero sistema progettato. VIII

9 Capitolo 1 Sistemi biometrici Capitolo 1 Sistemi biometrici 1.1 Biometria La biometria è la scienza che utilizza tecnologie e metodi per identificare univocamente gli esseri umani attraverso l'uso discriminante delle loro caratteristiche fisiche e comportamentali. Essa è per lo più utilizzata per risolvere problemi di controllo degli accessi, fornendo un alternativa più sicura ai tradizionali metodi di autenticazione. La biometria tenta di risolvere i punti deboli degli attuali sistemi di accesso: debolezza delle password: l'utilizzo di password deboli è purtroppo un problema molto comune, inoltre è spesso poco sentito da parte degli utenti che tendono a ignorare e sottovalutare il problema. Queste due caratteristiche rendono tale problema molto delicato ai 1

10 Capitolo 1 Sistemi biometrici fini della sicurezza di un sistema di accesso. L'utilizzo di password facilmente individuabili può consentire infatti ad una terza persona di assumere l'identità di un altro soggetto agli occhi del sistema, permettendo a quest'ultimo di operare con gli stessi privilegi del soggetto realmente autorizzato. Ciò può implicare rischi per la sicurezza sia per il sistema informatico in sé, sia per la sicurezza personale e delle comunicazioni del soggetto originale; credenziali di accesso condivise: questo è un altro caso molto comune, infatti capita spesso che si possano trovare gruppi di utenti che condividono credenziali di autenticazione tra di loro; perdita delle credenziali: è sempre possibile perdere le credenziali se queste sono indipendenti dal soggetto che servono ad autenticare, siano esse password oppure oggetti come badge e tesserini magnetici o RFID. L idea dell utilizzo della biometria per l identificazione è quella di utilizzare fattori unici associati alla fisicità del soggetto o al suo modo di esprimersi (come l impronta della voce, la calligrafia, ecc...). Per molti aspetti, i dati biometrici possono essere considerati come delle vere e proprie chiavi; il sistema li considera, infatti, come sequenze univoche di bit. Ciò è spesso ignorato dai progettisti che affidano la sicurezza del loro sistema informatico alla biometria. I progettisti possono essere portati a credere che, essendo difficile da replicare la sorgente della misura biometrica (l'impronta, la voce ecc...), il sistema risulta essere "più sicuro". Tale ragionamento è scorretto, in quanto, un sistema biometrico soffre comunque dei problemi fondamentali di tutti i sistemi informatici. Se infatti le credenziali vengono salvate sottoforma di bit e questi, se intercettati e copiati, rendono la biometria debole come qualunque altro tipo di identificazione. 2

11 Capitolo 1 Sistemi biometrici E quindi necessario proteggere l intero sistema, dai sensori esterni atti al riconoscimento, alle stringhe identificative salvate sul database poiché la vulnerabilità di alcuni aspetti non risiede nel metodo di riconoscimento, ma nella sua implementazione. 1.2 Fasi di funzionamento di un sistema biometrico Il funzionamento di un sistema biometrico è strutturato in tre distinte fasi: 1. enrollment: prima che un utente possa essere identificato da un sistema biometrico occorre istruire il sistema a riconoscerlo. Il sistema potrebbe avere bisogno di più misurazioni della stessa grandezza per avere una buona confidenza rispetto al dato che ha collezionato e per mantenere traccia anche della varianza tra i diversi campioni; 2. usage: in questa fase l'utente prova ad accedere al sistema mediante nuove misurazioni della grandezza che si valuta attraverso il sistema biometrico. Questo confronta la nuova misura con quelle che ha memorizzato nella fase precedente per valutare la somiglianza tra campioni e consentire l'accesso in caso di match positivo; 3. update: in base al tipo di analisi biometrica il dato cambia con maggiore o minore velocità e il sistema biometrico potrebbe avere bisogno di aggiornare la conoscenza accumulata nella fase di enrollment. Ci sono vari criteri per eseguire l'update ed è compito 3

12 Capitolo 1 Sistemi biometrici del progettista stabilirne uno congruo con l'applicazione per cui è usato il sistema. Fig 1.1: Schema di funzionamento di un sistema biometrico. Un sistema biometrico può essere usato principalmente in due modalità: autenticazione o identificazione. L'autenticazione è l'atto di verificare che l'utente è chi dice di essere. Per questo motivo il nuovo campione biometrico acquisito è confrontato solo con il campione che in precedenza era stato acquisito per quel determinato soggetto. L'atto di riconoscere un soggetto senza che questi abbia asserito la sua identità è chiamato identificazione e consiste nel confrontare il nuovo campione biometrico con tutti quelli che il sistema conosce sin dalla fase di enrollment. Questo secondo caso è ovviamente molto più complicato di quello precedente. L'asserzione sull'identità che un soggetto afferma di essere può essere acquisita in un vasto numero di modi, con una smartcard elettronica, con un codice utente o, nel caso specifico del riconoscimento vocale, dicendo il proprio nome. Queste modalità di autenticazione sono conosciute per essere multifactor, nel senso che spesso 4

13 Capitolo 1 Sistemi biometrici l'utente deve dimostrare la sua identità o con qualcosa in suo possesso o con qualcosa che conosce o con qualcosa che è. Nei sistemi biometrici si utilizza il terzo tipo di fattore, cioè dimostrando attraverso la fisicità o il comportamento la veridicità dell autenticazione. 1.3 Categorie biometriche Sebbene esistano molte tipologie di biometrie esse si distinguono in due macrocategorie: Fisiologiche Comportamentali Il tipo di biometria definito fisiologico si basa su misurazioni di parti corporee o sull'analisi delle sue forme. Come esempi di questo tipo possiamo riportare: impronte digitali, scansioni delle mani, scansioni delle vene, scansioni dell'iride oculare, scansioni della retina, riconoscimento facciale. Queste diverse analisi biometriche hanno in comune che sono tutte basate su misurazioni "statiche" di specifiche parti del corpo. Il tipo di biometria comportamentale si concentra maggiormente su qualcosa che il soggetto deve fare, piuttosto che una semplice misurazione di una parte del corpo; l'utente è chiamato a verificare la sua identità replicando una sua azione specifica. Sono di questo tipo i riconoscimenti della scrittura, del keystroke, il riconoscimento vocale o del modo di camminare. 5

14 Capitolo 1 Sistemi biometrici Fig1.2: Categorie biometriche. 1.4 Riconoscimento del volto Il riconoscimento del volto, è la branca della biometria fisiologica, che si occupa di sviluppare algoritmi e tecniche matematiche per l autenticazione o l identificazione di soggetti attraverso l estrazione di caratteristiche fondamentali dei volti. In genere si può affermare che il riconoscimento biometrico facciale è basato sul confronto di due immagini del volto. Per realizzare questo confronto però, non basta analizzare le immagini pixel per pixel, perché le potrebbero avere inquadrature differenti dei soggetti sia perché i soggetti potrebbero assumere espressioni del viso differenti nelle immagini. Per tale motivo sono stati pensati diversi algoritmi per estrarre il contenuto delle foto e confrontare i volti contenuti. Ci sono essenzialmente due tipi di approccio ai fini dell'estrazione delle feature, o caratteristiche, per il riconoscimento facciale: il template matching olistico, la ricerca locale di feature basata su schemi e variazioni. Nel tipo olistico l'analisi biometrica viene svolta sull'intera faccia, direttamente sotto forma di immagine che è poi trasformata in un pattern 6

15 Capitolo 1 Sistemi biometrici di ingresso, o attraverso l'uso di un vettore generato da una qualche fase di preprocessing a partire dalle immagini dell'intera faccia. Nell'altro tipo di approccio, quello geometrico, si tenta invece di individuare le componenti più importanti del volto nell'immagine. A quel punto, sono computate le distanze relative e le grandezze delle feature. L'insieme delle misure costituisce il vettore rappresentativo di quella immagine. Questo tipo di metodo è più adatto a grandi variazioni in scala delle immagini ed è più robusto, ma è generalmente più complesso, ed ha bisogno di un numero maggiore di passi per raggiungere il suo scopo. Esistono inoltre tecniche ibride che usano alcuni concetti dell'una e alcuni concetti dell'altra, ad esempio possono usare delle funzioni per l'estrazione delle feature di un volto e poi analizzare singolarmente in modo olistico quelle parti. Sulla base di questi bisogni vari studi sono stati svolti per trovare un buon compromesso sul numero di colori di grigio da usare per la rappresentazione delle immagini. La riduzione della dimensione dell'analisi può essere raggiunta anche attraverso l'uso di opportuni algoritmi di dimensionality reduction. Il compito del riconoscimento attraverso immagini del volto soffre del problema della grande variabilità che può aversi all'interno di diverse immagini dello stesso soggetto. Per risolvere il problema della variabilità sono possibili vari approcci: per ogni soggetto vengono conservate più template, una per ogni espressione facciale fondamentale, o orientamento della testa; vengono usate template deformabili in un modello tridimensionale del volto umano; si considerano tali variazioni nel processo di estrazione delle feature. 7

16 Capitolo 2 Dimensionality Reduction Capitolo 2 Dimensionality Reduction 2.1 Concetti di dimensionality reduction La dimensionality reduction, o riduzione delle dimensioni, in statistica, è il processo atto a ridurre il numero di variabili prese in considerazione nella osservazione di un evento. Il problema degli insiemi di dati fortemente multidimensionali è che non tutte le variabili presenti sono necessarie per capire il fenomeno osservato. Mentre esistono metodi computazionalmente costosi in grado di creare modelli predittivi per dati multidimensionali, in molti campi rimane la necessità di ridurre la dimensione dei dati prima del loro utilizzo. In termini matematici, il problema della riduzione delle dimensioni può essere espresso come segue: 8

17 Capitolo 2 Dimensionality Reduction data una variabile con p dimensioni T = x x 1 p è necessario trovare x (,..., ) una sua rappresentazione k-dimensionale T = s s 1 k con k p s (,..., ) che riesca ad esprimere le informazioni originali. Esistono diversi nomi con cui i vettori p-dimensionali vengono chiamati in accordo con il contesto d utilizzo. Nell apprendimento automatico si è soliti chiamarli attributi mentre in informatica vengono detti features. In questo documento verranno utilizzate entrambe le notazioni. Le tecniche di dimensionality reduction posso essere distinte in due categorie: feature selection, nel caso in cui la riduzione delle dimensioni viene svolta cercando un sottoinsieme di variabili nei dati originali in modo da poter esprimere, con la minor perdita di informazione possibile, gli stessi dati utilizzando però un minor numero di features; feature extraction, dove la trasformazione di dati fortemente multidimensionali in dati con poche dimensioni viene svolta attraverso un processo di combinazione delle feature presenti nei dati originali, al fine di formare nuove variabili che, seppur in numero minore, riescano ad esprimere la stessa quantità di informazioni delle originali. Nei paragrafi successivi verranno introdotte applicazioni e tecniche dei metodi di dimensionality reduction. 2.2 Campi di applicazione Negli ultimi decenni i progressi svolti in campi come l archiviazione su calcolatore o la raccolta dei dati hanno portato ad un aumento 9

18 Capitolo 2 Dimensionality Reduction esponenziale delle informazioni nella maggior parte dei campi di studio. Il ruolo delle tecniche di dimensionality reduction è divenuto sempre più importante negli ultimi anni trovando larga applicazione in tutti gli aspetti della quotidianità. Importanti applicazioni di tali metodi sono: il trattamento delle immagini per applicazioni di classificazione, come per esempio l analisi automatica delle immagini satellitari per monitorare le condizioni meteorologiche e per i sistemi di riconoscimento biometrico; per ricavare particolari informazioni da un insieme di dati eccessivamente esteso, come l analisi di dati finanziari per predire gli andamenti del mercato; per ridurre, o eliminare completamente, le componenti di disturbo presenti all interno dei dati, utilizzato nel trattamento delle immagini e nelle telecomunicazioni per eliminare le interferenze tra segnali. 2.3 Tecniche Di seguito verranno presentate le più comuni tecniche di dimensionality reduction PCA Nota con diversi nomi quali PCA, Hotelling Transform o ancora Karhunan-Loeve transform, l analisi delle componenti principali è il metodo più comune per scopi di feature extraction. 10

19 Capitolo 2 Dimensionality Reduction Si tratta di una tecnica statistica per la riduzione delle dimensioni che estrae le features principali attraverso l analisi della correlazione dei dati. L insieme delle features principali viene trovato attraverso la proiezione del dataset, cioè l insieme dei dati, in uno spazio di dimensione minore di quello in cui è naturalmente definito. Tale spazio viene generato da delle basi che, altro non sono, che gli autovettori della matrice di covarianza, dove, gli assi del nuovo spazio, coincideranno con le direzioni di massima varianza. La riduzione delle dimensioni avviene mantenendo le features con varianza superiore ad una certa soglia, stabilita secondo le necessità di rappresentazione,ed ignorando tutte le restanti. Naturalmente è possibile mantenere tutte le componenti ma, in tal caso, le dimensioni non vengono ridotte e, l unica modifica, è il modo in cui i dati vengono rappresentati. Attraverso questo metodo, è possibile, mantenere l insieme di features che contengono la maggior quantità di informazioni, il cui indicatore è la varianza, riducendo le dimensioni con la minor perdita di entropia possibile. Fig 2.1: Immagini trasformate secondo l algoritmo PCA. 11

20 Capitolo 2 Dimensionality Reduction ICA L Indipendent Component Analysis (ICA) è una tecnica statistica per l individuazione delle componenti principali in un segnale multidimensionale, sotto l ipotesi di indipendenza statistica dei segnali sorgente. Quindi, in realtà, essa nasce con lo scopo di trovare all interno di un insieme di dati, tipicamente segnali, le singole sorgenti generatrici. La conoscenza di tali sorgenti ci può comunque fornire importanti informazioni riguardo il dataset permettendoci, di fatto, di utilizzarla come tecnica di feature extraction. L ICA è un caso particolare di Blind Source Separation (BSS), che descrive l analisi dei segnali nei casi in cui non conosciamo quasi nulla delle sorgenti. Il tipico esempio applicativo del BSS è quello del cocktail party: dove, all interno di una stanza, abbiamo N persone che parlano ed N microfoni ambientali. Lo scopo è trovare le singole voci all interno dell insieme delle registrazioni. Fig 2.2: Problema del cocktail party. Per applicare l ICA è necessario assumere che le componenti che vogliamo stimare siano statisticamente indipendenti e presentino una distribuzione non gaussiana, ciò, è giustificato dal fatto che le statistiche di ordine superiore, di cui fa uso questo metodo, sono nulle per variabili gaussiane. La tecnica ICA richiede che il dataset da elaborare sia costituito da features 12

21 Capitolo 2 Dimensionality Reduction a varianza unitaria ed incorrelate. Per questo motivo, solitamente, si è soliti "sbiancare" i dati utilizzando il metodo PCA. Ciò rende più costoso, in termini di tempi di esecuzione e costi computazionali, l utilizzo di una tecnica ICA LDA La Linear Discriminant Analysis (LDA) è basata sulla ricerca dei vettori, che costituiscono la base dello spazio in cui sono definiti i dati, che hanno caratteristiche tali da poter discriminare il meglio possibile gli attributi dell intero dataset. Queste vengono poi selezionate per descrivere l intero insieme di dati, facendo a meno delle features che differenziano poco la separazione tra classi. Le tecniche di questo tipo sono spesso messe a confronto con quelle PCA. Nella LDA, l insieme di vettori cercati è quello che ci permette di discriminare al meglio le classi contenute all interno del dataset mentre, nella PCA, cerchiamo di trovare le features con più varianza. Le differenze non si fermano qui, in quanto, con i metodi LDA i dati non vengono proiettati in un nuovo spazio ma, bensì, vengono create delle "regioni di decisione", all interno dello spazio originale, che permettono l immediato riconoscimento delle classi nel dataset. Per questo motivo si dice che la LDA effettua una classificazione dei dati mentre, la PCA, effettua una classificazione delle features. La discriminazione viene effettuata considerando lo spettro occupato da ogni classe e tra ogni classe, costruendo le matrici spettrali intra-classe e extra-classe. Ciò viene svolto minimizzando il determinante della matrice intra-classe e massimizzando quello extra-classe in modo che il loro rapporto sia massimo. Questo particolare ci costringe a conoscere a priori 13

22 Capitolo 2 Dimensionality Reduction l appartenenza dei dati alle classi ed il numero di quest ultime, limitando l uso di tale metodo. Fig 2.3: Insieme di variabili (a) insieme di variabili dopo la discriminazione (b). 14

23 Capitolo 3 Reti neurali artificiali Capitolo 3 Reti neurali artificiali 3.1 Neurone biologico ed artificiale L intelligenza artificiale è la disciplina che sviluppa tecniche che permettono ai calcolatori di svolgere funzioni e ragionamenti tipici della mente umana. Lo studio delle reti neurali inizia nel 1943 con i lavori di McCulloch e Pitts che dimostrano che una qualunque funzione logica può essere implementata con una rete di elementi a soglia con due stati. Ogni macchina a stati finiti può essere quindi simulata da una rete neurale artificiale costituita da un insieme di nodi, detti neuroni artificiali. Il neurone, o cellula nervosa, è l unità fondamentale del tessuto nervoso che gode di particolari proprietà che gli permettono di trasmettere, 15

24 Capitolo 3 Reti neurali artificiali ricevere ed integrare impulsi nervosi. Fig 3.1: Neurone biologico. La cellula nervosa è costituita da un corpo centrale, detto soma, e da due tipi di terminazioni, i dentriti e l assone. I dentriti raccolgono gli impulsi nervosi trasmessi da altri neuroni, mentre l assone propaga gli impulsi dal soma verso gli altri neuroni. La trasmissione degli impulsi è realizzabile grazie a dei collegamenti, posti tra le terminazioni nervose, detti sinapsi. Le sinapsi hanno la capacità di "modulare" il valore dei segnali che trasmettono. Infatti esse possono regolare gli impulsi che propagano secondo il loro andamento tipico. Quindi, se un collegamento tra due neuroni viene attraversato da segnali di piccola ampiezza, esso ridurrà il valore di un impulso più grande avvicinandolo, in parte, a quello dell impulso medio che trasmette solitamente. L evoluzione della modulazione sinaptica non cessa mai, infatti questa è capace di mutare le sue caratteristiche nel tempo, adattandosi di volta in volta all andamento degli impulsi nervosi trasmessi. Proprio questa capacità di adattamento ha stimolato lo sviluppo di un oggetto che emulasse il comportamento delle cellule neurali, cioè il neurone artificiale. Questo è un modello matematico molto semplificato del neurone biologico costituito da una serie di ingressi e da un uscita. Emulando il comportamento delle sinapsi, ad ogni ingresso è associato un 16

25 Capitolo 3 Reti neurali artificiali vettore di pesi che modella i valori di input. La somma pesata degli ingressi viene confrontata con una soglia, che determina l attivazione, o meno, del neurone ed il relativo valore fornito in uscita. Una rete neurale artificiale è costituita da un insieme di neuroni artificiali, o nodi, interconnessi. Il loro scopo è quello di acquisire informazioni, accumulando una vera e propria conoscenza, per poi essere capaci di risolvere efficacemente problemi dinamici nel tempo. Le reti neurali sono solitamente organizzate in strati, o livelli, costituiti da neuroni che svolgono tutti il medesimo ruolo. Possiamo definire tre tipi di strati di neuroni: di ingresso, nascosti e di uscita. Non esistono limitazioni riguardo il numero di strati da utilizzare o il numero di neuroni per strato, tuttavia sono presenti degli schemi generali riguardanti le topologie, quindi le modalità di connessione tra neuroni e tra livelli, e le tecniche di apprendimento delle reti neurali. 3.2 Architettura della rete E possibile configurare le connessioni tra i neuroni artificiali in vari modi. Questi condizionano la topologia della rete nonché il suo comportamento Feedforward Le connessioni feedforward permettono unicamente la comunicazione unidirezionale senza la possibilità di formare cicli. Dato che, come precedentemente detto, le reti neurali sono solitamente organizzate in strati, tali connessioni permetteranno la comunicazione solo tra uno strato ed il successivo, impedendo di effettuare "salti" o connessioni all interno 17

26 Capitolo 3 Reti neurali artificiali del medesimo strato. Un esempio di rete feedforward è mostrato in figura 3.2. Questa modalità di comunicazione rende le reti che la utilizzano molto rapide poiché, senza la presenza di cicli o di propagazione orizzontale (cioè all interno dello stesso livello), il segnale attraversa la rete percorrendo la direzione più breve fornendo il risultato dell elaborazione il prima possibile. Fig 3.2: Rete neurale con connessione feedforward Feedback Le reti feedback un neurone può essere connesso a qualunque altro neurone della rete, sia che si trovi sullo stesso livello, nel caso in cui si parla di collegamento laterale, sia su un livello precedente o successivo. Grazie a questo tipo di collegamento le reti feedback sono solitamente composte da poche unità neurali poiché, grazie alla retroazione, la rete è in grado di evolvere dinamicamente fino ad uno stato stabile attraverso il quale viene formulata una risposta. Questo tipo di reti fa uso di molta memoria a causa del grande numero di interconnessioni presenti, in media molto maggiori di quelle presenti in reti feedforward. 18

27 Capitolo 3 Reti neurali artificiali Fig 3.3: Rete neurale con connessioni feedback. 3.3 Tipi di apprendimento Come già detto, l obiettivo di una rete neurale è quello di acquisire una propria conoscenza dalle informazioni fornitegli in input per formulare soluzioni a problemi che evolvono nel tempo. E necessario, quindi, che alle reti venga data la conoscenza necessaria per poter lavorare. Ciò viene fatto in un processo detto apprendimento, o addestramento, che viene eseguito sulla rete prima che questa possa iniziare ad essere utilizzata. Esistono diversi approcci all addestramento delle reti neurali, questi, si basano tutti sulla modifica dei vettori dei pesi che costituiscono le interconnessioni tra neuroni. La modifica di questi valori viene effettuata attraverso formule matematiche dette leggi di apprendimento. Solitamente, l architettura della rete neurale, non vincola l utilizzo di un particolare approccio di addestramento, ma è possibile utilizzare qualunque paradigmi esistente senza avere la necessità di cambiare modello di rete. 19

28 Capitolo 3 Reti neurali artificiali Non supervisionato La tecnica di apprendimento non supervisionata prevede la modifica dei pesi attraverso l uso delle sole variabili di ingresso. In questo modo la rete autogestisce la sua evoluzione non richiedendo il controllo da parte di entità esterne. Questo metodo viene solitamente utilizzato per problemi di data mining, cioè problemi in cui non si hanno informazioni oltre ai dati d ingresso. In tali ambiti si richiede alla rete neurale una certa indipendenza organizzativa, cioè la capacità di estrarre informazioni dai dati in ingresso e trovare legami che le leghino in modo da poter stabilire un criterio di discriminazione valido per gli ingressi originali Supervisionato Nel caso in cui si disponga di un set di ingressi correlato dalle uscite corrispondenti è possibile applicare il paradigma di apprendimento supervisionato. Attraverso gli esempi ingresso-uscita la rete modifica i vettori dei pesi in maniera che questi abbiano errore minimo nel calcolare i risultati relativi agli ingressi esempio. Completata la procedura, la rete è in grado di stabilire la relazione che lega gli ingressi alle uscite e diventa utilizzabile con qualunque input. Questo tipo di approccio viene solitamente utilizzato per problemi di classificazione Basato sul rinforzo L apprendimento basato sul rinforzo è un ibrido tra i due metodi presentati precedentemente. Questa tecnica si basa, come per l apprendimento supervisionato, sull intervento esterno durante 20

29 Capitolo 3 Reti neurali artificiali l acquisizione di informazioni. La rete, infatti, riceve un segnale di rinforzo che premia o penalizza il modo in cui ha calcolato la risposta ad un determinato ingresso. I pesi vengono modificati in modo da massimizzare il segnale di rinforzo, cioè in modo che la rete dia dei risultati che vengano premiati. 3.4 Tipi di rete neurale artificiale Percettrone Il percettrone è la rete neurale più semplice nonché la prima forma di rete mai sviluppata. La struttura del percettrone è quella del neurone artificiale, mostrata in figura 3.4 (a), cioè un vettore di pesi per ogni ingresso ed una funzione di attivazione a soglia. Il percettrone può essere utilizzato singolarmente, potendo implementare funzioni semplici come quelle booleane NOT, OR ed AND, o come rete neurale composta da una serie di percettroni connessi con architettura feedforward, in grado, potenzialmente, di risolvere problemi di qualunque complessità. Fig 3.4: (a) Percettrone (b)rete di percettroni a tre livelli. 21

30 Capitolo 3 Reti neurali artificiali Solitamente la rete di percettroni, o MLP, MultiLayer Perceptron, viene utilizzata con un paradigma supervisionato, quindi è necessario disporre di un set di coppie ingresso-uscita desiderata. La fase di apprendimento deve essere ripetuta diverse volte per permettere alla rete di acquisire sufficiente conoscenza del legame input-output in modo da commettere il minimo errore nella stima dei risultati. Definiamo l unità di tempo chiamata epoca, come il tempo necessario all addestramento per aggiornare i valori di tutti i pesi della rete. Solitamente l iterazione viene arrestata nel momento in cui l errore, calcolato come differenza tra output fornito e quello auspicato, non risulta nullo. La formula per l aggiornamento dei vettori dei pesi è: w( t+ 1) = w( t) +α (g(x) f (x)) x (3.1) dove w( t ) è il vettore dei pesi al passo t-esimo, α è il parametro di apprendimento, cioè un numero reale positivo, g(x) è l output fornito dalla rete, f (x) è l output desiderato ed x è l ingresso. Come è possibile notare dalla formula 3.1, nel momento in cui l uscita coincide con quella desiderata i pesi non subiscono ulteriori trasformazioni. Solitamente, per l addestramento di reti multistrato MLP è utilizzato l algoritmo backpropagation, tuttavia non verrà analizzato in questa sede e, per una documentazione a riguardo, si rimanda il lettore al testo [14] SOM La rete neurale SOM, o Self Organizing Map, è stata ideata e proposta da Kohonen in [13]. La SOM è, probabilmente, il modello più utilizzato di rete neurale. Essa è costituita da una mappa di neuroni, cioè un vettore, solitamente di dimensione uno o due, collegata ad un livello di ingresso. Il 22

31 Capitolo 3 Reti neurali artificiali collegamento è di tipo feedforward ed, ogni neurone di ingresso è collegato, tramite i vettori di pesi, a tutti i neuroni della mappa, chiamata livello di categorizzazione o di output. I neuroni del secondo strato sono connessi tra loro secondo uno schema di pesi chiamato "cappello messicano". Tale modello fa sì che se un neurone viene eccitato, allora lo saranno anche i neuroni vicini, mentre quelli lontani verranno inibiti come mostrato in figura 3.5. A tal punto possiamo affermare che l architettura della SOM è di tipo feedback, a causa delle connessioni laterali presenti nel livello di uscita. Fig 3.5: Andamento dei pesi nella connessione a cappello messicano. Reti di questo tipo vengono solitamente utilizzate con paradigmi di apprendimento non supervisionati. Il processo di apprendimento è molto semplice: si fornisce un ingresso alla rete, che trova il neurone dello strato di categorizzazione con la minima distanza euclidea dall input, detto neurone vincitore o BMU, e ne modifica i pesi secondo una formula del tutto simile alla 3.1, che scritta alla t-esima iterazione sarà: w( t+ 1) = w( t) +α( t) [ input( t) w( t)] (3.2) dove input( t ) è l ingresso, w( t ) è il vettore dei pesi associato al neurone ed α ( t) è la legge di apprendimento, cioè una funzione matematica che regola l apprendimento in base al numero di iterazioni. Le reti di Kohonen prevedono anche una seconda legge che regola l apprendimento che, 23

32 Capitolo 3 Reti neurali artificiali solitamente, viene utilizzata quando si sceglie di non collegare lateralmente i nodi nello strato di output. Questa stabilisce il raggio d azione della prima legge, α ( t). Infatti uno schema usuale per le reti SOM è quello di addestrare, secondo la formula 3.2, non solo la BMU ma anche i neuroni ad essa vicini. La distanza massima entro cui devono trovarsi i neuroni viene appunto stabilita dalla seconda legge detta raggio di apprendimento. In questo contesto, quando parliamo di distanza, intendiamo la distanza euclidea misurata tra i neuroni nel livello di categorizzazione. La durata del procedimento di apprendimento può essere stabilita a priori o, può essere fissato un criterio di arresto simile a quello utilizzato per l addestramento delle reti di percettroni. Fig 3.6: Rete SOM (a) senza connessioni laterali (b) con connessioni laterali. 24

33 Capitolo 3 Reti neurali artificiali GNG Le GNG (Growing Neural Gas) sono reti neurali capaci di aumentare il numero di nodi dinamicamente. Ogni neurone è caratterizzato da un vettore di pesi ed un valore che rappresenta l errore locale. I bordi hanno un età, in modo tale che, durante l esecuzione, sia possibile eliminare i bordi più vecchi per aggiornare la topologia della rete. L algoritmo di funzionamento è così strutturato: 1. la rete viene inizializzata con due neuroni; 2. vengono trovati i primi due neuroni vincitori rispetto l ingresso considerato. Se i due neuroni non sono già collegati si crea tale connessione e si imposta la sua età a zero; 3. viene calcolato l errore locale del vincitore, come quadrato della distanza euclidea tra il nodo vincitore e l ingresso; 4. i vettori del nodo vincitore e del suo vicino vengono aggiornati con una quantità proporzionale all errore; 5. l età di tutti i collegamenti che partono dal neurone vincitore viene incrementata; 6. i collegamenti troppo vecchi vengono eliminati, se dopo tale processo alcuni neuroni rimangono isolati vengono rimossi; 7. se il numero di input considerati è multiplo intero di un certo valore λ si aggiunge un nuovo nodo interponendolo tra il neurone con errore locale più grande ed il vicino con errore locale più grande; 8. il vettore del nuovo nodo viene interpolato tra i valori dei due nodi precedentemente considerati; 9. si elimina il collegamento che lega il nodo con massimo errore ed il vicino considerato e si connettono tali nodi al nuovo neurone inserito; 25

34 Capitolo 3 Reti neurali artificiali 10. diminuiamo il valore dell errore dei due nodi con errori massimi, e di tutti i nodi presenti nella rete. Inoltre calcoliamo l errore del nuovo neurone inserito; 11. verifichiamo se il criterio di arresto è soddisfatto. Solitamente viene richiesto un numero massimo di neuroni o che l errore locale massimo sia sotto una certa soglia prefissata. Fig 3.7: Evoluzione temporale di una rete GNG. In verde sono evidenziati i nodi aggiunti, in giallo i nodi vincitori ART Le reti ART (Adaptive Resonance Theory) sono state sviluppate per permettere di regolare il livello di omogeneità dei cluster all interno di un problema di classificazione. Tale problema è di tipo non supervisionato, se non si conosce a priori il numero di cluster, per cui la rete viene utilizzata per lo più con tale paradigma di apprendimento. In particolare, le reti ART, non distinguono la fase di addestramento da quella di utilizzo, cioè, sono in grado di apprendere durante il normale impiego. 26

35 Capitolo 3 Reti neurali artificiali Questo modello di rete prevede due strati: uno detto strato di riconoscimento e l altro detto strato di comparazione. Questi sono collegati attraverso due serie di vettori di pesi, una con propagazione feedforward e l altra con propagazione feedback. Durante il processo di classificazione, l ART è capace di autoregolare il numero di cluster in base a diversi parametri precedentemente impostati. Il funzionamento è schematizzabile in cinque diverse fasi: 1. inizializzazione dei pesi e disabilitazione dei neuroni dello strato di riconoscimento; 2. identificazione dell input presentato attraverso la comunicazione dei risultati da parte del livello di riconoscimento a quello di comparazione e viceversa utilizzando le connessioni feedforward e feedback; 3. confronto dei risultati ottenuti dai diversi strati; 4. ricerca della somiglianza tra i cluster già identificati e l input preso in considerazione, attraverso l utilizzo di un parametro-soglia ρ, detto parametro di vigilanza, definito nella progettazione. La fase di ricerca può invocare più volte le fasi 2 e 3 finché non giunge ad una conclusione (generazione di un nuovo cluster o appartenenza ad uno già esistente); 5. aggiornamento dei pesi, sia feedforward che feedback, del neurone vincitore con la possibilità di utilizzare le leggi di apprendimento analoghe a quelle delle reti SOM che estendono la conoscenza ai vicini del vincitore. 27

36 Capitolo 4 Progettazione di un sistema ibrido di classificazione Capitolo 4 Progettazione di un sistema ibrido di classificazione 4.1 Sistemi ibridi Un sistema ibrido è una particolare forma di sistema dinamico che include stati a tempo continuo ed a tempo discreto. Più in generale, un sistema si dice ibrido quando è in grado di combinare due o più tecniche per raggiungere un determinato scopo. I sistemi ibridi sono particolarmente efficaci nei casi in cui il problema da risolvere è particolarmente complicato o copre diversi campi d'applicazione. Ciò che ha spinto e tuttora spinge all'utilizzo di questo tipo di sistemi sono le proprietà di modularità e di robustezza. Con robustezza si intende la 28

37 Capitolo 4 Progettazione di un sistema ibrido di classificazione capacità del sistema di essere quanto più generale possibile, fornendo risultati validi anche nel caso di ingressi meno comuni o di forti disturbi esterni. Tale proprietà è spesso legata alla modularità, che rappresenta il grado di indipendenza dei blocchi funzionali presenti all'interno del sistema. Infatti, un sistema così definito, è divisibile in moduli, ognuno dei quali svolge un preciso compito, utile nell'ambito del problema generale. Tale livello di autonomia viene fissato durante la fase di sviluppo. Se i sottosistemi sono completamente indipendenti permettono uno fase di sviluppo e di testing più rapida e semplice, ma richiede anche un fase di coordinamento dei blocchi per permettere al sistema complessivo di funzionare mentre dei blocchi funzionali quasi dipendenti rendono più complessa la fase di individuazione degli errori ma non richiedono passi aggiuntivi affinché il sistema finale funzioni correttamente. 4.2 Struttura generale del sistema In seguito ad un attenta analisi delle più recenti pubblicazioni riguardanti il riconoscimento dei volti attraverso reti neurali e la classificazione di immagini, si è strutturato il sistema ibrido qui proposto. Come è possibile notare in [4] l utilizzo di un metodo di feature extraction per l estrazione delle informazioni fondamentali di un volto apporta un notevole miglioramento delle prestazioni. I risultati in [11] confermano quelli precedentemente analizzati. Qui infatti un sistema di riconoscimento basato su PCA raggiunge prestazioni migliori di un classificatore statistico fuzzy su due diversi database. In [3] un sistema basato su feature extraction (PCA) e rete neurale ottiene prestazioni superiori al 97% su database ORL. 29

38 Capitolo 4 Progettazione di un sistema ibrido di classificazione A questo punto diventa chiaro che il contributo di una tecnica di estrazione delle feature, oltre ad essere una soluzione spesso adottata, aumenta notevolmente le prestazioni e, di conseguenza, semplifica la struttura della rete neurale posta successivamente. Tali tecniche rendono, infatti, insensibile il sistema al mal condizionamento delle immagini, problema sentito nel nostro caso, in quanto andremo a trattare i volti che non sono stati riconosciuti per vari motivi, tra i quali, cattiva risoluzione, espressioni facciali e piccoli cambiamenti nel volto. Il nostro obiettivo però è selezionare un set di immagini qualitativamente buone ai fini del riconoscimento. Quindi un eccessiva robustezza alle espressioni facciali o alle rotazioni potrebbe non essere la soluzione migliore. In conclusione dovremo trovare un buon compromesso tra resistenza e selezione lavorando sui parametri della PCA. I risultati riguardanti le reti neurali non ci permettono di effettuare una scelta con la stessa sicurezza con cui l abbiamo effettuata precedentemente. Questo perché il nostro problema, almeno nel campo del riconoscimento dei volti, è poco comune. Infatti i problemi di classificazione di immagini sono più adatti a contesti quali la medicina e le immagini satellitari. Comunque possiamo restringere le nostre scelte alle sole reti non supervisionate, in quanto la classificazione, è un problema di questo tipo. In particolare, da [2] e [15] i possibili schemi di rete neurale sono ristretti alle reti SOM, che rappresentano il classico schema non supervisionato, e le reti ART, più complesse e performanti. In conclusione la scelta è ricaduta sul modello Self Organizing Map. Questo perché il contributo della tecnica PCA semplifica il compito della rete neurale che, in questa maniera, può assumere una forma relativamente semplice, rispetto al modello ART, senza perdite eccessive in termini di prestazioni. Le reti auto organizzanti di Kohonen (paragrafo 3.4.2), infatti, sono la scelta migliore se si ragiona in 30

39 Capitolo 4 Progettazione di un sistema ibrido di classificazione termini di efficienza in quanto sono ben documentate, godono di buone prestazioni e la loro complessità non è elevata. In conclusione il sistema ibrido sviluppato sarà costituito dal blocco PCA per la compressione delle immagini seguito dalla rete neurale SOM che ne effettuerà la classificazione. Fig 4.1: Schema generale del sistema. 31

40 Capitolo 5 Principal Component Analysis Capitolo 5 Principal Component Analysis 5.1 Concetti di base Come esposto nel paragrafo l analisi delle componenti principali (PCA) è una tecnica di dimensionality reduction. La riduzione delle dimensioni viene effettuata trovando la correlazione tra le variabili, o feature, ed esprimendo le informazioni solo come combinazione di quelle non correlate. Il particolare algoritmo che andremo a descrivere farà uso di concetti quali la deviazione standard, la varianza, autovettori ed autovalori Varianza e covarianza La varianza di una variabile X è un numero, indicato con var(x), che 32

41 Capitolo 5 Principal Component Analysis fornisce una misura di quanto siano vari i valori assunti dalla variabile, ovvero di quanto si discostino dalla media X. Date n istanze della feature X calcoliamo la varianza come: var(x) = n ( X X ) i= 1 i ( n 1) 2 (5.1) in altri termini è possibile definirla come il quadrato della deviazione standard s : ( X X ) i i= 1 s= var(x) = ( n 1) n 2 (5.2) La deviazione standard e la varianza sono definite su dataset monodimensionali, avendo usato un vettore di dimensione n. La covarianza è, invece, definita su insiemi di dati multidimensionali definendo, di fatto, una misura analoga a quella della deviazione standard e della varianza ma su una base di dati multidimensionale. Ciò è fondamentale ai fini di trovare un legame tra diverse dimensioni, in maniera da poter esprimere l intero insieme di dati come combinazione delle sole variabili indipendenti. Attraverso il calcolo della covarianza possiamo infatti trovare quanto, una dimensione, si scosti dalla media di un altra dimensione. Per rendere più immediata l espressione della covarianza, riscriviamo la varianza di un vettore X di dimensione n come: n ( X X )( X X ) i i i= 1 var(x) = ( n 1) (5.3) Dato un dataset composto da due dimensioni X e Y entrambe di n componenti la covarianza è data da: 33

42 Capitolo 5 Principal Component Analysis cov(x) = n ( X X )( Y Y ) i= 1 i ( n 1) i (5.4) Dove Y è la media aritmetica del vettore Y. E immediato verificare che cov(x,x) = var(x) e che cov(x,y) = cov(y, X) Matrice delle covarianze Nel caso in cui il dataset si estenda per più di due dimensioni possiamo calcolare più di una covarianza. Per questo motivo è conveniente rappresentare tali informazioni in forma matriciale, cioè attraverso la matrice delle covarianze. Tale struttura ha dimensione 2 2 n n, dove n è il numero di dimensioni presenti. Le dimensioni sono giustificate dal fatto che la matrice debba contenere tutte le disposizioni con ripetizione di n elementi presi due a due, quindi la dimensione della matrice sarà: D = (5.5) k n nk, Con k = 2 poiché la covarianza richiede due variabili come argomento. Inoltre per la simmetria degli argomenti della covarianza la matrice è simmetrica con la diagonale costituita dalle n varianze delle singole dimensioni. C= var(x ) cov(x,x ) n 1 1 cov(x,x ) var(x ) n n 2 (5.6) 34

43 Capitolo 5 Principal Component Analysis Autovalori ed autovettori Data la matrice A, quadrata di dimensione n, le soluzioni dell equazione: con I matrice identità soluzione del sistema di equazioni: con i Det(A - λ I) = 0 (5.7) 2 2 n n, sono detti autovalori della matrice. I vettori Det(A - λi I) = 0 (5.8) λ, con i= 1,..., n, autovalore della matrice A, sono detti autovettori. In particolare, il vettore autovettore associato all i-esimo autovalore. x soluzione dell i-esima equazione è detto i 5.2 Librerie Per lo sviluppo dell algoritmo sono state utilizzate delle librerie esterne per la semplificazione di due particolari aspetti, quali l interfaccia con le immagini e il calcolo degli autovalori ed autovettori EasyBMP Durante le prime fasi di sviluppo del codice è stato necessario scegliere un formato di immagine da utilizzare come input. La scelta è ricaduta sul formato bitmap in quanto più semplice da gestire. La libreria EasyBMP [17] fornisce diversi strumenti per la manipolazione dei file bitmap. In particolar modo sono state utilizzate funzioni e strutture dati per l acquisizione ed il salvataggio delle informazioni contenute nei file bmp. 35

44 Capitolo 5 Principal Component Analysis Il codice utilizzato per l acquisizione delle immagini è: BMP immagine; //vettore contenente le immagini string path; //percorso delle immagini immagine.readfromfile(percorso); //lettura immagini da file In cui BMP è la classe implementata dalla libreria e ReadFromFile(string) è il metodo per la lettura. Il codice per il salvataggio dell immagine come valore numerico, preso all interno di tre cicli i cui indici sono i,j ed n, è: RGBApixel temp; temp=immagine.getpixel(i,j); pixel[i][j][k]= (int) temp.blue; //salvataggio valore pixel i,j dove RGBApixel è una struttura dati atta a contenere i valori di un pixel RGB con trasparenza (Alpha), GetPixel(int,int) è un metodo per prendere il valore del pixel posto in posizione i,j, infine viene effettuato un cast sul valore di RGBApixel per poterlo salvare come intero, all interno di una matrice 3D di interi qual è pixel[int][int][int] che contiene nei primi due indici le coordinate dei pixel, mentre nell ultimo pixel il numero dell immagine. Si può notare che viene preso il solo valore blu del pixel, questo viene fatto perché in un immagine in scala di grigio tutti e tre i valori RGB sono identici, quindi la scelta è indifferente Alglib Il calcolo degli autovalori e degli autovettori è un problema non semplice dal punto di vista della complessità computazionale. L approccio tradizionale, infatti, prevede prima l utilizzo di algoritmi numerici di decomposizione, per poi risolvere un problema equivalente ma in forma più semplice. Sulla rete sono disponibili numerose librerie per il calcolo numerico. Tuttavia molte sono implementate in linguaggi non compatibili 36

45 Capitolo 5 Principal Component Analysis con il c++ da noi utilizzato. Per la semplicità di utilizzo, documentazione disponibile e per il supporto fornito dagli sviluppatori è stata scelta la libreria Alglib [18]. Tale libreria, nel nostro problema, viene unicamente utilizzata per il calcolo degli autovalori e per le strutture dati necessarie per tale elaborazione. Il codice per il calcolo degli autovalori, che utilizza le funzionalità offerte dalla libreria è: const char *c= s.c_str(); alglib::real_2d_array cov(c); alglib::real_1d_array autovalre; alglib::real_2d_array autovettdx; //procedura per il calcolo degli autovettori e degli autovalori di una matrice simmetrica smatrixevd(cov,n*n,1,false,autovalre,autovettdx); la variabile c contiene gli elementi della matrice di covarianza, poi definita secondo le strutture di Alglib, cov(const char), autovalre ed autovettdx sono le variabili che contengono la matrice di covarianza, gli autovalori e gli autovettori ed infine smatrixed è la procedura per il calcolo degli autovettori ed autovalori. 5.3 Algoritmo L algoritmo implementato è quello standard dell analisi delle componenti principali ed è composto da cinque passi fondamentali: 0. I dati sono costituiti da un set di immagini. Poniamo che tale insieme abbia dimensione k. Ogni immagine, che deve obbligatoriamente essere in formato bmp, verrà trattata in maniera da rispettare degli standard imposti dalle fasi successive. In particolare: l immagine deve essere in scala di grigio; le dimensioni devono essere pari a l l. 37

46 Capitolo 5 Principal Component Analysis Dopo questo breve preprocessing ogni immagine viene acquisita ed inserita all interno di una matrice reale quadrata di dimensione dim. Queste k matrici sono tutte inserite all interno di un array 3D di dimensioni l l k. Ogni elemento (i,j) delle matrici rappresenterà il valore del pixel posto in posizione (i,j) nell immagine corrispondente. 1. I dati devono essere normalizzati. Considerando un immagine come un insieme di dati in 2 l dimensioni dove, quindi, ogni pixel corrisponde ad una dimensione, calcoliamo la media aritmetica di ogni pixel (i,j) sommando i diversi valori che esso assume nelle k immagini e, dividendo proprio per k. I risultati ottenuti costituiranno una matrice reale quadrata di dimensione l l. Normalizziamo l insieme di dati sottraendo ad ogni matriceimmagine la matrice media. 2. Calcoliamo la matrice di covarianza. Questa sarà una matrice quadrata di dimensione 2 l. Date le formule precedentemente descritte calcoliamo la matrice degli scarti, cioè la differenza tra le matrici immagine e la matrice media. Continuando il procedimento troviamo la matrice di covarianza come la matrice che contiene le disposizioni con ripetizione degli scarti quadratici medi. 3. Troviamo gli autovalori e gli autovettori della matrice di covarianza. Data la complessità computazionale dell operazione, ci affideremo totalmente a delle librerie appositamente sviluppate e di libero utilizzo poiché sotto licenza GPL. 4. Selezioniamo le componenti principali, come visto nel paragrafo precedente è conveniente selezionare le z componenti con autovalori più grandi. 4 l 38

47 Capitolo 5 Principal Component Analysis 5. Costruiamo la matrice delle features attraverso gli autovettori associati agli autovalori selezionati nel punto precedente. Otteniamo la compressione dei dati moltiplicando la matrice delle features trasposta per le singole matrici dei dati normalizzati, ottenendo una nuova matrice di dimensioni 2 z l. 5.4 Impostazioni della compressione Il dimensionamento dell intero blocco funzionale PCA è stato effettuato attraverso una serie di prove sperimentali. Le scelte finali sono state fatte in funzione della massima efficienza. Innanzitutto occorre definire la dimensione ottimale delle immagini ed il loro numero. Questo è un punto fondamentale che stabilirà la rapidità con cui verrà eseguito il codice e la quantità di memoria occupata. Per il numero di immagini da utilizzare dobbiamo considerare che, il sistema nella sua interezza, dovrà essere inserito all interno di un altro sistema più grande, come esposto nell introduzione. Perciò non possiamo stabilire sperimentalmente il numero ottimo di immagini, ma fisseremo comunque un valore per cui la computazione risulta efficiente, utilizzandolo nell implementazione reale. Nelle figure seguenti, sull asse delle ordinate sarà presente la dicitura Prestazioni. Questa sta indicare il connubio tempo di esecuzione-memoria occupata. La bontà dei risultati sarà valutata in base alla media aritmetica di questi due valori. 39

48 Capitolo 5 Principal Component Analysis Fig 5.1: Tempi di elaborazione al crescere delle dimensioni dell immagine e del loro numero. Fig 5.2: Tempi di elaborazione al crescere del numero di immagini con dimensione La scelta è ricaduta su un insieme di cardinalità 40 che, ricordiamo, potrà eventualmente assumere dimensioni differenti nel momento in cui il sistema verrà integrato in uno più grande. La dimensione delle immagini 40

49 Capitolo 5 Principal Component Analysis ottimale si è invece attestata su pixel, per mantenere i tempi e l uso di memoria al minimo, ottenendo comunque una buona quantità di informazione. Per quanto riguarda il livello di riduzione dell informazione, ossia il numero di feature selezionate, nelle prove sperimentali sono stati utilizzati, come dimensione dell insieme e dimensione delle immagini, i valori precedentemente ricavati. A differenza delle prove precedenti sono stati utilizzati differenti dataset presi all interno di due diversi database con variabilità dei contenuti differenti, in particolare sono stati utilizzati: 40 immagini prelevate dal database DIIGA relative ad un solo soggetto dove circa una foto su cinque è fortemente malcondizionata; 40 immagini prelevate dal database ORL [20] relative a 4 soggetti, con dieci foto per ognuno, dove circa due foto su dieci sono malcondizionate; Le prove sono state effettuate incrementando progressivamente il numero di immagini presenti nei database e registrando, per ogni prova, il più piccolo numero M di autovalori rilevanti, cioè tali che: M λ i= 1 TOT k= 1 i λ k 100% (5.9) gli autovalori corrispondano all intero spettro della matrice con un approssimazione dell ordine di

50 Capitolo 5 Principal Component Analysis Fig 5.3: Andamento degli autovalori al crescere del numero delle immagini utilizzate con database DIIGA. Fig5.4: Andamento degli autovalori al crescere del numero delle immagini utilizzate con database ORL. Un ulteriore prova è stata effettuata utilizzando il dataset DIIGA costituito 42

51 Capitolo 5 Principal Component Analysis da poche foto ma ripetute diverse volte: Fig5.5: Andamento degli autovalori al crescere delle immagini utilizzate con database DIIGA ridondante. Dai risultati ottenuti possiamo fare diverse affermazioni. Innanzitutto, la tecnica PCA risulta più efficace nel rappresentare l insieme di immagini se, all interno di questo sono presenti ridondanze (vedi figura 5.5). Ciò perché un immagine ripetuta non apporta nessuna informazione aggiuntiva e da un contributo nullo in termini di componenti. In situazioni di normale utilizzo, quale la prova di figura 5.3, per esprimere efficientemente un insieme di quaranta immagini, bastano poco meno di quaranta features. Questo è dovuto al fatto che, se ogni immagine è abbastanza differente da tutte le altre, ognuna di esse descrive una componente principale all interno del database. Il caso estremo parallelo a quello del database DIIGA ridondante è mostrato in figura 5.4. Si tratta del database ORL, dove ogni singola immagine è differente da tutte le altre. E da notare il fatto che in quaranta 43

52 Capitolo 5 Principal Component Analysis foto siano presenti quattro soggetti distinti. Per questo motivo gli autovalori significativi sono proprio tanti quanti le immagini prese in considerazione. Perciò si è scelto di selezionare cento features, riducendo ogni immagine di circa 89%. Tale scelta è stata fatta per permette alla compressione di fornire sufficienti informazioni qualunque sia il database utilizzato, fornendo buoni margini di stabilità. 44

53 Capitolo 6 Classificatore basato su rete neurale SOM Capitolo 6 Classificatore basato su rete neurale SOM 6.1 Generalità sui classificatori In matematica un classificatore è una qualsiasi funzione: F : che mappa uno spazio di feature n R Ω (6.1) n R ad uno spazio di etichette Ω. Un etichetta, o classe, è un insieme che contiene oggetti tra loro simili. Assumeremo che vi siano c classi nel problema, ω, ω,..., ω contenute in 1 2 c un insieme Ω e che un oggetto possa appartenere ad una sola classe. Tali oggetti, chiamati più genericamente pattern, vengono descritti attraverso loro caratteristiche, dette features. I valori di tali feature possono essere 45

54 Capitolo 6 Classificatore basato su rete neurale SOM considerati come un vettore n-dimensionale x = x x x 1 2 n [,,..., ] T. Lo spazio n R è detto spazio delle features, dove ogni asse corrisponde ad una caratteristica fisica del pattern. Il compito svolto da un classificatore è, quindi, quello di riconoscere l appartenenza di un dato insieme di oggetti ad un gruppo di categorie. La classificazione di oggetti, o pattern recognition, è parte integrante di quasi la totalità dei sistemi ad intelligenza artificiale. 6.2 SOM di Kohonen non supervisionata Abbiamo già visto, nel capitolo 3 la struttura generica di una rete neurale SOM. Ora andremo ad analizzare i dettagli dell implementazione non supervisionata. Il modello di self organizing map basata sull apprendimento automatico utilizzato non sfrutta le connessioni laterali nel livello di categorizzazione. In [8] si è dimostrato come le connessioni laterali nel livello di output migliorino la definizione dei cluster. Durante il processo di apprendimento infatti, i collegamenti tra due neuroni correlati tendono a rafforzarsi. Tenendo conto della connessione laterale a "cappello messicano", dove i neuroni vicini sono eccitati e quelli lontani inibiti, si vengono quindi a formare veri e propri gruppi di neuroni correlati, al punto che, conoscendo la risposta di uno solo di essi, si può facilmente, ed efficacemente, stimare la risposta di tutti gli altri. Per tale motivo, per ottenere una rappresentazione efficiente e non ridondante, è opportuno filtrare i neuroni per mantenere solo quelli indipendenti. In seguito a questi effetti collaterali e al fatto che, nel nostro ambito applicativo, il classificatore neurale dovrà gestire un insieme di dati 46

55 Capitolo 6 Classificatore basato su rete neurale SOM piuttosto omogeneo, in quanto, gli ingressi, sono costituiti da un insieme di foto che ritraggono lo stesso soggetto, si è optato per uno schema completamente privo di connessioni laterali tra neuroni. Come già anticipato nel capitolo 3 l architettura di una rete SOM è di tipo feedforward con due livelli di neuroni: uno di ingresso ed uno di uscita o di categorizzazione. Le connessioni vanno da ogni neurone dello strato di input a tutti i neuroni del secondo strato. Il numero di unità di input deve uguagliare le dimensioni degli ingressi che dovrà poi ricevere. In questo modo ogni neurone artificiale dello strato di output sarà connesso al livello sottostante attraverso un vettore di pesi pari proprio alla dimensione di un ingresso che, come visto nel capitolo 5, è un vettore di dimensione 100. Il dimensionamento del secondo strato è meno soggetto a restrizioni in quanto strettamente dipendente dagli altri parametri caratteristici della rete. Esiste comunque una linea guida per il numero di dimensioni da utilizzare in tale livello del tutto simile a quella utilizzata per stabilire la grandezza del livello di input. Infatti lo strato di categorizzazione deve avere tante dimensioni quante ne ha il tipo di ingresso che gestisce, ad esempio, se gli input sono delle parole, quindi rappresentabili come dei vettori monodimensionali, allora il livello di output sarà anch esso un vettore monodimensionale, se invece, gli ingressi sono delle immagini, quindi delle matrici in due dimensioni, avremo un livello bidimensionale e così via. La nostra applicazione tratta immagini quindi lo strato di output sarà una matrice di neuroni in due dimensioni. In generale, tale matrice può avere diverse forme, date dal modo in cui vengono collegati lateralmente i neuroni, come ad esempio esagonale, rettangolare o casuale. La rete progettata è priva di tale caratteristica quindi, essendo comunque il livello di output bidimensionale, cioè un piano, distingueremo le unità neurali attraverso due coordinate, costruendo, di fatto, una matrice 47

56 Capitolo 6 Classificatore basato su rete neurale SOM quadrata. La dimensione dei lati della matrice è stata stabilita attraverso delle prove sperimentali e sulla base di reti già progettate e funzionanti. Fig 6.1: Geometria del livello di categorizzazione. (a) Esagonale (b) Rettangolare (c) Casuale. Come è possibile notare dalla figura 6.2, le prove si sono concentrate su un range di valori scelto attraverso lo studio di applicazioni già esistenti, come quella presente in [15]. I parametri sono stati fissati empiricamente mentre per la valutazione della clusterizzazione sono stati valutati diversi aspetti quali la qualità dei risultati e la definizione dei cluster. In ogni caso questa prova sperimentale non sarà l unico fattore decisionale per stabilire le dimensioni della rete, in quanto, ci baseremo anche sulle dimensioni di altre reti già implementate e su una valutazione di efficienza del rapporto consumi/prestazioni. 48

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 4 Reti neurali per la classificazione Ennio Ottaviani On AIR srl ennio.ottaviani@onairweb.com

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso 2.0 Gli archivi All interno della sezione archivi sono inserite le anagrafiche. In pratica si stratta di tutti quei dati che ricorreranno costantemente all interno dei documenti. 2.1 Inserire gli archivi

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

Dettagli

Regressione non lineare con un modello neurale feedforward

Regressione non lineare con un modello neurale feedforward Reti Neurali Artificiali per lo studio del mercato Università degli studi di Brescia - Dipartimento di metodi quantitativi Marco Sandri (sandri.marco@gmail.com) Regressione non lineare con un modello neurale

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

11. Evoluzione del Software

11. Evoluzione del Software 11. Evoluzione del Software Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 11. Evoluzione del Software 1 / 21 Evoluzione del Software - generalità Cosa,

Dettagli

Pro e contro delle RNA

Pro e contro delle RNA Pro e contro delle RNA Pro: - flessibilità: le RNA sono approssimatori universali; - aggiornabilità sequenziale: la stima dei pesi della rete può essere aggiornata man mano che arriva nuova informazione;

Dettagli

UNIVERSITA DI PISA FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA ELETTRONICA ANNO ACCADEMICO 2004-2005 TESI DI LAUREA

UNIVERSITA DI PISA FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA ELETTRONICA ANNO ACCADEMICO 2004-2005 TESI DI LAUREA UNIVERSITA DI PISA FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA ELETTRONICA ANNO ACCADEMICO 2004-2005 TESI DI LAUREA SVILUPPO DI METODI DECONVOLUTIVI PER L INDIVIDUAZIONE DI SORGENTI INDIPENDENTI

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme

Dettagli

Domande a scelta multipla 1

Domande a scelta multipla 1 Domande a scelta multipla Domande a scelta multipla 1 Rispondete alle domande seguenti, scegliendo tra le alternative proposte. Cercate di consultare i suggerimenti solo in caso di difficoltà. Dopo l elenco

Dettagli

Analisi e diagramma di Pareto

Analisi e diagramma di Pareto Analisi e diagramma di Pareto L'analisi di Pareto è una metodologia statistica utilizzata per individuare i problemi più rilevanti nella situazione in esame e quindi le priorità di intervento. L'obiettivo

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi ControlloCosti Cubi OLAP I cubi OLAP Un Cubo (OLAP, acronimo di On-Line Analytical Processing) è una struttura per la memorizzazione e la gestione dei dati che permette di eseguire analisi in tempi rapidi,

Dettagli

Fondamenti e didattica di Matematica Finanziaria

Fondamenti e didattica di Matematica Finanziaria Fondamenti e didattica di Matematica Finanziaria Silvana Stefani Piazza dell Ateneo Nuovo 1-20126 MILANO U6-368 silvana.stefani@unimib.it 1 Unità 9 Contenuti della lezione Operazioni finanziarie, criterio

Dettagli

Introduzione all analisi dei segnali digitali.

Introduzione all analisi dei segnali digitali. Introduzione all analisi dei segnali digitali. Lezioni per il corso di Laboratorio di Fisica IV Isidoro Ferrante A.A. 2001/2002 1 Segnali analogici Si dice segnale la variazione di una qualsiasi grandezza

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Università Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Codifiche a lunghezza variabile

Codifiche a lunghezza variabile Sistemi Multimediali Codifiche a lunghezza variabile Marco Gribaudo marcog@di.unito.it, gribaudo@elet.polimi.it Assegnazione del codice Come visto in precedenza, per poter memorizzare o trasmettere un

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. E. Calabrese: Fondamenti di Informatica Problemi-1 Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. L'informatica

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

La statistica multivariata

La statistica multivariata Cenni di Statistica Multivariata Dr Corrado Costa La statistica multivariata La statistica multivariata è quella parte della statistica in cui l'oggetto dell'analisi è per sua natura formato da almeno

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini

Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini Dipartimento di Ingegneria della Informazione Via Diotisalvi, 2 56122 PISA ALGORITMI GENETICI (GA) Sono usati per risolvere problemi di ricerca

Dettagli

Sistemi Informativi e Sistemi ERP

Sistemi Informativi e Sistemi ERP Sistemi Informativi e Sistemi Trasformare i dati in conoscenza per supportare le decisioni CAPODAGLIO E ASSOCIATI 1 I SISTEMI INFORMATIVI LI - E IMPRESA SISTEMA DI OPERAZIONI ECONOMICHE SVOLTE DA UN DATO

Dettagli

VALORE DELLE MERCI SEQUESTRATE

VALORE DELLE MERCI SEQUESTRATE La contraffazione in cifre: NUOVA METODOLOGIA PER LA STIMA DEL VALORE DELLE MERCI SEQUESTRATE Roma, Giugno 2013 Giugno 2013-1 Il valore economico dei sequestri In questo Focus si approfondiscono alcune

Dettagli

3. Introduzione all'internetworking

3. Introduzione all'internetworking 3. Introduzione all'internetworking Abbiamo visto i dettagli di due reti di comunicazione: ma ce ne sono decine di tipo diverso! Occorre poter far comunicare calcolatori che si trovano su reti di tecnologia

Dettagli

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. Con l utilizzo delle procedure di iscrizione on line la società organizzatrice ha a disposizione tutti

Dettagli

12. Evoluzione del Software

12. Evoluzione del Software 12. Evoluzione del Software Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 12. Evoluzione del Software 1 / 21 Evoluzione del Software - generalità Cosa,

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati Informatica 3 Informatica 3 LEZIONE 10: Introduzione agli algoritmi e alle strutture dati Modulo 1: Perchè studiare algoritmi e strutture dati Modulo 2: Definizioni di base Lezione 10 - Modulo 1 Perchè

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...

Dettagli

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste versione 2.1 24/09/2015 aggiornamenti: 23-set-2015; 24-set-2015 Autore: Francesco Brunetta (http://www.francescobrunetta.it/)

Dettagli

Software per Helpdesk

Software per Helpdesk Software per Helpdesk Padova - maggio 2010 Antonio Dalvit - www.antoniodalvit.com Cosa è un helpdesk? Un help desk è un servizio che fornisce informazioni e assistenza ad utenti che hanno problemi nella

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Premessa Con l analisi di sensitività il perito valutatore elabora un range di valori invece di un dato

Dettagli

VC-dimension: Esempio

VC-dimension: Esempio VC-dimension: Esempio Quale è la VC-dimension di. y b = 0 f() = 1 f() = 1 iperpiano 20? VC-dimension: Esempio Quale è la VC-dimension di? banale. Vediamo cosa succede con 2 punti: 21 VC-dimension: Esempio

Dettagli

Autenticazione Vocale

Autenticazione Vocale Autenticazione Vocale (A. Gorziglia) INTRODUZIONE: perché usare i sistemi biometrici per l autenticazione. Il motivo principale è quello di impedire all utente di perdere (o dimenticare) la chiave di autenticazione

Dettagli

Esercizio 1: trading on-line

Esercizio 1: trading on-line Esercizio 1: trading on-line Si realizzi un programma Java che gestisca le operazioni base della gestione di un fondo per gli investimenti on-line Creazione del fondo (con indicazione della somma in inizialmente

Dettagli

V= R*I. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro.

V= R*I. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro. PREMESSA: Anche intuitivamente dovrebbe a questo punto essere ormai chiaro

Dettagli

13. Campi vettoriali

13. Campi vettoriali 13. Campi vettoriali 1 Il campo di velocità di un fluido Il concetto di campo in fisica non è limitato ai fenomeni elettrici. In generale il valore di una grandezza fisica assegnato per ogni punto dello

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

Corrispondenze e funzioni

Corrispondenze e funzioni Corrispondenze e funzioni L attività fondamentale della mente umana consiste nello stabilire corrispondenze e relazioni tra oggetti; è anche per questo motivo che il concetto di corrispondenza è uno dei

Dettagli

TECNICHE DI SIMULAZIONE

TECNICHE DI SIMULAZIONE TECNICHE DI SIMULAZIONE INTRODUZIONE Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Introduzione alla simulazione Una simulazione è l imitazione

Dettagli

Relazioni statistiche: regressione e correlazione

Relazioni statistiche: regressione e correlazione Relazioni statistiche: regressione e correlazione È detto studio della connessione lo studio si occupa della ricerca di relazioni fra due variabili statistiche o fra una mutabile e una variabile statistica

Dettagli

Capitolo V : Il colore nelle immagini digitali

Capitolo V : Il colore nelle immagini digitali Capitolo V : Il colore nelle immagini digitali Lavorare con il colore nelle immagini digitali L uso dei colori nella visione computerizzata e nella computer grafica implica l incorrere in determinate problematiche

Dettagli

Ricerca di outlier. Ricerca di Anomalie/Outlier

Ricerca di outlier. Ricerca di Anomalie/Outlier Ricerca di outlier Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna Ricerca di Anomalie/Outlier Cosa sono gli outlier? L insieme di dati che sono considerevolmente differenti dalla

Dettagli

Progettazione di Basi di Dati

Progettazione di Basi di Dati Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello

Dettagli

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA BOZZA 23/07/2008 INDICE 1. PERCHÉ UNA NUOVA VERSIONE DEI MODULI DI RACCOLTA DATI... 3 2. INDICAZIONI GENERALI... 4 2.1. Non modificare la struttura dei fogli di lavoro... 4 2.2. Cosa significano

Dettagli

Introduzione all Information Retrieval

Introduzione all Information Retrieval Introduzione all Information Retrieval Argomenti della lezione Definizione di Information Retrieval. Information Retrieval vs Data Retrieval. Indicizzazione di collezioni e ricerca. Modelli per Information

Dettagli

Controlli Automatici T. Trasformata di Laplace e Funzione di trasferimento. Parte 3 Aggiornamento: Settembre 2010. Prof. L.

Controlli Automatici T. Trasformata di Laplace e Funzione di trasferimento. Parte 3 Aggiornamento: Settembre 2010. Prof. L. Parte 3 Aggiornamento: Settembre 2010 Parte 3, 1 Trasformata di Laplace e Funzione di trasferimento Prof. Lorenzo Marconi DEIS-Università di Bologna Tel. 051 2093788 Email: lmarconi@deis.unibo.it URL:

Dettagli

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Dettagli

Laurea Specialistica in Informatica

Laurea Specialistica in Informatica Corso di Laurea in FISICA Laurea Specialistica in Informatica Fisica dell informazione 1 Elementi di Architettura degli elaboratori Prof. Luca Gammaitoni Informazioni sul corso: www.fisica.unipg unipg.it/gammaitoni/fisinfoit/gammaitoni/fisinfo

Dettagli

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro, EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

SPC e distribuzione normale con Access

SPC e distribuzione normale con Access SPC e distribuzione normale con Access In questo articolo esamineremo una applicazione Access per il calcolo e la rappresentazione grafica della distribuzione normale, collegata con tabelle di Clienti,

Dettagli

Sistema Informativo Gestione Fidelizzazione Clienti MANUALE D USO

Sistema Informativo Gestione Fidelizzazione Clienti MANUALE D USO Sistema Informativo Gestione Fidelizzazione Clienti MANUALE D USO Login All apertura il programma controlla che sia stata effettuata la registrazione e in caso negativo viene visualizzato un messaggio.

Dettagli

MANUALE PARCELLA FACILE PLUS INDICE

MANUALE PARCELLA FACILE PLUS INDICE MANUALE PARCELLA FACILE PLUS INDICE Gestione Archivi 2 Configurazioni iniziali 3 Anagrafiche 4 Creazione prestazioni e distinta base 7 Documenti 9 Agenda lavori 12 Statistiche 13 GESTIONE ARCHIVI Nella

Dettagli

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1)

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1) Transitori Analisi nel dominio del tempo Ricordiamo che si definisce transitorio il periodo di tempo che intercorre nel passaggio, di un sistema, da uno stato energetico ad un altro, non è comunque sempre

Dettagli

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014 Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi

Dettagli

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE 1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma

Dettagli

Corso di Amministrazione di Reti A.A. 2002/2003

Corso di Amministrazione di Reti A.A. 2002/2003 Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm

Dettagli

SOLUZIONE Web.Orders online

SOLUZIONE Web.Orders online SOLUZIONE Web.Orders online Gennaio 2005 1 INDICE SOLUZIONE Web.Orders online Introduzione Pag. 3 Obiettivi generali Pag. 4 Modulo di gestione sistema Pag. 5 Modulo di navigazione prodotti Pag. 7 Modulo

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

Un gioco con tre dadi

Un gioco con tre dadi Un gioco con tre dadi Livello scolare: biennio Abilità interessate Costruire lo spazio degli eventi in casi semplici e determinarne la cardinalità. Valutare la probabilità in diversi contesti problematici.

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda Fa quadrato attorno alla tua azienda Soluzioni software per L archiviazione elettronica dei documenti Perché scegliere Q Archiviazione Elettronica dei Documenti? Tale applicativo si pone come obbiettivo

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno Rappresentazione di numeri Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno Un numero e un entità teorica,

Dettagli

Application note. CalBatt NomoStor per i sistemi di accumulo di energia

Application note. CalBatt NomoStor per i sistemi di accumulo di energia 1. Panoramica Application note CalBatt NomoStor per i sistemi di accumulo di energia Gli Energy Management Systems () sono dispositivi atti al controllo dei flussi di energia dalle sorgenti di produzione

Dettagli

FIRESHOP.NET. Gestione completa delle fidelity card & raccolta punti. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione completa delle fidelity card & raccolta punti. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione completa delle fidelity card & raccolta punti Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 3 La gestione delle fidelity card nel POS... 4 Codificare una nuova fidelity

Dettagli

Operazioni sui database

Operazioni sui database Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis a.a. 203-4 I sistemi lineari Generalità sui sistemi lineari Molti problemi dell ingegneria, della fisica, della chimica, dell informatica e dell economia, si modellizzano

Dettagli

Statistica. Lezione 6

Statistica. Lezione 6 Università degli Studi del Piemonte Orientale Corso di Laurea in Infermieristica Corso integrato in Scienze della Prevenzione e dei Servizi sanitari Statistica Lezione 6 a.a 011-01 Dott.ssa Daniela Ferrante

Dettagli

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

LE CARTE DI CONTROLLO (4)

LE CARTE DI CONTROLLO (4) LE CARTE DI CONTROLLO (4) Tipo di carta di controllo Frazione difettosa Carta p Numero di difettosi Carta np Dimensione campione Variabile, solitamente >= 50 costante, solitamente >= 50 Linea centrale

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

Indice. pagina 2 di 10

Indice. pagina 2 di 10 LEZIONE PROGETTAZIONE ORGANIZZATIVA DOTT.SSA ROSAMARIA D AMORE Indice PROGETTAZIONE ORGANIZZATIVA---------------------------------------------------------------------------------------- 3 LA STRUTTURA

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

La Metodologia adottata nel Corso

La Metodologia adottata nel Corso La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema

Dettagli

Elementi di Psicometria con Laboratorio di SPSS 1

Elementi di Psicometria con Laboratorio di SPSS 1 Elementi di Psicometria con Laboratorio di SPSS 1 29-Analisi della potenza statistica vers. 1.0 (12 dicembre 2014) Germano Rossi 1 germano.rossi@unimib.it 1 Dipartimento di Psicologia, Università di Milano-Bicocca

Dettagli

Identificazione dei Parametri Caratteristici di un Plasma Circolare Tramite Rete Neuronale

Identificazione dei Parametri Caratteristici di un Plasma Circolare Tramite Rete Neuronale Identificazione dei Parametri Caratteristici di un Plasma Circolare Tramite Rete euronale Descrizione Il presente lavoro, facente segiuto a quanto descritto precedentemente, ha il fine di: 1) introdurre

Dettagli

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone BASI DI DATI per la gestione dell informazione Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone Libro di Testo 22 Chianese, Moscato, Picariello e Sansone BASI DI DATI per la Gestione dell

Dettagli

Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei patrimoni

Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei patrimoni CONVEGNO FACILITY MANAGEMENT: LA GESTIONE INTEGRATA DEI PATRIMONI PUBBLICI GENOVA FACOLTA DI ARCHITETTURA 06.07.2010 Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei

Dettagli

Il concetto di valore medio in generale

Il concetto di valore medio in generale Il concetto di valore medio in generale Nella statistica descrittiva si distinguono solitamente due tipi di medie: - le medie analitiche, che soddisfano ad una condizione di invarianza e si calcolano tenendo

Dettagli

ISTITUTO COMPRENSIVO MONTEGROTTO TERME SCUOLA PRIMARIA DISCIPLINA: MATEMATICA - CLASSE PRIMA OBIETTIVI DI APPRENDIMENTO

ISTITUTO COMPRENSIVO MONTEGROTTO TERME SCUOLA PRIMARIA DISCIPLINA: MATEMATICA - CLASSE PRIMA OBIETTIVI DI APPRENDIMENTO PRIMA DELLA DISCIPLINA: MATEMATICA - CLASSE PRIMA L alunno si muove con sicurezza nel calcolo scritto e mentale con i numeri naturali. Legge e comprende testi che coinvolgono aspetti logici e matematici.

Dettagli

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque? NOSQL Data Model HBase si ispira a BigTable di Google e perciò rientra nella categoria dei column store; tuttavia da un punto di vista logico i dati sono ancora organizzati in forma di tabelle, in cui

Dettagli