2.02k likes | 2.19k Views
Sistemi di supporto alle decisioni 3. Classificazione. Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dell’Informazione Università di Siena rigutini@dii.unisi.it http://www.dii.unisi.it/ ~rigutini/. Classificazione.
E N D
Sistemi di supporto alle decisioni3. Classificazione Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dell’Informazione Università di Siena rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/
Classificazione • Processo supervisionato in cui un teacher addestra un modello ad assegnare una etichetta ad un pattern • Dati: • Insieme predefinito di k classi - C = {C1 , C2 ,…, Ck} • Learning set = {<xi ,Cj>} con i=1,…, e j=1,…,k • Scopo: • Dato un pattern mai visto u, assegnarlo ad una delle k classi Sistemi di supporto alle decisioni - Leonardo Rigutini
Classificazione • Due tipi di classificazione: • Mono-classe (binario), in cui ogni patterrn viene assegnato ad una ed una sola classe • Multi-classe, in cui un pattern può essere inserito in più di una classe • Il secondo caso è più complicato del primo (ovviamente) ma molto più vicino alla realtà • Spesso il secondo caso si risolve con k classificatori binari Sistemi di supporto alle decisioni - Leonardo Rigutini
Classificatori • Diversi tipi di classificatori in base all’approccio utilizzato nello sviluppo del modello: • A regole (rule-based) • Statistici • Profile-based • Example-based • Neurali • Support Vector Machines (SVM) Sistemi di supporto alle decisioni - Leonardo Rigutini
Decidere se è la giornata ideale per giocare a tennis... Outlook Sunny Rain Humidity Wind Overcast High Normal Strong Weak Yes No Yes No Yes Attributo Valore dell’attributo Alberi di decisione - 1 • Esempio: {Outlook=Sunny,Humidity=High,Wind=Strong} Sistemi di supporto alle decisioni - Leonardo Rigutini
Alberi di decisione - 2 • Costruzione dell’albero di decisione • 2 fasi: • Fase di build si costruisce l’albero, partizionando ripetutamente il training set sul valore di un attributo, finché tutti gli esempi, in ogni partizione, appartengono ad una sola classe • Fase di pruning si pota l’albero, eliminando rami dovuti a rumore o a fluttuazioni statistiche Sistemi di supporto alle decisioni - Leonardo Rigutini
Case Study: alberi di decisione - 3 • In un albero di decisione: • Ogni nodo interno effettua un test su un attributo • Ogni ramo uscente da un nodo corrisponde ad uno dei possibili valori che l’attributo può assumere • Ogni foglia assegna una classificazione • Perclassificare un’istanzaoccorre, a partire dalla radice... • ...selezionare l’attributo dell’istanza associato al nodo corrente • ...seguire il ramo associato al valore assegnato a tale attributo nell’istanza • ...quando si raggiunge una foglia, restituire l’etichetta associata alla foglia, altrimenti, a partire dal nodo corrente, ripetere il passo 2) Sistemi di supporto alle decisioni - Leonardo Rigutini
Outlook Sunny Rain Humidity Wind Overcast Yes Strong High Normal Weak No No Yes Yes Case Study: alberi di decisione - 4 • Esempio: {Outlook=Sunny,Humidity=High,Wind=Strong} Sistemi di supporto alle decisioni - Leonardo Rigutini
CLASSE RISCHIO basso alto alto alto basso ETÀ 40 65 20 25 50 TIPO AUTO familiare sportiva utilitaria sportiva familiare Età < 26 no sì Tipo auto utilitaria sportiva familiare Alto Basso Alto Un altro esempio … • Decidere la tariffa assicurativa da applicare, in base alla classe di rischio Alto Sistemi di supporto alle decisioni - Leonardo Rigutini
Naive Bayes • Un classificator Bayesiano, stima la probabilità marginale della classe dato l’esempio: • Questa quantità non può essere stimata direttamente ma utilizzando la formula di Bayes possiamo scrivere: • Per stimare la quantità viene fatta una forte assunzione di indipendenza delle features (naive) e cioè che: Sistemi di supporto alle decisioni - Leonardo Rigutini
Naive Bayes • E la stima delle singole probabilità è fatta semplicemente contando la frequenza relativa di una feature all’interno della classe: • Le rimanenti due probabilità possono essere considerate costanti (e quindi ignorate) oppure stimate a loro volta dai dati Sistemi di supporto alle decisioni - Leonardo Rigutini
Naive Bayes • Nel primo caso, la supposizione è la seguente: • la probabilità a priori di ogni classe è la stessa per tutte le classi (classi equi-probabili) • La probabilità di un esempio è la stessa di tutti gli esempi (esempi equi-probabili) • Nel secondo caso, invece si può sfruttare i dati per la stima dei due valori: • La probabilità della classe P(Ck) può essere stimata contanto la percentuale di documenti appartenencti alla classe rispetto al numero totale di documenti nel training set • La probabilità a priori del dato può essere stimata utilizzando l’ipotesi naive fatta prima: Sistemi di supporto alle decisioni - Leonardo Rigutini
Smoothing • Problema: cosa accade se = 0? Questo vuol dire che tale feature non viene mai incontrata nella classe k durante l’apprendimento. • Tale caso implica • Per evitare questo problema vengono utilizzate tecniche di smoothing che restituiscono valori molto piccoli ma non nulli per le features mai osservate in apprendimento Sistemi di supporto alle decisioni - Leonardo Rigutini
a) Additive smoothing • La formula di stima viene modificata in : con i vincoli che • Ottenendo così: Sistemi di supporto alle decisioni - Leonardo Rigutini
b) Laplace smoothing • Laplace smoothing pone a=1 nella formula precedente, ottenendo così: • La formula di ristima delle probabilità diventa: Sistemi di supporto alle decisioni - Leonardo Rigutini
c) Good-Turing • La tecnica di smoothing Good-Turing (dal nome dei due ricercatori che l’hanno proposta) stima la probabilità di una feature mai vista • Essi trovarono che: con p0 la probabilità di una feature mai vista, N1 il numero di features osservate solamente una volta nel training set ed N il numero totale di features • L’idea è che le features viste una volta sono casi fortunati di features mai viste Sistemi di supporto alle decisioni - Leonardo Rigutini
Complement Naive Bayes • Questo metodo utilizza l’approccio Bayesiano visto per il modello precedente per stimare le probabilità complementari: • Questo metodo ha lo stesso problema delle features mai viste e quindi richiede l’utilizzo di tecniche di smoothing • Inoltre ha il vantaggio rispetto a NB di avere a disposizione un maggior numero di esempi per ogni classe (o meglio complemento di classe) Sistemi di supporto alle decisioni - Leonardo Rigutini
Complement Naive Bayes • Per ogni complemento di classe infatti le statistiche vengono stimate utilizzando tutti i documenti delle classi rimanenti, e cioè che è sicuramente maggiore di dove è l’intero training set e indica la parte del training set contenente esempi della classe k. L’operatore su insiemi |A| infine indica la cardinalità dell’insieme A. • Per questo motivo, tale modello è spesso utilizzato nei casi di scarsità di esempi di addestramento Sistemi di supporto alle decisioni - Leonardo Rigutini
Profile Based Classifiers • Questa famiglia di classificatori lavora memorizzando una rappresentazione esplicita delle categorie. • Durante il processo di classificazione, il modello computa la similarità dei nuovi patterns con i profili delle classi assegnandoli alla classe con score di similarità maggiore. • Ad ogni feature vector sono assegnati dei pesi: • I pesi possono essere valori reali propri del pattern oppure assegnati da funzioni di pesatura (ad es. Tf-idf) Sistemi di supporto alle decisioni - Leonardo Rigutini
Funzioni di similarità • Una volta creati i profili per le classi, questi modelli utilizzando una funzione per misurare la similarità dei pattern con i profili della classe • Esempi di funzioni di similarità • Manhattan distance (o City-block) • Distanza Euclidea • Distanza di Minkowski Sistemi di supporto alle decisioni - Leonardo Rigutini
Funzioni di similarità (2) • Distanza del coseno • Da notare che alcune funzioni ritornano valori alti per pattern molto simili e bassi per pattern dissimili (es. coseno), altre viceversa si comportano in modo opposto (es. Euclidea) Sistemi di supporto alle decisioni - Leonardo Rigutini
1) Algoritmo di Rocchio • Questo classificatore profile-based calcola il profilo della classe secondo la seguente formula: dove e . Inoltre, indica l’insieme degli esempi positivi per la classe mentre indica l’insieme degli esempi negativi. • I parametri beta e gamma pesano rispettivamente gli esempi positivi e negativi nella costruzione del profilo Sistemi di supporto alle decisioni - Leonardo Rigutini
1) Algoritmo di Rocchio • In realtà questo modello stima il profilo medio tra il profilo generato dagli esempi postivi e quello generato dagli esempi negativi: • E’ un classificatore lineare. Sistemi di supporto alle decisioni - Leonardo Rigutini
2) Centroids-based • Questo classificatore è un caso particolare del modello di Rocchio. • Ponendo Beta=0 e quindi Gamma=1 si ottiene: • Il profilo (vettore n-dimensionale) cj viene detto centroide e può essere immaginato come un esempio “dummy” (virtuale) che sta nel centro della classe: • Generato dalla media degli esempi positivi per la classe Sistemi di supporto alle decisioni - Leonardo Rigutini
Examples-based classifier: kNN • Questo modello è molto simile ai modelli basati su profilo (Rocchio) ed utilizza come essi una funzione di similarità. • Questo modello però non costruisce un profilo per la classe, ma mantiene in memoria tutti i pattern assegnati alla classe e li usa ogni qualvolta deve classificare un nuovo esempio • In tale situazione le distanze (similarità) tra tutti gli esempi memorizzati ed il nuovo esempio sono calcolate e poi due strategie sono possibili: • Assegnare il nuovo pattern alla classe più presente nei k pattern più vicini • Assegnare il nuovo pattern alla classe che contiene i primi k pattern più simili Sistemi di supporto alle decisioni - Leonardo Rigutini
Examples-based classifier: kNN • Questo metodo è molto costoso • È necessario ogni volta calcolare N valori di similarità con N il numero di esempi utilizzati per l’addestramento • Elevato costo computazionale • Elevato costo di memorizzazione dati Sistemi di supporto alle decisioni - Leonardo Rigutini
Introduzione 1 • Nonostante gli straordinari successi nell’elaborazione automatica dell’informazione, che stanno esercitando un impatto di portata storica nella vita quotidiana, competenze percettive, quali… • …localizzare un oggetto in una scena • …riconoscere la voce in condizioni reali • …prendere decisioni basate sul “senso comune” sono compiti estremamente difficili per i calcolatori elettronici Sistemi di supporto alle decisioni - Leonardo Rigutini
Introduzione 2 • Infatti, gli odierni sistemi di elaborazione hanno automatizzato perfettamente processi ritenuti, fino a poche decine di anni fa, di pertinenza umana, quali… • …svolgere calcoli molto complicati • …recuperare informazione in un archivio • Con l’Intelligenza Artificiale si sono spinti verso l’automazione del ragionamento simbolico, fino ai sistemi esperti, in grado di modellare e rendere fruibile la conoscenza di esperti in settori specifici Sistemi di supporto alle decisioni - Leonardo Rigutini
Tuttavia, i calcolatori mostrano un comportamento primitivo nella simulazione della maggior parte dei processi percettivi Le capacità percettive, infatti, sviluppate durante un processo evolutivo di centinaia di migliaia di anni, risultano difficili da replicare usando i modelli di calcolo simbolico, tipici degli elaboratori attuali Introduzione 3 Sistemi di supporto alle decisioni - Leonardo Rigutini
La metafora neurobiologica 1 Attualmente, a differenza delle macchine, l’uomo è un ottimo esempio di “sistema” in grado di elaborare informazione sottosimbolica Tali elaborazioni, come ogni altro processo cognitivo, hanno sede nel cervello, una complessa struttura neurobiologica, oggi accuratamente “decifrata” Il “mattone elementare” dei tessuti cerebrali è il neurone, che è sede dei processi elettrochimici che determinano l’atto percettivo Sistemi di supporto alle decisioni - Leonardo Rigutini
La metafora neurobiologica 2 Nel cervello umano sono presenti oltre 100 miliardi (1010) di neuroni, ciascuno interconnesso a circa 10.000 altre unità (modello di HodgkinHuxley) • Nelle interconnessioni ha luogo il processo di sinapsi, un processo elettrochimico atto a rafforzare o ad inibire l’interazione cellulare • I segnali rilevabili hanno un potenziale dell’ordine delle decine di mV e si presentano come treni di impulsi con frequenza 100Hz e con opportune modulazioni Sistemi di supporto alle decisioni - Leonardo Rigutini
La metafora neurobiologica 3 È opinione condivisa nel mondo delle scienze cognitive che i segnali elettrici presenti nei neuroni siano alla base dell’elaborazione dell’informazione a livello cerebrale Inoltre, c’è evidenza sperimentale per sostenere che la struttura cerebrale e le sinapsi siano influenzate dalla vita degli individui, dalle loro esperienze, dall’apprendimento di compiti specifici È il particolare pattern di interconnessioni, e la forza delle sinapsi, che definiscono le proprietà funzionali di una particolare porzione del cervello Sistemi di supporto alle decisioni - Leonardo Rigutini
La metafora neurobiologica 4 È inoltre sperimentalmente provato che le funzioni cognitive risiedono in particolari zone del cervello e che tali funzioni possono essere… • ...perdute a seguito della “rottura” dei legami sinaptici • ...eventualmente (parzialmente) recuperate con successivi processi di apprendimento atti ad instaurare nuovi pattern di interconnessione sinaptica Sistemi di supporto alle decisioni - Leonardo Rigutini
La metafora neurobiologica 5 Poiché la struttura cerebrale e l’attività elettromagnetica delle singole cellule neuronali sono note, si possono operare induzioni sul comportamento collettivo dei neuroni e si può trarre ispirazione per la costruzione di macchine in grado di replicare compiti connotati da una forte componente di elaborazione sottosimbolica Mind no longer goes more ghostly than a ghost: il lavoro di Mcculloch e Pitts (1943) contiene la prima analisi completa di come semplici unità con sinapsi eccitatorie e inibitorie siano in grado, in virtù di un processo collettivo, di rappresentare proposizioni logiche complesse Tuttavia, non è necessaria una perfetta emulazione dei processi neurobiologici per l’emergenza di capacità cognitive Sistemi di supporto alle decisioni - Leonardo Rigutini
La metafora neurobiologica 6 Molti modelli connessionistici sono solo ispirati al paradigma biologico a livello di unità neuronale, e si basano sulla struttura fortemente connessa delle cellule cerebrali, dove si eredita il principio che l’attivazione neurale è soggetta ad eccitazioni ed inibizioni ad opera delle unità connesse L’attivazione dell’unità i dipende dall’attivazione della generica unità j, mediante un parametro associato alla connessione fra le due unità, che modella il principio elettrochimico della sinapsi Sistemi di supporto alle decisioni - Leonardo Rigutini
What’s new ? Mon June 6, 2005 12:51 PM GMT LONDRA (Reuters) IBM si è accordata con un team di scienziati svizzeri per creare il primo modello al mondo di cervello computerizzato, Blue Gene: i ricercatori sperano così di fornire nuove prospettive nella conoscenza del più complesso organo umano L’obiettivo immediato è di riprodurre la trama di circuiti nella neocorteccia, che comprende circa l’85% della massa cerebrale e si ritiene sia responsabile del linguaggio, dell’apprendimento, della memoria e del pensiero articolato Il sistema Blue Gene/L, attualmente in costruzione presso il Department of Energy’s NNSA/Lawrence Livermore National Laboratory in California, avrà una velocità massima di elaborazione di 360 trilioni di operazioni floatingpoint al secondo, ossia 360 teraflops Cinque anni fa, nessun supercomputer al mondo aveva una capacità maggiore di un teraflop Sistemi di supporto alle decisioni - Leonardo Rigutini
Emulazione o ispirazione ? I just want to point out that the componentry used in the memory may be entirely different from the one that underlines the basic active organs (John Von Neumann, 1958) Molti modelli connessionistici utilizzati nelle applicazioni sono solo ispirati dal paradigma biologico a livello di unità neuronale… Sistemi di supporto alle decisioni - Leonardo Rigutini
Le reti neurali 1 Le neuroscienze hanno permesso di stabilire che la struttura cerebrale è caratterizzata dalla presenza di neuroni specializzati e con pattern di connettività specifici al particolare compito cognitivo Per i modelli artificiali è stata seguita una metafora simile: sono stati studiati diversi tipi di neuroni e diverse architetture, associandovi le modalità di elaborazione concepite per implementare un particolare compito cognitivo Sistemi di supporto alle decisioni - Leonardo Rigutini
Le reti neurali 2 Le reti neurali artificiali sono esse stesse costituite da insiemi di unità semplici, i neuroni, densamente interconnesse Ciascuna unità riceve un certo numero di input reali (stimoli esterni o output di altre unità) e produce, in uscita, un valore reale (che potrà costituire l’ingresso per altre unità) Sistemi di supporto alle decisioni - Leonardo Rigutini
Le reti neurali 3 Il cervello umano… …contiene una rete di 1011 neuroni; ciascun neurone è connesso, in media, con 104 altre unità …l’attività dei neuroni viene eccitata o inibita dagli stimoli ricevuti dalle unità adiacenti: il tempo di “switch” è 103 sec (alto rispetto a quello del calcolatore, 1010 sec) …una qualsiasi scena può essere “compresa” in 0.1 secondi Utilizzo massivo di calcolo parallelo Le reti neurali artificiali… …dovrebbero “catturare” questa forma di parallelismo, basato sulla rappresentazione distribuita dell’informazione …si discostano dai modelli biologici, di cui non hanno la potenza …realizzano l’apprendimento mediante tecniche automatiche per il “tuning” dei pesi di connessione Sistemi di supporto alle decisioni - Leonardo Rigutini
Un po’ di storia 1 La prima era: i modelli di neurone • 1956: Dartmouth Summer Research Project on AI (Minsky, McCarty, Rochester, Shannon,…) • 1959: ADALINE di WidrowHoff con applicazione al riconoscimento vocale • 1962: Perceptron di Rosenblatt • 1969: “Perceptrons” e le prime critiche alle reti neurali (Minsky e Papert) • ’70: Associatori di Anderson, modelli per apprendimento senza supervisione di Kohonen, studi di Grossberg (ispirati alla neurobiologia) Sistemi di supporto alle decisioni - Leonardo Rigutini
Un po’ di storia 2 La seconda era: le reti di neuroni • 1982: Reti di Hopfield • 1986: Parallel Distributed Processing e Backpropagation • 1987: Prima conferenza sulle reti neurali dell’IEEE a San Diego • 1989: Primi chip neurali • 1990: J. Pollack e le reti neurali che elaborano dati strutturati • 1994: Prima conferenza mondiale su Intelligenza Artificiale • 1994: Nasce il progetto NeuroCOLT (Computational Learning Theory) • 2001: L’IEEE approva la creazione della Neural Networks Society Sistemi di supporto alle decisioni - Leonardo Rigutini
Cos’è il softcomputing ? Il requisito dell’hardcomputing “trova sempre la soluzione esatta” diviene “trova spesso una soluzione approssimata” L’elaborazione coinvolge informazione sottosimbolica: può non esistere una soluzione algoritmica soddisfacente Definizione di softcomputing di Lofti Zadeh Softcomputing differs from conventional (hard) computing in that, unlike hardcomputing, it is tolerant of imprecision, uncertanty and partial truth. In effect, the role model for softcomputing is the human mind. The guidance principle of softcomputing is: exploit tolerance for imprecision, uncertanty and partial truth to achieve tractability, robustness and low solution cost. Sistemi di supporto alle decisioni - Leonardo Rigutini