Che materia stai cercando?

Intelligenza artificiale - tesina Knime Appunti scolastici Premium

esempio di tesina Knime per l'esame vecchio ordinamento di Intelligenza artificiale del prof. Carlo Sansone. Obiettivo dell'elaborato è la realizzazione di un classificatore di dati di rete in grado di classificare correttamente i campioni contenuti in un training set fornito dal docente.

Esame di Intelligenza Artificiale docente Prof. C. Sansone

Anteprima

ESTRATTO DOCUMENTO

4.1 File Reader

Questo nodo viene utilizzato per leggere un file ASCII e può essere configurato per diversi tipi

di formato. Nello specifico abbiamo utilizzato questo nodo per leggere il file trainingset.txt e

darlo in pasto al classificatore.

Dopo aver caricato il file bisogna fare alcune modifiche:

 Escludiamo la colonna ID in quanto non serve per la classificazione.

 Rendiamo compatibile la colonna Classe con il classificatore: infatti

l’attributo classe deve essere di tipo string affinché il classificatore lo

riconosca come classe. (inizialmente viene caricato come integer)

Al termine otteniamo la seguente tabella in cui sono caricate tutti i campioni, le features e le

classi di appartenza di ciascun campione: 6

4.2 Attribute Selected Classifier

Questo nodo che fa parte della libreria WEKA integrata in KNIME permette di effettuare una

selezione delle Features in modo date da ridurre in modo opportuno le features del training set

prima di passarle al classificatore vero e proprio. Diamo di seguito alcuni cenni teorici sulla

features selection.

4.2.1 Features Selection

Il primo passo per l’utilizzo di un classificatore è la scelta delle features che si vogliono

utilizzare per rappresentare i campioni da apprendere.

Affinché, infatti, un pattern possa essere esaminato da un classificatore, deve essere descritto per

mezzo di un vettore di caratteristiche (features).

Ogni componente di questo vettore viene utilizzata per valutare numericamente un aspetto

saliente dei pattern, ossia un aspetto che aiuti a distinguere esempi appartenenti ad una classe e

non appartenenti ad altre classi, nel contesto del problema preso in esame. 7

Nella maggior parte dei casi di interesse pratico, non è possibile trovare una sola feature che sia

in grado di determinare l’appartenenza di ogni pattern ad una classe diversa; è quindi necessario

trovare un insieme di features che abbiano, nel loro complesso, buon potere discriminante

nell’ambito del contesto in esame.

E’ inoltre da notare che la qualità dell’addestramento di un classificatore è legata anche al

numero di campioni ad essa mostrati (ampiezza del training set). In particolare, per avere un

buon addestramento, quanto maggiore è il numero di features, tanto più esteso deve essere essere

il training set.

In breve, da un lato conviene aumentare il numero di features, per incrementare il potere

discriminante, dall’altro invece, considerato che il training set è formato da un numero limitato

di campioni, conviene il più possibile diminuire il numero di features.

Si vuol trovare, quindi, il miglior insieme possibile di features avente minima cardinalità.

Per miglior insieme di features si intende quell’insieme che massimizza la capacità di

classificazione per il problema in esame.

Il termine ‘feature selection’ si riferisce al problema di scegliere un sottoinsieme ottimale di

features a partire da un insieme di features assegnate. Lo scopo della fetaure selection è trovare

un sottoinsieme proprio dell’insieme assegnato di features che abbia lo stesso potere

discriminante dell’insieme di partenza.

Con ‘feature extraction’ ci si riferisce al procedimento di estrarre delle nuove features

combinando e trasformando opportunamente alcune features assegnate, allo scopo di avere un

insieme di features più piccolo di quello di partenza e che sia inoltre in grado di massimizzare la

separazione tra le classi.

Quello che abbiamo fatto in questo elaborato tramite il nodo

AttributeSelectedClassifier è stata proprio la selezione di un gruppo di features

che sia rappresentativo. E’ possibile far leggere al suddetto nodo l’intero training

set ed estrarre da questo il miglior sottoinsieme di features in accordo a differenti

strategie

