Naive bayes. Course of Machine Learning Master Degree in Computer Science University of Rome Tor Vergata. Giorgio Gambosi. a.a.

Documenti analoghi
Apprendimento Automatico

Computazione per l interazione naturale: classificazione probabilistica

Modelli Probabilistici per la Computazione Affettiva: Learning/Inferenza parametri

Rilevazione di messaggi spam con algoritmo Naive-Bayes

Approccio statistico alla classificazione

Naïve Bayesian Classification

Classificazione Bayesiana

Apprendimento Automatico

Analisi Discriminante Strumenti quantitativi per la gestione

Computazione per l interazione naturale: classificazione probabilistica

Metodi di Geometria Algebrica per la ricostruzione statistica degli alberi filogenetici Luigi Biondi

Computazione per l interazione naturale: fondamenti probabilistici (2)

Università degli Studi di Roma Tor Vergata

Computazione per l interazione naturale: Regressione probabilistica

Teoria delle Decisioni Bayesiana

Analisi Discriminante. Strumenti quantitativi per la gestione

CP210 Introduzione alla Probabilità: Esame 2

Corso di Matematica per la Chimica

Cenni di apprendimento in Reti Bayesiane

Rischio statistico e sua analisi

5. Analisi dei dati di output

II Appello di Calcolo delle Probabilità Laurea Triennale in Matematica 2016/17

Minimi quadrati e massima verosimiglianza

Stima dei Parametri. Corso di Apprendimento Automatico Laurea Magistrale in Informatica Nicola Fanizzi

Stima dei parametri. La v.c. multipla (X 1, X 2,.., X n ) ha probabilità (o densità): Le f( ) sono uguali per tutte le v.c.

Classificatori Bayesiani. Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna

Concetti di teoria dei campioni ad uso degli studenti di Statistica Economica e Finanziaria, A.A. 2017/2018. Giovanni Lafratta

Concetti di teoria dei campioni ad uso degli studenti di Statistica Economica e Finanziaria, A.A. 2016/2017. Giovanni Lafratta

Computazione per l interazione naturale: Regressione probabilistica

Computazione per l interazione naturale: classificazione supervisionata

Riconoscimento e recupero dell informazione per bioinformatica

Introduzione alle Reti Bayesiane

Elementi di Probabilità e Statistica - 052AA - A.A

Computazione per l interazione naturale: fondamenti probabilistici (2)

Computazione per l interazione naturale: Regressione probabilistica

Machine Learning GIORGIO GAMBOSI UNIVERSITÀ DI ROMA TOR VERGATA

Esercitazioni di Statistica

Esercitazione del 29 aprile 2014

5. Analisi dei dati di output

UNIVERSITÀ di ROMA TOR VERGATA

Stima dei parametri. I parametri di una pdf sono costanti che caratterizzano la sua forma. r.v. parameter. Assumiamo di avere un campione di valori

Regressione Lineare e Regressione Logistica

Calcolo delle Probabilità e Statistica. Test di verifica - 05/04/2005

1 L analisi discriminante lineare

Computazione per l interazione naturale: macchine che apprendono

Analisi della disponibilità d acqua. Valutazione dell impianto attraverso il calcolo di un indice economico (criterio)

Riconoscimento e recupero dell informazione per bioinformatica

Fin qui si sono considerate le variabili casuali ciascuna per proprio conto. Ora consideriamo la possibilità di relazioni tra variabili.

Secondo scritto. 8 luglio 2010

Regressione. Apprendimento supervisionato //Regressione. Corso di Sistemi di Elaborazione dell Informazione

Modelli Log-lineari Bivariati

CP110 Probabilità: Esame 13 settembre Testo e soluzione

Richiami di probabilità. Decision Theory e Utilità. Richiami di probabilità. assumere certi valori in un insieme x 1, x 2, x n (dominio)

Esercizi di Calcolo delle Probabilità

Apprendimento Bayesiano

Scrivere su ogni foglio NOME e COGNOME. Le risposte devono essere giustificate sui fogli protocollo e riportate nel foglio RISPOSTE.

Corso Avanzato di Statistica

Classificazione introduzione

CP210 Introduzione alla Probabilità: Esonero 2

PROBABILITÀ I. a.a. 2011/2012 DIARIO DELLE LEZIONI

