Apprendimento automatico e Reti Neurali. Francesco Sambo tel

Documenti analoghi
Esperienze di Apprendimento Automatico per il corso di Intelligenza Artificiale

Artificial Neural Network(ANN)

Regressione non lineare con un modello neurale feedforward

Data mining: classificazione DataBase and Data Mining Group of Politecnico di Torino

Un sistema di Vision Inspection basato su reti neurali

Backpropagation in MATLAB

Ingegneria di Manutenzione II. Intelligence diagnostica

Tecniche di riconoscimento statistico

MACHINE LEARNING e DATA MINING Introduzione. a.a.2015/16 Jessica Rosati jessica.rosati@poliba.it

Sistemi Informativi Aziendali. Sistemi Informativi Aziendali

DIABETES. Tesina sull'apprendimento - Intelligenza Artificiale Cosimo Cecchi, Tommaso Visconti

Feature Selection per la Classificazione

Metodi di ottimizzazione per le reti neurali

Metodi di ottimizzazione per le reti neurali

Machine Learning -1. Seminari di Sistemi Informatici. F.Sciarrone-Università Roma Tre

Classificazione e Predizione

Modelli matematici e Data Mining

Riconoscimento e recupero dell informazione per bioinformatica

Computazione per l interazione naturale: macchine che apprendono

I vantaggi ottenibili nei campi applicativi attraverso l uso di tecniche di data mining

1. Capitolo: Introduzione ai concetti fondamentali delle Reti Neurali

Analisi di segnali fisiologici mediante reti neurali

Reti Neurali. F. Sciarrone Dicembre2005. Seminari di Sistemi Informatici

Le reti neurali artificiali. Giacomo Trudu aka Wicker25

DATA MINING PER IL MARKETING

Segmentazione di Immagini Mammografiche con Convolutional Neural Networks

Cap. 4 Ricostruzione delle tracce con reti neurali

Data mining e rischi aziendali

SVM. Veronica Piccialli. Roma 11 gennaio Università degli Studi di Roma Tor Vergata 1 / 14

Costruzione di una Rete Neurale Artificiale per applicazioni Economico Finanziarie

Tecniche di riconoscimento statistico

RETI NEURALI (II PARTE)

Introduzione al Pattern Recognition Statistico

Dr. A. Appice. Alberi di Decisione. Caso di studio di Metodi Avanzati di Programmazione AA

Università degli Studi di Napoli Federico II

Cristian Randieri.

Progettazione di un Sistema di Machine Learning

CORSO DI WEB MINING E RETRIEVAL - INTRODUZIONE AL CORSO -

Corso di Web Mining e Retrieval. - Introduzione al Corso - (a.a ) Roberto Basili

Reti neurali nel Data Mining, altre tecniche utilizzate nel DM e valutazione dei modelli.

Realizzazione di un sistema predittivo dei risultati del campionato di calcio italiano di serie A 2006/2007

Intelligenza Artificiale Complementi ed Esercizi

Introduzione alle reti neurali artificiali: modelli, pacchetti software, applicazioni statistiche, agroindustriali e di ricerca

Riconoscimento di cifre manoscritte tramite una rete neurale

Analisi del Rischio Rapina

Reti neurali applicate al Data mining

Istruzioni condizionali. Istruzioni condizionali IF-THEN- ELSE IF-THEN-ELSE. Statistica computazionale Carla Rampichini a.a.

CORSO DI WEB MINING E RETRIEVAL - INTRODUZIONE AL CORSO -

Data Mining e Analisi dei Dati

Università degli studi di Genova

Reti Neurali Artificiali

Tecniche di Clustering basate sul Machine Learning

Deep learning per il mondo business.

Reti Neurali Artificiali Tutorial (Draft)

Computazione per l interazione naturale: macchine che apprendono

Computazione per l interazione naturale: Modelli dinamici

Sistemi Intelligenti. Riassunto

Google Prediction API, Machines that learn. Simone Scardapane

Informatica per la Comunicazione/ Verdicchio/ 19/06/2013/ Domande / Versione 1

DATA MINING IN TIME SERIES

L INTERPRETAZIONE DEL DATO

Intelligenza Artificiale. Introduzione alle Reti Neurali

Il DataMining. Susi Dulli

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

Sommario. 1 Specifiche della soluzione. Davide Anastasia, Nicola Cogotti. 27 dicembre 2005

Politecnico di Milano. Reti Wireless. Seminari didattici. Dalla teoria alla soluzione. Ilario Filippini

A+FORUM 2015 Big data e predic,ve analy,cs: cosa sono, soluzioni e vantaggi, servono alle PMI?

Modellizzazione neurale di fenomeni cognitivi complessi: L'Effetto Stroop

Analisi di Support Vector Machines per la classificazione automatica

STRUTTURE (O COSTRUTTI) DI CONTROLLO

