La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

TEORIE E TECNICHE DEL RICONOSCIMENTO

Presentazioni simili


Presentazione sul tema: "TEORIE E TECNICHE DEL RICONOSCIMENTO"— Transcript della presentazione:

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

2 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

3 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 Assegnare un valore positivo / negativo ad una recension

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

5 UNA VISIONE GEOMETRICA DELLA CLASSIFICAZIONE
SPAM NON-SPAM

6 VISIONE GEOMETRICA DELLE FUNZIONI

7 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.

8 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

9 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.

10 ALTRE APPLICAZIONI Robotica (per esempio veicoli autonomi)

11 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)

12 APPRENDIMENTO SUPERVISIONATO

13 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'

14 DUE TIPI DI APPRENDIMENTO SUPERVISIONATO

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

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

17 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

18 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:

19 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

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

21 I DATI

22 LEGGERE I DATI

23 VISUALIZZARE I DATI

24 VISUALIZZARE I DATI: CODICE

25 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”

26 MINIMIZZARE L’ERRORE

27 ERRORE NEL CASO DELLA REGRESSIONE

28 IMPARARE LA FUNZIONE CHE RAPPRESENTA MEGLIO I DATI

29 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

30 UN’APPROSSIMAZIONE MIGLIORE

31 ANCORA MEGLIO?

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

33 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

34 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

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

36 NUMPY

37 SCIPY

38 LETTURE

39 QUESTA LEZIONE Echert & Coelho, capitolo 1


Scaricare ppt "TEORIE E TECNICHE DEL RICONOSCIMENTO"

Presentazioni simili


Annunci Google