TEORIE E TECNICHE DEL RICONOSCIMENTO

Slides:



Advertisements
Presentazioni simili
Primary Italian Saying How You Are.
Advertisements

Macchine di Percezione
Artificial intelligence
Proposte di attività. No man can reveal to you aught but that wich already lies half asleep in the dawning of our knowledges. (K. Gibran: Il Profeta)
Circolo Didattico Statale“Silvestro dell’Aquila” Scuola Primaria “E
Sistemi di Classificazione usando NCD
Array multidimensionali
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
PROGRAMMARE IN PASCAL (le basi)
Progressive Il Tempo Progressivo
Regressione lineare Metodi Quantitativi per Economia, Finanza e Management Esercitazione n°8.
Metodi Quantitativi per Economia, Finanza e Management Lezione n°3.
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Apprendimento Automatico: Elaborazione del Linguaggio Naturale
Apprendimento Non Supervisionato
Algoritmi per la visualizzazione
Apprendimento Automatico: Apprendimento Pigro (Lazy Learning)
Apprendimento di funzioni algebriche
Metodi di Ensemble Metaclassificatori.
Apprendimento Bayesiano
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati.
Reti neurali naturali ed artificiali
BIOINGEGNERIA S. Salinari Lezione 4.
Apprendimento di movimenti della testa tramite Hidden Markov Model
Marco CristaniTeoria e Tecniche del Riconoscimento1 Notizie preliminari Introduzione Facoltà di Scienze MM. FF. NN. Università di Verona A.A
La Riflessione computazione Elisa Ferrando. Cos è la Riflessione La Riflessione Sistema riflessivo Sistema computazionale.
Riconoscimento automatico di oggetti in immagini digitali
Support Vector Machines
Data mining for e-commerce sites
Gli algoritmi.
Lezione 2 Programmare in ASP
APPLICAZIONI DI INTELLIGENZA ARTIFICIALE ALLA MEDICINA
Come costruire un corso sulla piattaforma e-lastic.
Tecniche descrittive Utilizzano modelli matematici per semplificare le relazioni fra le variabili in studio Il fine è la descrizione semplificata del fenomeno.
STATISTICA PER LE DECISIONI DI MARKETING
LINGUISTICA GENERALE E COMPUTAZIONALE, PARTE 2
Metaclassificazione Giovedì, 18 novembre 2004 Francesco Folino ( Combinare Classificatori Lecture 8.
Intelligenza Artificiale Apprendimento automatico Prof. M.T. PAZIENZA a.a
Complessità del problema Se non facciamo ipotesi sul tipo degli elementi della sequenza le uniche operazioni permesse sono confronti e assegnazioni. Problema.
OpenProj: una valida alternativa a MS Project
Algoritmi e Strutture Dati Introduzione agli algoritmi
TEORIE E TECNICHE DEL RICONOSCIMENTO
Politecnico di Milano © Domenico Barretta Processi concorrenti in Unix Docente Domenico Barretta Politecnico di Milano
DATA MINING PER IL MARKETING
Ontologia AA F. Orilia. Lez. 16 Discussione dell'approccio controfattualista di lewis condotta da Antonio De Grandis.
Linguistica computazionale: task sul linguaggio naturale Cristina Bosco 2015 Informatica applicata alla comunicazione multimediale.
Intelligenza Artificiale: possono le machine ragionare?
Distribuzione controllata del software con Systems Management Server 2003 Fabrizio Grossi.
RETI NEURALI - 2.
Intelligenza Artificiale
Che cos’è l’APPRENDIMENTO?
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Apprendimento Agostino Poggi Stefano Cagnoni.
Intelligenza Artificiale Reti Neurali
TEORIE E TECNICHE DEL RICONOSCIMENTO
TEORIE E TECNICHE DEL RICONOSCIMENTO Python: Debugging, 2: Understanding Python better.
THE LIGHT How does the light propagate?. 1)To verify that light propagates in straight lines 2)To compare an object with its projection on a rigid screen.
TEORIE E TECNICHE DEL RICONOSCIMENTO
From this year, by kind permission of Taeco S.r.l., the Working Retrievers Club Italia has the pleasure to award the prize “Big Hunter Project”. This.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
SUMMARY Interconnection of quadripoles RIEPILOGO Interconnessione di quadripoli RIEPILOGO Interconnessione di quadripoli.
Dispositivi Mobili per Sentiment Analysis
“IMPARIAMO SUONI, FONEMI, LETTERE E SIMONE ACCHIAPPASUONI”
Self-Organizing Map (SOM Kohonen, 1981) è una tecnica di visualizzazione dei dati multidimensionali SOM è una mappa mono- (bi-)dimensionale che rappresenta.
RUMORE DI QUANTIZZAZIONE. Concetti principali L’analisi dei sistemi di controllo digitale presuppone il fatto che il dispositivo utilizzato abbia uno.
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
Buon giorno, ragazzi oggi è il quattro aprile duemilasedici.
Introduzione a Weka Di Fabio Cassano
#sqlsatTorino #sqlsat400 May 23, 2015 AzureML - Creating and Using Machine Learning Solutions Davide
POSSIBLE ANSWERS The company is looking for a secretary/A secretarial position is vacant/A position as a secretary is vacant BBJ Co. Ltd advertised for.
Transcript della presentazione:

TEORIE E TECNICHE DEL RICONOSCIMENTO Apprendimento automatico Introduzione a SciKit-Learn

FACCIAMO UN PASSO INDIETRO … Molti dei metodi per interpretare testi che abbiamo visto sono basati su CLASSIFICATORI appresi usando tecniche di APPRENDIMENTO AUTOMATICO: Classificazione di documenti in spam / non spam Sentiment analysis Classificazione delle parti del discorso Etc etc