PDF created with pdffactory trial version Il processo di KDD

Reti Neurali Artificiali: Teoria ed Applicazioni

CUSTOMER RELATIONSHIP MANAGEMENT:

Lezione 8. Data Mining

Calcolo di equilibri auto-confermanti

Data Mining in SAP. Alessandro Ciaramella

Algoritmi. Pagina 1 di 5

Reti neurali e loro applicazioni

Utilizzo di reti neurali per il riconoscimento di volti da foto

Apprendimento Automatico

DAL DIAGRAMMA AL CODICE

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

MACHINE LEARNING E STRUMENTI ANTICRIMINE NELL ERA DEI BIG DATA. Gaetano Bruno Ronsivalle

Informatica per la Comunicazione/ Verdicchio/ 24/09/2014/ Domande / Matricola Cognome Nome

Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di laurea specialistica in INFORMATICA

Classe III specializzazione elettronica. Sistemi automatici

LE RETI NEURONALI E L EMERGENZA DELLE FUNZIONI SUPERIORI

SISTEMI INFORMATIVI AZIENDALI

CIRCUITI INTELLIGENTI Parte 5: PCA e ICA

Cercare il minimo di una funzione: Particle swam optimization

STUDIO DEGLI INCIDENTI STRADALI NELLA CITTÀ DI PARMA MEDIANTE L IMPLEMENTAZIONE DI UNA RETE NEURALE ARTIFICIALE

Classificazione di un data set di proteine con Weka

file://i:\mining-warehouse\data%20mining%20%20tecniche%20di%20trasformazion...

11.4 Chiusura transitiva

Fabrizio Cassoni

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Metodi incrementali. ² Backpropagation on-line. ² Lagrangiani aumentati

Fondazione IRCCS Istituto Neurologico C. Besta

Sistemi informativi aziendali struttura e processi

Descrizione di un algoritmo

Transcript:

Apprendimento automatico e Reti Neurali Francesco Sambo www.dei.unipd.it/~sambofra francesco.sambo@dei.unipd.it tel. 049 827 7834

Apprendimento automatico Capacità di un agente di sintetizzare nuova conoscenza a partire da:!osservazione dell'ambiente!esperienza Agente dotato di stato dinamico

Applicazioni Computer Vision Riconoscimento di oggetti, biometria Bioinformatica Classificazione automatica di geni, proteine e sequenze di DNA, automated drug discovery Information Retrieval Text mining Natural Language Processing Riconoscimento vocale, riconoscimento di caratteri scritti a mano e di pattern sintattici Medicina Diagnosi automatica, analisi di cartelle cliniche Robotica Path Finding, gestione del movimento, individuazione di ostacoli...

Apprendimento automatico 3 tipologie:!apprendimento supervisionato!apprendimento non supervisionato!apprendimento per rinforzo

Apprendimento Supervisionato L agente apprende una funzione dell'input partendo da esempi di coppie input-output. Features X Y x 1 y 1 x 2 y 2 y = f(x) x n y n