Verifica parte IV. Rif. Ghezzi et al

La Decisione Statistica Campione aleatorio: risultato dell osservazione di un fenomeno soggetto a fluttuazioni casuali.

Esame di Statistica del 19 settembre 2006 (Corso di Laurea Triennale in Biotecnologie, Università degli Studi di Padova).

Apprendimento statistico (Statistical Learning)

UNIVERSITÀ di ROMA TOR VERGATA

Basi matematiche per il Machine Learning

costruzione di un modello a partire dai dati Quale modello potrebbe essere utilizzato per riprodurre dei dati simili a questi?

Computazione per l interazione naturale: Regressione lineare

Ragionamento Bayesiano Esercizi

a 11 a 12 a 1n a 21 a 22 a 2n a m1 a m2 a mn mentre le variabili decisionali sono rappresentate dal vettore colonna n-dimensionale x,

8 Derivati dell entropia

Apprendimento statistico (Statistical Learning)

I Sessione I Prova Scritta o Recupero Esonero di Probabilità e Statistica a.a. 2012/ Giugno 2013

LEZIONE 12. v = α 1 v α n v n =

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

10 Proprietà di Equipartizione Asintotica

Metodi Quantitativi per Economia, Finanza e Management. Lezione n 8 Regressione lineare multipla: le ipotesi del modello, la stima del modello

Matematica e Statistica per Scienze Ambientali

Modelli a effetti misti

Classificazione DATA MINING: CLASSIFICAZIONE - 1. Classificazione

Corso di Matematica per la Chimica

Tecniche di riconoscimento statistico

lezione 4 AA Paolo Brunori

c) Ancora in corrispondenza allo stesso valore di p e ponendo Y = minorazione, fornita dalla diseguaglianza di Chebichev, per la probabilita

Corso di Laurea in Informatica Calcolo delle Probabilità e Statistica (269AA) A.A. 2016/17 - Prima prova in itinere

Classificazione Mario Guarracino Data Mining a.a. 2010/2011

Metodi di classificazione

4. Stime & Test. Corso di Simulazione. Anno accademico 2008/09

E (X 2 ) = E (G) + E (E 2 ) = 1, V ar (X 2 ) = V ar (G) + V ar (E 2 ) = 5, Cov(X 1, X 2 ) = Cov(G + E 1, G + E 2 ) = V ar (G) = 4,

Tecniche di riconoscimento statistico

Esercitazione del 03/06/2014 Probabilità e Statistica

Regressione logistica. Strumenti quantitativi per la gestione

ASSEGNAZIONE STOCASTICA. SU RETI NON CONGESTIONATE SNL (Stochastic Network Loading)

Computazione per l interazione naturale: Regressione lineare Bayesiana

Constraint Satisfaction Problems

Corso di Laurea in Ingegneria Robotica e dell Automazione Probabilità e Processi Stocastici (455AA) A.A. 2018/19 - Prova in itinere

Transcript:

Naive bayes Course of Machine Learning Master Degree in Computer Science University of Rome Tor Vergata Giorgio Gambosi a.a. 2018-2019 1

Features numerose In presenza di numerose features, definire un modello generativo può risultare inaccettabilmente costoso. La dimensione del training set cresce esponenzialmente con il numero di features, per permettere di considerare tutte le possibili combinazioni di valori delle features stesse In presenza di d features, ad esempio binarie, in un classificatore binario, sarà necessario stimare approssimativamente 2 d+1 parametri: le probabilità p ij = p(x i C j). 2

Esempio: antispam per email Esempio di text classifier: cerca di individure e-mail spam. Nell ipotesi di avere un training set (messaggi marcati come spam o non-spam), le features da associare ad un messaggio saranno le parole che esso contiene (o non contiene). Un messaggio è rappresentato da un vettore di features x di dimensione pari al numero di termini di un dizionario: se il messaggio contiene l i-esimo termine del dizionario allora x i = 1 (o x i è pari al numero di occorrenze del termine), altrimenti x i = 0. 3

Esempio: antispam per email Se il dizionario contiene 10.000 termini e si rappresenta la sola occorrenza o meno di ogni termine (per cui il vettore è binario), allora N = 2 10000. Questo comporta la necessità di stimare 2(2 10000 1) parametri per p(x C 1) e altrettanti per p(x C 2). 4