CLASSIFICATORI Un CLASSIFICATORE e’ una FUNZIONE da oggetti che si vogliono classificare a etichette DISCRETE La disambiguazione delle parti del discorso e molti altri problemi in LC possono essere visti come problemi di classificazione Determinare la parte del discorso di un token Assegnare valore SPAM/NO SPAM a un messaggio email Assegnare un valore positivo / negativo ad una recension

CLASSIFICATORI COME FUNZIONI TOKEN POS La DT mamma NN di OF Giacomo NNP ha HV

UNA VISIONE GEOMETRICA DELLA CLASSIFICAZIONE SPAM NON-SPAM

VISIONE GEOMETRICA DELLE FUNZIONI

IL RUOLO DELL’APPRENDIMENTO AUTOMATICO Un classificatore potrebbe essere codificato a mano (in Python, per esempio) Ma nella linguistica computazionale moderna, e in moltre altre aree dell’intelligenza artificiale, questi classificatori non vengono specificati a mano, ma vengono APPRESI AUTOMATICAMENTE a partire da esempi.

APPRENDIMENTO E LA DAMA Il termine ‘Machine Learning’ e’ stato coniato negli anni ‘50 da Samuel, che sviluppo’ tecniche di apprendimento automatico per sviluppare un sistema che imparasse a giocare a dama

Machine Learning definition Arthur Samuel (1959). Machine Learning: Field of study that gives computers the ability to learn without being explicitly programmed. Tom Mitchell (1998) Well-posed Learning Problem: A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.

ALTRE APPLICAZIONI Robotica (per esempio veicoli autonomi)

APPROCCI ALL’APPRENDIMENTO SUPERVISIONATO: dato un insieme di esempi di input / output, trovare una associazione che predica accuratamente l’output associato ad un certo input NON SUPERVISIONATO o CLUSTERING: dato un insieme di esempi non etichettati, raggruppare gli esempi in gruppi di oggetti “simili” (CLUSTER)

APPRENDIMENTO SUPERVISIONATO

APPRENDIMENTO SUPERVISIONATO IN NLTK >>> featuresets = [(gender_features(n), g) for (n,g) in names] >>> train_set, test_set = featuresets[500:], featuresets[:500] >>> classifier = nltk.NaiveBayesClassifier.train(train_set) >>> classifier.classify(gender_features('Neo')) 'male' >>> classifier.classify(gender_features('Trinity')) 'female'

DUE TIPI DI APPRENDIMENTO SUPERVISIONATO

CLASSIFICAZIONE: Spam, non-spam Classification Discrete valued output (0 or 1) 1(Y) Spam? 0(N) Length of message (words) Length of message (words)

REGRESSIONE: PREDIRRE IL COSTO DELLE CASE Prezzo (€) in 1000’s Dimensione in m2 Supervised Learning “right answers” given Regression: Predict continuous valued output (price)

APPRENDIMENTO AUTOMATICO IN PYTHON Come abbiamo visto, la libreria NLTK permette di apprendere diversi tipi di classificatori a partire da testi Ma in Python esistono diverse librerie piu’ generali Useremo la libreria SciKit-Learn

SCIKIT-LEARN Una libreria open-source di funzioni per l’apprendimento automatico Basata su numpy, scipy, e matplotlib Fornisce funzioni per Classificazione Regressione Clustering Riduzione di dimensionalita’ Sito web: http://scikit-learn.org/stable/

APPRENDIMENTO AUTOMATICO CON SCIKIT-LEARN Leggere i dati (e ripulirli se necessario) Analizzarli, per esempio tramite visualizzazione Identificare il miglior algoritmo di apprendimento Analizzare le prestazioni

ESEMPIO DI REGRESSIONE Obiettivo: sviluppare una funzione che predice la quantita’ di accessi ad un sito web

I DATI

LEGGERE I DATI

VISUALIZZARE I DATI

VISUALIZZARE I DATI: CODICE

APPRENDERE UNA FUNZIONE Nell’apprendimento supervisionato (sia regressione che classificazione) si cerca di trovare la funzione che fornisca la “migliore rappresentazione dei dati” Si definisce “migliore rappresentazione dei dati” come “rappresentazione che minimizza l’ERRORE”

MINIMIZZARE L’ERRORE

ERRORE NEL CASO DELLA REGRESSIONE

IMPARARE LA FUNZIONE CHE RAPPRESENTA MEGLIO I DATI

VISUALIZZARE IL RISULTATO Dopodiche’ e’ chiaro che c’e’ un problema con l’idea che la funzione sia una linea retta La funzione approssima bene I dati le prime quattro settimane

UN’APPROSSIMAZIONE MIGLIORE

ANCORA MEGLIO?

OVERFITTING Aumentando il grado del polinomio otteniamo delle funzioni che ottengono risultati migliori `memorizzando’ i dati di addestramento, ma non generalizzano a sufficienza

TRAIN E TEST Come nei casi di classificazione visti in precedenza, per trovare la soluzione migliore vogliamo dividere I dati in train e test e valutare solo su tes

LEZIONE DI BASE Sviluppando algoritmi di apprendimento automatico e’ importante non limitarsi a provare tutti I metodi possibili e tutti I parametri possibili, ma cercare di capire cosa sta succedendo (per esempio visualizzando i dati) e scegliere sulla base dell’analisi

PACCHETTI COMPRESI CON SCIKIT-LEARN NumPy Operazioni su array SciPy Contiene implementazioni di praticamente tutti gli algoritmi numerici

NUMPY

SCIPY

LETTURE

QUESTA LEZIONE Echert & Coelho, capitolo 1