Esempio: previsioni del tempo Input: coppie temperatura pressione Output: bello / brutto tempo T ( C) P (hpa) Output 12.2 1022.8 Bello 20.4 1015.9 Bello 25.2 1028.9 Brutto 17.7 1020.0 Brutto 18.4 1021.5 Brutto 22.0 1021.7 Bello 28.1 1016.3 Brutto -4.6 1018.7 Brutto 0.1 1020.8 Bello y = sign(" # T + $ # P) if T!22 and P!1021 then Bello else if T<0 then Brutto else if

Apprendimento Non Supervisionato L agente impara a riconoscere pattern o schemi nell input senza alcuna indicazione dei valori di output. Esempi: Clustering, Market Basket Analysis...

Apprendimento Per Rinforzo L agente apprende esplorando l ambiente e ricevendo ricompense nel caso di azioni positive

Apprendimento Supervisionato 2 tipologie:!classificazione Output discreto e limitato!regressione Output continuo

Classificazione Esempio: riconoscimento di cifre scritte a mano 3 7 0, 3? Codominio discreto e limitato y = { 0 9}

Regressione Esempio: fit dei parametri di un modello partendo dai dati Codominio continuo

Procedura di Apprendimento Dataset Training Set Test Set 2 Fasi!Training:!Al sistema viene fornito un insieme di coppie input-output!il sistema adatta il proprio stato interno per classificare correttamente le coppie fornite!testing:!al sistema viene fornito un diverso insieme di input (di cui si conosce l'output)!si valuta l'accuratezza del sistema, in termini di percentuale di risposte corrette

K-fold cross validation Come faccio ad essere sicuro di non aver introdotto bias con una particolare suddivisione del dataset?!! Random sampling!! K-fold cross validation: Suddivido il dataset in K sottoinsiemi, alleno il sistema su K-1 sottoinsiemi e lo testo sul sottoinsieme restante. Itero K volte e prendo la media dei risultati. Dataset Subset 1 Subset 2 Subset 3 Subset 4

Overfitting Cosa succede se adatto troppo il modello ai dati, o se scelgo un modello troppo complesso? Non generalizza! Suddivido ulteriormente il training set, tenendo da parte un validation set. Durante l allenamento, testo periodicamente l accuratezza sul validation set: se l errore aumenta, arresto l allenamento. validation error training error

Procedura di apprendimento Training Set Validation Set Test Set!! 3 sottoinsiemi: Training, Validation e Test Set!! Se devo scegliere fra più modelli o algoritmi di apprendimento, uso il training set, suddiviso in K insiemi di cross-validation, per confrontare le varie alternative.!! Alleno il modello scelto sul training set, controllando periodicamente l accuratezza sul validation set; arresto l allenamento quando inizia l overfitting.!! Valuto l accuratezza finale sul test set.

Apprendimento Supervisionato Tecniche: Neural Networks Decision Trees Support Vector Machines Bayesian Networks

Reti Neurali Francesco Sambo www.dei.unipd.it/~sambofra francesco.sambo@dei.unipd.it tel. 049 827 7824

Reti Neurali Artificiali Modello Computazionale basato sulle reti neurali biologiche. Rete di neuroni artificiali interconnessi. Classificazione / Regressione. Modello adattivo: Adatta il suo stato interno alle coppie input-output di training

Origini Modello matematico di neurone: McCulloch, W. S. and Pitts, W. (1943). A logical calculus of the ideas immanent in nervous activity. Bulletin of Mathematical Biophysics, 5, 115 137.

Neurone Per il j-mo neurone:!! Input:!! Pesi:!! Output: o j x j = {-1,x 1j,,x nj } w j = {w 0j,w 1j,,w nj } z j = n # i= 0 w ij x ij = w j " x j

Separatore Lineare T P w" x = 0 ( ) = & 1 w# x $ 0 " w# x % ' 0 w# x < 0

Percettrone!! Rete neurale a singolo strato!! Un neurone in uscita per ogni classe!! Consente di classificare datasets linearmente separabili E se ho dati non linearmente separabili? Rosenblatt, F. (1957). The perceptron: A perceiving and recognizing automaton. Report 85-460-1, Project PARA, Cornell Aeronautical Laboratory, Ithaca, NewYork.

Dati non linearmente separabili

Reti Neurali Multistrato

Dati non linearmente separabili 1 hidden layer: combinazioni lineari di semispazi ciao 2 hidden layers: combinazioni lineari di combinazioni di semispazi

Backpropagation Algoritmo di allenamento di una rete a partire dalle coppie (x,y) (training set). Sottopone più volte il training set alla rete, aggiustando i pesi per minimizzare l errore quadratico. Algoritmo gradient descent, efficiente ma può arenarsi in un ottimo locale. L allenamento è, in generale, un problema NP-Completo. Initialize weights at random repeat for each example in the training set end compute example s output compute quadratic error for i = levels_# down to 1 end compute update for weights at level i update all weights until (all examples correctly classified or max iterations reached) Werbos (1974). Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences. Ph.D. Thesis, Harvard University. Rumelhart, Hintont, Williams (1986). Learning representations by back-propagating errors. Nature

Backpropagation Definizioni: Funzione di attivazione: Errore:

Backpropagation Aggiornamento del peso:

Backpropagation Aggiornamento del peso:

Backpropagation Aggiornamento dei pesi: con

Altre tipologie di Reti Neurali Recurrent Neural Networks Associative Neural Networks Stochastic Neural Networks Spiking Neural Networks

Procedura di apprendimento Reti Neurali Training Set Validation Set Test Set!! 3 sottoinsiemi: Training, Validation e Test Set!! # nodi in ingresso = # features!! # nodi in uscita = # di classi!! # hidden layer e # nodi per livello: k-fold cross validation sul training set.!! Alleno la struttura scelta con tutto il training set, limitando l overfitting col validation set.!! Valuto l accuratezza finale sul test set.

Buone abitudini e regolette euristiche Training Set Validation Set Test Set!! 1 hidden layer è sufficiente per la stragrande maggioranza dei problemi (e l allenamento è più rapido)!! Se devo scegliere il numero di nodi interni, parto con pochi e cresco (esponenzialmente) finchè vedo un miglioramento per es. 5 10 20 50 100

Laboratorio 02/11 8:30-10:00 Aule Te e Ue Reti Neurali 1 09/11 8:30-10:00 Aule Te e Ue Reti Neurali 2 NB. Si comincia in aula Ce e poi ci si sposta!! www.dei.unipd.it/~sambofra/ai.htm! Slide delle lezioni! Capitolo 20 Russel & Norvig