Classificatori Naive Bayes Le features x i sono condizionalmente indipendenti rispetto alle classi C 1, C 2. Per ogni coppia i, j con 1 i, j d, i j e per k {1, 2} Sotto questa ipotesi, abbiamo che e quindi p(x i x j, C k ) = p(x i C k ) p(x i, x j C k ) = p(x i x j, C k )p(x j C k ) = p(x i C k )p(x j C k ) p(x C k ) = p(x 1,..., x d C k ) = p(x i C k ) e i parametri da stimare sono ϕ ik = p(x i = 1 C k ) per i = 1,..., d e k = 1, 2, per numero totale di parametri pari a 2d. Inoltre, sarà necessario stimare π = p(c 1). 5

Classificatori Naive Bayes Rappresentazione grafica (reti bayesiane) Nodi: variabili casuali Archi: relazioni di dipendenza Ombreggiatura: variabili visibili C i x 1 x 2 x d 6

ML e naive bayes Dato un training set (x i, y i), i = 1,..., n, possiamo scrivere la corrispondente verosimiglianza come L = = n p(x i, y i) n p(x i y i)p(y i) n = p(y i) p(x ij y i) = j=1 n π y i (1 π) 1 y i j=1 ϕ x ij y i j1 (1 ϕ j1) (1 x ij )y i ϕ x ij (1 y i ) j2 (1 ϕ j2) (1 x ij )(1 y i ) 7

ML e naive bayes E la log-verosimiglianza quindi come l = = n n d log p(y i) + log p(x ij y i) j=1 n n y i log π + (1 y i) log(1 π) n d n d + x ijy i log ϕ j1 + (1 x ij)y i log(1 ϕ j1) j=1 j=1 n d n d + x ij(1 y i) log ϕ j2 + (1 x ij)(1 y i) log(1 ϕ j2) j=1 j=1 8

ML e naive bayes Massimizziamo la log-verosimiglianza annullando la relativa derivata. Per π questo dà n l π = n y i π 1 y i = n1 π π n2 1 π ponendo la derivata pari a 0 otteniamo quindi π = n1 = n1 n 1 + n 2 n 9

ML e naive bayes Per ϕ j1 abbiamo: l ϕ j1 = n d j=1 x ijy i ϕ j1 n d j=1 (1 x ij)y i = nj1 n1 nj1 1 ϕ j1 ϕ j1 1 ϕ j1 dove n jk è il numero di elementi del training set nella classe C k aventi la j-esima componente x j = 1 e n k n jk è il numero di elementi aventi la j-esima componente x j = 0. Ponendo la derivata pari a 0 otteniamo ϕ j1 = Allo stesso modo, otteniamo per ϕ j2 n j1 n j1 + (1 n j1) = nj1 n 1 ϕ j2 = nj2 n 2 10

ML e naive bayes Per classificare x si calcolano p(c 1 x) e p(c 2 x), assegnando x alla classe di maggiore probabilità. Dato che p(c 1 x) = p(x C1)p(C1) d = p(xi C1)p(C1) p(x) p(x) e p(c 2 x) = p(x C2)p(C2) p(x) per classificare x è sufficiente confrontare p(x i C 1)p(C 1) = π ϕ x i i1 (1 ϕi1)1 x i = n1 n d = p(xi C2)p(C2) p(x) ( ) xi ( ) ni1 1 1 xi ni1 e p(x i C 2)p(C 2) = (1 π) ϕ x i i2 (1 ϕi2)1 x i = n2 n n 1 n 1 ( ) xi ( ) ni2 1 1 xi ni2 n 2 n 2 11

ML e naive bayes In definitiva, è sufficiente confrontare e 1 n d 1 1 1 n d 1 2 n x i i1 (1 ni1)1 x i n x i i2 (1 ni2)1 x i 12

Esempio docid termini in c = Cina? training set 1 Cinese Pechino Cinese yes 2 Cinese Cinese Shanghai yes 3 Cinese Macao yes 4 Tokyo Giappone Cinese no test set 5 Cinese Cinese Cinese Tokyo Giappone? 13

