PDF Archive

Easily share your PDF documents with your contacts, on the Web and Social Networks.

Share a file Manage my documents Convert Recover PDF Search Help Contact



relazione .pdf



Original filename: relazione.pdf

This PDF 1.5 document has been generated by LaTeX with hyperref package / pdfTeX-1.40.16, and has been sent on pdf-archive.com on 05/09/2017 at 10:40, from IP address 150.217.x.x. The current document download page has been viewed 137 times.
File size: 417 KB (7 pages).
Privacy: public file




Download original PDF file









Document preview


Naive Bayes e learning curves
Giuliano Gambacorta
25 gennaio 2016

Indice
1 Introduzione

2

2 Procedimento

3

3 Risultati

3

4 Conclusioni

4

5 Grafici

5

1

1

Introduzione

Questo programma confronta l’andamento della precisione ottenuta da due
algoritmi Naive Bayes nel classificare data sets di documenti testuali all’aumentare degli esempi forniti.
Come linguaggio `e stato scelto il Python, di conseguenza si fa uso della libreria scikit-learn[1] che fornisce l’implementazione degli algoritmi da confrontare, Multinomiale e Bernoulli, oltre agli strumenti utilizzati per processare
i dati ed elaborare i grafici.
In particolare vengono analizzati i data sets 20 newsgroups e Reuters-21578.
Nel secondo si vanno a considerare solo i documenti appartenenti alle 10 categorie pi`
u frequenti che, in accordo con l’articolo di McCallum e Nigam[2]
e secondo l’ordine indicato nel libro di Masoud Mohammadian [3], sono:1
1. earn
2. acq
3. money-fx
4. crude
5. grain
6. trade
7. interest
8. ship
9. wheat
10. corn

1

Si ritiene rilevante specificare l’ordine per evidenziare il confronto con i risultati
riportati nei grafici dell’articolo di McCallum e Nigam.

2

2

Procedimento

Per quanto riguarda il 20 newsgroups il programma fa uso delle funzioni incluse in scikit-learn, che facilitano l’ottenimento e la gestione dei documenti.
Si `e scelto di utilizzare il training set, offrendo la possibilit`a di rimuovere
alcune delle informazioni contenute nei documenti, per una stima delle prestazioni pi`
u realistica e generale.
Nel caso del Reuters-21578 sono presenti una classe e una funzione adatte
al parsing e al download dei documenti[4], in seguito questi vengono filtrati
secondo le categorie di cui sopra e l’indicazione ad esse riferita nel tag che
apre gli articoli, `e possibile rimuovere il titolo e non vengono considerati
altri tag.
Con le restrizioni indicate si `e cercato di equiparare, per quanto possibile, il
numero di documenti utilizzati dagli algoritmi. 2
Una volta che i documenti sono stati recuperati, `e stato estratto il bag of
words ed `e stata creata la matrice per l’analisi da parte degli algoritmi, il
programma costruisce un grafico delle prestazioni sfruttando la tecnica di
cross-validation[5].
` possibile modificare alcuni parametri, numero di punti e numero di fold,
E
per sperimentare con i grafici.

3

Risultati

Le immagini riportate sono state ottenute con valori predefiniti: le curve sono costruite su 10 punti e le prestazioni sono valutate con una suddivisione
del set in 3 parti.
Si pu`
o notare che, in generale, l’algoritmo Multinomiale `e pi`
u efficiente dell’algoritmo di Bernoulli. Ci`
o corrisponde al risultato atteso su base teorica e
alle ricerche consultate. In certi casi il divario `e molto ampio, fa eccezione il
caso in cui al data set Reuters-21578 viene tolto il titolo dai documenti: qui
l’algoritmo di Bernoulli performa leggermente meglio del Multinomiale, anche se il Multinomiale resta pi`
u veloce. Nonostante questo, si pu`o comunque
affermare che mediamente il risultato atteso `e stato confermato.

2

Purtroppo differiscono ancora di circa 2000 unit`
a.

3

4

Conclusioni

In tutti i casi presi in esame l’errore tende a decrescere abbastanza uniformemente all’aumentare del numero di esempi. Intorno al massimo, nel data set
20 Newsgroups, la curva dell’algoritmo Multinomiale si appiattisce e mostra
una lieve tendenza alla decrescita. Sperimentando con modifiche sul numero
di fold la precisione non `e comunque peggiorata significativamente.
` interessante osservare che le learning curves relative al 20 Newsgroups
E
sono nettamente pi`
u ripide di quelle per Reuters-21578. Ci`o `e probabilmente da attribuirsi alla maggior variet`a dei documenti nel data set, dato che
quelli del secondo sono concentrati su un minor numero di categorie, le quali a loro volta sono piuttosto sbilanciate. Proprio questa caratteristica pu`o
essere rilevante per interpretare il risultato ottenuto rimuovendo il titolo,
mettendolo a confronto con i risultati mostrati nell’articolo di McCallum e
Nigam[2]: considerando le categorie una per una, guardando in particolare
i grafici relativi a ”earn” e ”acq”, le classi pi`
u frequenti in assoluto, si nota
che le curve ”precision/recall” di Multinomiale e Bernoulli sono molto vicine
` possibile che la densit`a di documenti osservata in queste due cafra loro. E
tegorie influenzi l’andamento complessivo della precisione, la rimozione del
titolo, infine, va a ridurre le dimensioni del vocabolario togliendo parole significative. Ci`
o, per la differenza fra le strategie adottate dai due algoritmi,
incide maggiormente sulle prestazioni del Multinomiale, un dato che `e in
accordo con le varie ricerche che mostrano come Bernoulli talvolta ottenga
il massimo dell’efficienza con vocabolari ridotti.3

3

Si rimanda a [2] per ulteriori dettagli.

4

5

Grafici

Figura 1: 20 Newsgroups

Figura 2: 20 Newsgroups con rimozioni

Figura 3: 20 Newsgroups

Figura 4: 20 Newsgroups con rimozioni

5

Figura 5: Reuters-21578

Figura 6: Reuters-21578 con rimozioni

Figura 7: Reuters-21578

Figura 8: Reuters-21578 con rimozioni

6

Riferimenti bibliografici
[1] Scikit-learn.
[2] McCallum & Nigam 1998.
[3] Intelligent Agents for Data Mining and Information Retrieval.
[4] out-of-core-classification.
[5] plot-learning-curve.

7


Related documents


relazione
cos e wenyard soft launch
falso nueve marzo
realizzazione siti web web in1804
rma
hunting cards v1


Related keywords