Nel listato che segue sono mostrate le strategie di selezione utilizzate nel nodo in

questione e le relative features che il nodo ha selezionato. 8

Le features selezionate sono : 1,2,3,8 9

4.3 Column Filter

Questo nodo viene utilizzato per filtrare la tabella del training set di partenza in modo tale da

ripulirla ed estrarre da essa solo le features (le colonne) che abbiamo selezionato in precenza.

Quindi in ingesso ho la tabella del training set caricata nel file reader e in uscita ottengo la

seguente tabella ripulita in cui compaiono solo le features selezionate. 10

4.4 Partitioning

Questo nodo ha in ingresso la tabella filtrata precedentemente e suddivide in modo casuale

l’insieme dei campioni in due sottoinsiemi, crea una partizione. Nello specifico abbiamo

utilizzato questo nodo per suddividere l’insieme dei campioni in due sottoinsiemi: uno

rappresentativo del Training Set (TS) e l’altro rappresentativo del Training Test Set (TTS). Dal

momento che il numero di campioni è sufficientemente elevato si è pensato di fare una

suddivisione al 50% settando opportunamente il nodo nella finestra di dialogo opzioni. Questa

suddivisione come vedremo ci verrà poi utile in seguito quando andremo a valutare le prestazioni

del classificatore. Ottengo quindi in uscita due sottotabelle come in figura: 11

4.5 Decision Tree

Questi due nodi sono il cuore del classificatore vero è proprio, infatti è qui che il classificatore

viene prima addestrato (nodo Decision Tree Learner) e poi grazie all’addestramento è capace di

fare delle predizioni di appartenenza di un campione ad una classe (nodo Decision Tree

Predictor). Un classificatore è uno strumento per la classificazione di pattern il cui

funzionamento è contraddistinto da due fasi:

Fase di Apprendimento.

• Il classificatore va addestrato, ossia gli vanno mostrati i campioni con l’indicazione della

classe di appartenenza, in modo tale che sia in grado di acquisire la conoscenza

necessaria per distinguere campioni appartenenti a classi distinte. Avremo quindi un

classificatore di tipo supervisionato

Questa fase viene fatta appunto dal nodo Decision Tree Learner il quale ha in ingresso

tutti i campioni della tabella relativa al TS selezionato in precedenza.

In uscita da tale nodo ho l’addestramento che viene passato quindi al nodo Decision Tree

Predictor che sulla base della conoscenza acquisita farà delle predizioni.

Fase Operativa

• 12

Terminato l’addestramento, al classificatore vengono sottoposti campioni non mostrati in

precedenza di cui non è nota la classe di appartenenza. Tali campioni vengono classificati

e assegnati alla classe pertinente.

Questa fase viene fatta appunto dal nodo Decision Tree Predictor il quale riceve in

ingresso campioni mai visti prima che si trovano nella tabella relativa al TTS. Sulla base

della conoscenza acquisita dal nodo learner il classificatore sarà in grado di assegnare una

classe ai campioni in ingresso.

All’uscita del classificatore complessivo avremo una tabella contenente i risultati della

classificazione i quali verranno poi tradotti in una matrice di classificazione. La tabella ottenuta

conterrà per ciascun campione valutato del TTS, come possiamo vedere in figura, la classe

predetta dal classificatore e la classe reale del campione.

Di seguito daremo alcuni cenni teorici sulla classificazione mediante un albero decisionale. 13


PAGINE

19

PESO

1.04 MB

AUTORE

Menzo

PUBBLICATO

+1 anno fa


DETTAGLI
Corso di laurea: Corso di laurea in ingegneria informatica
SSD:
A.A.: 2013-2014

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Menzo di informazioni apprese con la frequenza delle lezioni di Intelligenza Artificiale e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Napoli Federico II - Unina o del prof Sansone Carlo.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Intelligenza artificiale

Intelligenza Artificiale – Incertezza e reti di Bayes
Dispensa
Intelligenza Artificiale - completo
Appunto
Intelligenza Artificiale - tesina
Appunto
Dataset - slide
Appunto