Esempio: stima parametri Priors: P (c) = π = 3/4 e 1 π = 1/4 Probabilità condizionate: ˆP (Cinese c) = 3/3 = 1 ˆP (Shanghai c) = ˆP (Macao c) = 1/3 ˆP (Tokyo c) = ˆP (Giappone c) = 0 ˆP (Cinese c) = 1 ˆP (Tokyo c) = ˆP (Giappone c) = 1 ˆP (Shanghai c) = ˆP (Macao c) = 0 14

Esempio Classificazione ˆP (c d 5) 1 0 0 1( 1/3) (1 1/3) = 0 ˆP (c d 5) 1 1 1 (1 0) (1 0) = 1 Classificato come non Cina Ma se avessi Cinese Cinese Cinese Tokyo Macao? 15

Smoothing Pericolo: valori nulli. Ad esempio, se n k1 = 0 (nel training set non compare nessun elemento di C 1 con feature x k = 1), per classificare un elemento con x k = 1 abbiamo 1 n d 1 1 n x i i1 (1 ni1)1 x i = 0 e il modello non classificherà mai tale elemento in C 1. Se al tempo stesso n k2 = 0 allora, per classificare lo stesso elemento, 1 n d 1 2 Quindi la classificazione è impossibile. n x i i2 (n2 ni2)1 x i = 0 16

Smoothing In generale, sia z IR k. Dato un training set z 1,..., z n, la probabilità ϕ i = p(z = i) stimata con ML risulta ϕ j = nj n dove n j è il numero di elementi z = j: se n j = 0 allora ϕ j = 0. Questo equivale ad escludere che la caratteristica z = j, non osservata nel training set, possa mai comparire. 17

Smoothing e classificatori binari Laplace smoothing: assegna valori non nulli a probabilità stimate pari a 0. Applicazione di smoothing: Anche in questo caso ϕ j1 = nj1 + 1 n 1 + 2 ϕ j = nj + 1 n + k d ϕ j = 1 j=1 ϕ j2 = nj2 + 1 n 2 + 2 π = n1 + 1 n + 2 18

Esempio docid termini in c = Cina? training set 1 Cinese Pechino Cinese yes 2 Cinese Cinese Shanghai yes 3 Cinese Macao yes 4 Tokyo Giappone Cinese no test set 5 Cinese Cinese Cinese Tokyo Giappone? 19

Esempio: stima parametri Priors: P (c) = π = 3/4 e 1 π = 1/4 Probabilità condizionate: ˆP (Cinese c) = (3 + 1)/(3 + 2) = 4/5 ˆP (Shanghai c) = ˆP (Macao c) = (1 + 1)/(3 + 2) = 2/5 ˆP (Tokyo c) = ˆP (Giappone c) = (0 + 1)/(3 + 2) = 1/5 ˆP (Cinese c) = (1 + 1)/(1 + 2) = 2/3 ˆP (Tokyo c) = ˆP (Giappone c) = (1 + 1)/(1 + 2) = 2/3 ˆP (Shanghai c) = ˆP (Macao c) = (0 + 1)/(1 + 2) = 1/3 20

Esempio Classificazione ˆP (c d 5) 4/5 1/5 1/5 (1 2/5) (1 2/5) 0.0012 ˆP (c d 5) 2/3 2/3 2/3 (1 1/3) (1 1/3) 0.13 21

Esempio: estensione Consideriamo il numero di occorrenze Priors: P (c) = π = 3/4 e 1 π = 1/4 Probabilità condizionate: ˆP (Cinese c) = (5 + 1)/(8 + 6) = 6/14 = 3/7 ˆP (Tokyo c) = ˆP (Giappone c) = (0 + 1)/(8 + 6) = 1/14 ˆP (Cinese c) = (1 + 1)/(3 + 6) = 2/9 ˆP (Tokyo c) = ˆP (Giappone c) = (1 + 1)/(3 + 6) = 2/9 I denominatori sono (8 + 6) e (3 + 6) in quanto il numero di occorrenze di termini in c e c è 8 e 3, rispettivamente, e in quanto ci sono 6 termini nel vocabolario 22

Esempio Classificazione ˆP (c d 5) 4/5 1/5 1/5 (1 2/5) (1 2/5) 0.0012 ˆP (c d 5) 2/3 2/3 2/3 (1 1/3) (1 1/3) 0.13 23