Tecnologie di Riferimento per il Data Mining Marco Botta Dipartimento di Informatica Università di Torino [email protected] Slides by Botta, Saitta, Malerba Knowledge Discovery in Databases e Data Mining KDD → Termine derivato dal titolo di un workshop organizzato da Piatetsky-Shapiro nell’ambito del Machine Learning (Detroit, 1989) “Knowledge discovery in databases is the non-trivial process of identifying valid, novel, potentially useful, and ultimately understandable patterns in data” “Knowledge is in the eye of the beholder” [Fayyad, 1996] DM → Termine usato inizialmente in Statistica (“data fishing”) per denotare l’analisi esplorativa di dati in assenza di ipotesi a priori Slides by Botta, Saitta, Malerba Knowledge Discovery in Databases and Data Mining “Knowledge discovery in databases is the non-trivial process of identifying valid, novel, potentially useful, and ultimately understandable patterns in data” Result Interpretation [Fayyad, 1996] Data Mining Data Pre-processing Data Collection “Knowledge is in the eye of the beholder” [Fayyad, 1996] Slides by Botta, Saitta, Malerba Le quattro caratteristiche del KDD _ Linguaggio di alto livello _ _ Accuratezza _ _ ciò che si scopre deve rispecchiare accuratamente il contenuto della base dati. Misure di incertezza esprimono il livello di attendibilità della conoscenza estratta Risultati interessanti _ _ la conoscenza scoperta è rappresentata in un linguaggio di alto livello, in modo che possa essere compresa dall’utente umano la conoscenza scoperta è interessante rispetto a criteri espressi dall’utente. In particolare, questo implica che i pattern sono nuovi e utili e il processo di scoperta è non babale Efficienza _ il processo di scoperta è efficiente. I tempi di risposta sono predicibili e accettabili Slides by Botta, Saitta, Malerba The “Value Chain” Decisione Conoscenza • Una quantità Y del prodotto A è usata per lo più nella regione Z • I clienti di classe Y usano x% di C durante il periodo D • Promuoviamo il prodotto A nei negozi della regione Z • Spediamo i cataloghi alle famiglie di profilo P • Offriamo dei servizi addizionali ai clienti C Information • X vive in Z Data • S ha Y anni • X ed S hanno traslocato • W ha del denaro in Z • Stile di vita • Punto di vendita • Dati demografici • Dati geografici Slides by Botta, Saitta, Malerba Natura degli Approcci Ogni forma di analisi cerca di ridurre una grande massa di dati grezzi e informi a pochi concetti e relazioni chiari e facilmente interpretabili • Approcci “Verification-Driven” Top-Down Analisi “passiva”, atta a verificare se un certo modello (ipotesi) è coerente con i dati a disposizione. L’ipotesi o il modello sono formulati dall’utente sulla base della sua esperienza • Approcci “Discovery-Driven” Bottom-Up Analisi “attiva”, in cui i dati stessi suggeriscono possibili ipotesi sul significato del loro contenuto. Individuazione di fatti significativi, relazioni, tendenze, pattern, associazioni, eccezioni e anomalie, che sfuggono all’analisi manuale per la loro complessità Slides by Botta, Saitta, Malerba Approcci “Verification-Driven” • “Query & Reporting” • Foglio Elettronico • Analisi multidimensionale • Analisi statistica • Raccolta dei dati • Generazione di una ipotesi • Formulazione di una domanda • Interpretazione dei risultati e revisione dell’ipotesi ...... finchè non emerge un “pattern” interessante Slides by Botta, Saitta, Malerba Approcci “Discovery-Driven” • Riconoscimento di Forme • Intelligenza Artificiale • Metodologie integrate • Visualizzazione Conoscenza del dominio Apprendimento automatico simbolico Reti neurali Algoritmi Genetici Reti Bayesiane Apprendimento Dati Storici Modello Nuovi Dati Slides by Botta, Saitta, Malerba Approcci “Verification-Driven” : Query & Reporting e Foglio Elettronico KDD Query : Più o meno sofisticati linguaggi SQL “Di quali prodotti si sono venduti più di 400 esemplari in regioni dell’Italia Meridionale? Il foglio elettronico presenta informazioni in forma tabulare e offre una grande quantità di funzioni analitiche e descrittive PRODOTTI Letti Armadi Divani Cucine Letti Armadi Divani Cucine Letti Armadi Divani Cucine MERCATI Calabria Lazio Basilicata Calabria Lazio Basilicata Calabria Lazio Basilicata Calabria Lazio Basilicata VENDITE 123 892 453 562 457 321 676 231 256 324 787 426 PRODOTTI Divani Cucine Divani Cucine MERCATI Basilicata Calabria Calabria Basilicata VENDITE 453 562 676 426 Slides by Botta, Saitta, Malerba Approcci “Verification-Driven”: Analisi Multidimensionale L’analisi multidimensionale supporta l’interattività C I T T C2 VENDITE ⇒ Dimensioni : PRODOTTI, CITTA’, DATE A C5 C4 C3 Industria Stato Categoria Regione Prodotto Città Anno C1 P1 P R O D O T T I Trimestre P2 P3 P4 Mese Settimana 18 P5 Data P6 Aggregazioni P7 P8 d1 d2 d3 d4 d5 d6 d7 (Drill-Down / Roll-Up) DATE Slides by Botta, Saitta, Malerba Approcci “Verification-Driven”: Analisi Multidimensionale Dimensioni nelle MDDB: Celle con valori numerici o “ null” Variabili nelle MDDB : Indipendenti o derivate PRODOTTI Letti Armadi Divani Cucine Letti Armadi Divani Cucine Letti Armadi Divani Cucine MERCATI Calabria Lazio Basilicata Calabria Lazio Basilicata Calabria Lazio Basilicata Calabria Lazio Basilicata VENDITE 123 892 453 562 457 321 676 231 256 324 787 426 Consolidamento Pre-aggregazione dei dati e memorizzazione dei risultati MERCATI PRODOTTI Letti Armadi Calabria 123 324 Lazio 457 892 Basilicata 256 321 Divani 676 787 453 MERCATI PRODOTTI Letti Armadi Divani Cucine Totale Calabria 123 324 676 562 1685 Lazio 457 892 787 231 2367 Basilicata 256 321 453 426 1456 Totale 836 1537 1916 1219 5508 Slides by Botta, Saitta, Malerba Approcci “Verification-Driven”: Analisi Statistica ✿ ✿ ✿ ✿ ✿ ✿ ✿ Progetto di Esperimenti e Campionamento Statistica Grafica Riduzione della dimensionalità ✿ Aggregazione ✿ Analisi delle componenti principali ✿ Analisi fattoriale Test di ipotesi “Model ranking” Modellizzazione (Classificazione, Regressione) “Esploratory Data Analysis” ✿ Individuare caratteristiche di insieme dei dati ✿ Individuare “outlier” ✿ Generazione di Ipotesi (Clustering) Scelta dei dati Visualizzazione Selezione e costruzione di feature Validazione del modello Confronto di modelli Calibrazione del modello Costruzione del modello Slides by Botta, Saitta, Malerba Ambiente di Sviluppo del KDD • Pre-Processing • • • • Data cleaning Selezione degli attributi Discretizzazione attributi numerici Setting dei parametri • Integrazione stretta con le metodologie delle Basi di Dati • Estensione del linguaggio SQL • Visualizzazione • • Rotazione delle “2-D Views” Metodi di grafica sofisticata Slides by Botta, Saitta, Malerba Pre-Processing Tecniche di Pre-processing Trasformazione dei dati Raccolta di ulteriori informazioni Generazione di nuova informazione • Filtraggio • Visualizzazione • Aggiunta di feature • Ordinamento • Eliminazione di dati • Editing • Selezione di dati • Costruzione di feature • Modello del rumore • PCA • Sampling • Fusione di dati • Simulazione • Analisi dimensionale Slides by Botta, Saitta, Malerba Pre-Processing Problemi nei Dati Troppi dati Troppo pochi dati Dati frammentati • Dati rumorosi • Valori mancanti • Dati incompatibili • Dati irrilevanti • Attributi mancanti • Sorgenti multiple • Dati di grande dimensionalità • Pochi dati • Granularità diversa • Dati numerici continui Slides by Botta, Saitta, Malerba Feature Selection • Trovare il miglior sottoinsieme di attributi è un problema esponenziale • Metodo di ricerca • • C ompleta Euristica (“greedy”) Aggiunta di attributi (Increasing) • Eliminazione di attributi (Decreasing) • • Approccio • • “Wrapper” (dipende dall’algoritmo di apprendimento) “Filter” (non dipende dall’algoritmo apprendimento) • Costruzione di nuove feature Slides by Botta, Saitta, Malerba Task di Data Mining ✿ Classificazione ✿ Clustering / Segmentazione ✿ Riassunto / Caratterizzazione ✿ Dipendenze funzionali / Regressione ✿ Scoperta di Associazioni / Causalità ✿ Individuazione di Anomalie ✿ Analisi di Serie Temporali Slides by Botta, Saitta, Malerba Classificazione Debito No prestito o o x o x x x x o x x o o o Problemi tipici affrontati o o x o x x o Prestito o Individuazione di frodi Concessione di crediti o Reddito Slides by Botta, Saitta, Malerba Clustering Distanza • • • •• • • • • • • •• • • • • • •• • • • • • • • • • • • • • • • • •• • • • Densità • • • • •• •••• • • •• •• •• ••••• • • •• • • • •• •• • • • •• • • • • • • • • • • • • • • • • • • • Forma (“Gestalt”) •• • • •• • • • • •• •• • • • •• • • • • Slides by Botta, Saitta, Malerba Segmentazione La segmentazione consiste nell’analizzare attuali o potenziali gruppi di clienti (“segmenti”) per scoprirne caratteristiche e comportamenti che possano essere sfruttati nel mercato. La segmentazione porta una organizzazione a vedere, al limite, ognuno dei suoi clienti come un “segmento unitario” (“segment of one”), al fine di stabilire con esso una relazione altamente personalizzata. Due problemi basilari del marketing ✿ Capire le cause dell’abbandono dei clienti (“customer attrition”) ✿ Individuare nuove fette di mercato (“target marketing” e “cross selling”) Slides by Botta, Saitta, Malerba Riassunto / Caratterizzazione C1 • • • •• • • • • • • •• • • • • • •• • • • • • • • • •• • • • • • • • • ••• • • • • • • • • • • • •• • • • • • • •• • • • • • •• •• • • • D1 Perché sono stati raggruppati? Che cosa hanno in comune? • • •• • • • • •• • • • C3 • • •• • • • • • • •• • • • • • • • • • •• • • •• • • •• •• • • • • •• • C2 D2 D3 Slides by Botta, Saitta, Malerba Riassunto / Caratterizzazione Descrizione compatta di un insieme di dati Anni di Studio y • • Frequent flyers • • • • • • • • 20 15 10 + + + + ++ ++ + + 5 x Media Deviazione standard 0 0 10 20 Skate-boarders 30 40 50 Età • Persone di mezza età e istruzione universitaria + Ragazzi con basso livello di istruzione Slides by Botta, Saitta, Malerba Dipendenze funzionali / Regressione Individuazione di legami funzionali tra variabili che occorrono in una base di dati Dato un insieme E = {e1, ... , en}, di elementi descrivibili mediante i valori degli attributi A = {x1, ... , xk}, il task di regressione assegna ad ogni elemento ei dell’insieme E un valore di una variabile continua f DM -> Inferisce una “funzione di regressione” direttamente da un sottoinsieme dei dati (“esempi di apprendimento”) ∀ ei : f = f(x1, ... , xk) y = Debito x xi yi x x y (xi ) x x x x x n x x x x x x x x x y x ∑ [y i ] − fpr (x i )]2 x i =1 x x xi + + + + + ++ + + ++ + + + + + + + + + + + + + + + + + x x = Reddito Slides by Botta, Saitta, Malerba Scoperta di Associazioni Scoperta di associazioni tra fatti, proprietà o valori di variabili (“Link analysis”) Il 72% degli acquirenti di insalata verde, acquista anche un condimento Problema tipico Market Basket Analysis 1/7/99 2/7/99 Pane Riso Pesche Pane Uova Carne Spaghetti Pesche … ... … ... scontrino … … ... {Pane, Pesche} scontrino Slides by Botta, Saitta, Malerba Individuazione di Eccezioni Individuazione di valori devianti dai “normali” (Eccezioni, Casi particolari, Errori) • • • •• • • • • • • •• • • • • • • • • • • • •• •• • • ••• • ••• •• • • • • • • • • • • • • • •• •• • • • • • • n I.Q. Test score •• • •• • • • ✕ • • • N • • • •• •• • • • • • •• •• • • • • • n << N Età Slides by Botta, Saitta, Malerba Individuazione di Anomalie Individuazione di valori devianti dai “normali” Anni di Studio Anni di Studio • •+ • • • • • • • • 20 15 10 15 10 + + + + • ++ + + + + 5 0 0 10 20 •+•+ • ••• •+•++ • • ••• • 20 + ++ + +++ ++ + ++ + ++ 5 30 40 50 Età 0 0 10 20 30 40 50 Età Occorre definire che cosa vuol dire “normale” Slides by Botta, Saitta, Malerba Analisi di Serie Temporali ✿ Individuazione di conformazioni o episodi interessanti ✿ Analisi di tendenze ✿ Scoperta di periodicità o fenomeni “stagionali” Periodicità Episodio Trend Volume di vendite di Giacche a vento 20 15 10 5 0 Gen Feb Mar Apr Mag Giu Lug Ag Set Ott Nov Dic Gen Feb Mar Apr Mag Giu Lug Ag Set Ott Nov Dic Mesi Tempo Slides by Botta, Saitta, Malerba Discipline Rilevanti per il Data Mining ✿ Statistica ✿ Riconoscimento di Forme ✿ Intelligenza Artificiale Apprendimento Automatico ✿ Reti Bayesiane ✿ Agenti Intelligenti ✿ Basi di Dati ✿ Query and Reporting ✿ “Data Warehousing” → OLAP ✿ Visualizzazione ✿ Grafica ✿ Ambienti multi-mediali ✿ Scienze Cognitive ✿ Slides by Botta, Saitta, Malerba Relazioni tra Discipline y Task condivisi Machine Learning Statistica x a x = Progetto di esperimenti Goal condivisi b y = Apprendimento di piani a = Stima dell’errore b = Classificazione Slides by Botta, Saitta, Malerba Analisi Statistica: Analisi Discriminante Funzione discriminante Debito o No prestito o x x x x o o o o o x o x x o x x o x o Prestito o o y o + o o Classe A + o o + + o ++ + o o + o + o o + + + Classe B + o o o + x Reddito Lineare Prestito : y - a x - b < 0 Non Lineare Classe A : y - a x2 - b > 0 Slides by Botta, Saitta, Malerba Analisi Statistica: Clustering Algoritmo k-Means Il numero K di cluster desiderato deve essere fornito dall’utente Funzione distanza Funzione obbiettivo da ottimizzare : + + + + ++ + + + ++ + + + + + + + + + + + + + + + + + + + + + + + ++ + + ++ + + + + + + + + + + + + + ++ + + ++ + + + + + + + + + + + + ++ + + ++ + + + ++ + + + + + + + + + + + + + +++ + + + + + + + ++ + ++ + + + ++ + +++ ++ + + + ++ + + + + + + ++ + + + ++ + + + + + + + +++ + + + ++ ++ ++ + ++ + + + + ++ + +++ ++ + + + ++ + + + + + + + + + ++ + + + + + ++ + + + + + + + + + + + + + + + + + + + + + + + Massimizza la distanza inter-cluster e minimizza la distanza intra-cluster Slides by Botta, Saitta, Malerba Riconoscimento di Forme: Classificazione Approccio Statistico Funzione di discriminazione probabilistica Classificatore Bayesiano Classificatore di Massima Verosimiglianza + o + o o + oo + + + + + + + oo + + + + o o ++ o o + + + o o o r Pr{A | x} = r Pr{x | A} P(A) r r Pr{x | A} P(A) + Pr{x | B} P(B) r Pr{B | x} = r Pr{x | B} P(B) r r Pr{x | A} P(A) + Pr{x | B} P(B) A Pr{A | Pr{A | B r r x} = Pr{B | x} r r x} P(A) = Pr{B | x} P(B) Slides by Botta, Saitta, Malerba Riconoscimento di Forme: Classificazione Approccio Basato su Casi “Case-Based” Debito o No prestito k-Nearest Neighbours o x x x x x x x o o x x x o o o o o x o o o Prestito o Reddito Slides by Botta, Saitta, Malerba Reti Neurali Una rete neurale è una struttura composita, formata da elementi computazionali semplici, connessi secondo una topologia “a strati” => Approssimatori universali di funzioni Unità di ingresso Unità Nascoste Unità di Uscita Slides by Botta, Saitta, Malerba Reti Neurali: Funzioni Elementari x1 x2 x3 w1 x =Σ i (xi wi) w2 Σ y σ w3 σ Uscita Ingresso Slides by Botta, Saitta, Malerba Reti Neurali: Addestramento Algoritmo di “Backpropagation” Minimizza l’errore quadratico totale Se la rete è a più strati, l’errore viene propagato “indietro” x1 xk Rete (W) y xn E= 1 n ∑ (t k − y k )2 2 k= 1 wj = − η ∂E ∂w j η = Velocità di apprendimento Slides by Botta, Saitta, Malerba Intelligenza Artificiale: Apprendimento Automatico Simbolico ✿ Alberi di Decisione ✿ Regole di Produzione ✿ Reti Bayesiane ✿ Gerarchie Concettuali Slides by Botta, Saitta, Malerba Alberi di Decisione Date due classi P ed N Dati p ed n esempi di apprendimento Dato un insieme di Attributi A Generare una partizione dello spazio dei possibili esempi, usando un criterio euristico di qualità (p,n) S A a1 S1 (p , n ) 1 1 ....... ....... ai ar ....... (p , n ) i i Si ....... (p , n ) r r Sr Slides by Botta, Saitta, Malerba Alberi di Decisione : Esempio Attributes Color = {Red, Blue, Green, White} Shaded = {Yes, No} Shape = {Square, Triangle, Circle, Oval} Size = {Small, Large} (POS) g b c a (NEG) e d f i p n h t s m q r Slides by Botta, Saitta, Malerba Alberi di Decisione: Apprendimento Color Blue { d,e,f,h} { n,q} { b,g} { m,t} White Red Shape Triangle Square {f} {e} { q} {f} { q} Yes Green { a,i } {c} { p,r,s } • • • • • • {f} {a-i} {a-i} { m-t} Size Oval {d,h} Circle { n} Large Small Shaded No { q} Slides by Botta, Saitta, Malerba Alberi di Decisione: Esempio (Classificazione) Color Blue { d,e,f,h} { n,q} { b,g} { m,t} {a-i} { m-t} {a-i} White Red Green { a,i } {c} { p,r,s } Shape • • • • • • Triangle Square {f} {e} { q} Size Oval Circle {d,h} { n} Large {f} { q} Nuovi Esempi Small Shaded Yes No e1 : (-) e2 : ? { q} {f} Slides by Botta, Saitta, Malerba Regole di Produzione Regole di decisione espresse in forma logica: Calcolo Proposizionale o Calcolo dei Predicati (forma = quadrato ∨ triangolo) ∧ (dimensione = piccolo) ⇒ POS (forma = triangolo) ∧ (tratteggiato = SI) ⇒ NEG Classificazione ? NEG POS, NEG POS e1 e2 e3 e4 Slides by Botta, Saitta, Malerba Reti Bayesiane Rete Bayesiana = Modello grafico di relazioni probabilistiche tra un insieme di variabili Metodo per rappresentare l’incertezza nel ragionamento Pr{frode} = 0.00001 Frode Pr{età < 30} = 0.25 Pr{30 < età < 50} = 0.40 Età Pr{maschio} = 0.50 Sesso Frodi nell’uso di Carte di Credito Benzina Gioielli Pr{acq. benzina| frode} = 0.2 Pr{acq. benzina| ¬ frode} = 0.01 Pr{acq. gioielli| frode, età =*, sesso=*} = 0.05 Pr{acq. gioielli|¬ frode, età < 30, maschio} = 0.0001 Pr{acq. gioielli| ¬ frode, 30 < età < 50 , maschio} = 0.0004 Pr{acq. gioielli|¬ frode, età > 50, maschio} = 0.0002 Pr{acq. gioielli|¬ frode, età < 30, femmina} = 0.0005 Pr{acq. gioielli| ¬ frode, 30 < età < 50 , femmina} = 0.0002 Pr{acq. gioielli|¬ frode, età > 50, femmina} = 0.001 Slides by Botta, Saitta, Malerba DM con le Reti Bayesiane • Codifica della conoscenza dell’esperto mediante una Rete Bayesiana • Uso della base di dati per aggiornare questa rete, eventualmente creandone di nuove • Le probabilità si possono apprendere dai dati mediante statistica Bayesiana • Uso delle reti ottenute simile a quello delle reti neurali • Metodo robusto rispetto ad errori nella conoscenza iniziale • Conoscenza interpretabile • Utile per sfruttare conoscenza a priori Slides by Botta, Saitta, Malerba Gerarchie Concettuali Clustering Concettuale Student:Faculty = 5:1 (2%) SAT-Verbal = 637.5 % Financial Aid = 45 % Admittance = 25 % Enrolled = 55 Social = 3.5 out of 5 No. Student < 5,000 Location = Urban Expenses > 10,000 $ Academics = 5 out of 5 Control = Private Brown Root % Financial Aid = 45 (2%) % Admittance = 25 Social = 3.5 out of 5 Quality of life = 3.5 out of 5 Academic Emphasis = History Academic Emphasis = Arts Male;Female = 65:35 Student:Faculty = 7:1 SAT-Math = 675 Expenses > 10,000 $ Academics = 5 out of 5 % Enrolled = 55 Control = Private Harvard, Columbia Male;Female = 75:25 MIT % Financial Aid = 55 No. of Applicants = 4,000-7,000 Quality of Life = 3 out of 5 Slides by Botta, Saitta, Malerba Algoritmi Genetici Gli Algoritmi Genetici sono un metodo generale di ricerca stocastica Essi si ispirano ai concetti dell’Evoluzione Darwiniana Possono essere usati nell’ambito di approcci sia simbolici che neurali ✿ ✿ ✿ Ingredienti ✿ ✿ ✿ Popolazione di soluzioni (Cromosomi) Funzione di “Fitness” Operatori genetici (“Crossover” e Mutazione) Ciclo di Base ✿ ✿ ✿ ✿ Si selezionano dalla popolazione, in numero proporzionale alla loro fitness, gli individui che devono riprodursi Gli individui selezionati si accoppiano e generano due figli, mediante l’applicazione dell’operatore di crossover Ai figli si applica l’operatore di mutazione La popolazione viene rinnovata Slides by Botta, Saitta, Malerba Algoritmi Genetici: Idea di base La popolazione di potenziali soluzioni al problema migliora nelle generazioni successive Problema “Problem solver” Prestazioni Popolazione di soluzioni potenziali Slides by Botta, Saitta, Malerba Algoritmi Genetici: Selezione : : : : : : : : : : : : : : : : : : : : : Selezione : : : : : : : : : : : : : : : : : : : Slides by Botta, Saitta, Malerba Algoritmi Genetici: Riproduzione : : : : : : : : : : : : : : : : : : : : : : : Riproduzione : : : : : : : : : : : : : : : : : Slides by Botta, Saitta, Malerba Algoritmi Genetici: Valutazione : : : : : : : : : : : : : : : : : : : : : : : : Valutazione : : : : : : : : : : : : : : : Slides by Botta, Saitta, Malerba Algoritmi Genetici: Operatori Genetici Crossover 0 1 1 0 0 1 1 0 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 1 0 1 0 Mutation 0 1 1 0 1 0 0 0 1 1 0 1 0 1 Slides by Botta, Saitta, Malerba Regole di Associazione Sia I un insieme di items Sia D un insieme di record, ognuno contenente un sottoinsieme di I Regola di associazione: r: X => Y X e Y sono sottonsiemi disgiunti di I Supporto di un sottoinsieme Z di I: supp(Z) = |D(Z)|/|D| Confidenza di una regola: conf(r) = supp(X or Y)/supp(X) Slides by Botta, Saitta, Malerba Regole di Associazione: Algoritmo Apriori • Algoritmo Apriori • Fase 1 => Ricerca di tutti gli insiemi frequenti • Costruzione incrementale a partire dalla cardinalità 1 • Generazione dei candidati di cardinalità k a partire dagli insiemi frequenti di cardinalità (k-1) • Eliminazione dei candidati spuri • Fase 2 => Ricerca di tutte le regole possibili per ogni insieme frequente • Ottimizzazione del metodo di calcolo del supporto • Ricerca di regole ottimizzate rispetto la supporto o rispetto alla confidenza => Regioni rettilineari Slides by Botta, Saitta, Malerba Scoperta di Associazioni / Causalità La scoperta di associazioni tra variabili è solo il primo passo di analisi. Occorre cercare una spiegazione • Causalità tra A e B Una variazione della variabile A “causa” una variazione della variabile B A = Aumento di dipendenti “a tempo” B = Aumento delle spese per stipendi • Risposta comune Una variazione delle variabili A e B è causata dalla variazione di una terza variabile C A = Temporale B = Abbassamento della colonnina di mercurio del barometro C = Arrivo di un’onda di bassa pressione • Mascheramento Una variazione della variabile B è causata sia da una variazione di A che da una variazione di una terza variabile C A = Spese per promuovere un prodotto B = Ricavo dalle vendite C = Numero di responsabili delle vendite che seguono i clienti Slides by Botta, Saitta, Malerba Evoluzione nella Memorizzazione dei Dati ✿ Situazione storica ✿ ✿ ✿ Memorizzazione centralizzata per analisi in supporto alle decisioni Risposta a domande estemporanee di responsabili aziendali, per ottenere dati con alto grado di aggregazione Problemi attuali ✿ Esplosione della quantità di dati da memorizzare -> Datawarehousing ✿ Complessità crescente delle informazioni da gestire • Architetture client/server -> architetture “multi-tier” • Dati + Conoscenza ✿ Prospettive future ✿ Datawarehouse centralizzata -> “Data-mart” distribuiti e interconnessi • • • • ✿ Architetture e componenti multi-livello Server per applicazioni specializzate (OLAP, Data Mining, ...) Gestori di meta-dati Front-end per Reti Intranet ed Extranet Sistemi integrati e distributi per la gestione della conoscenza aziendale • DBMS (Data Base Management System) -> DKMS (Distributed Knowledge Management System) Slides by Botta, Saitta, Malerba Evoluzione nel Tipo di Requisiti Passato Tecniche “verification-driven” Tutto l’onere sull’esperto umano Non si potevano scoprire shift o nuove ipotesi Esperto di Statistica Analisi “esterna” Prestazioni: Criteri quantitativi, quali Profitto, Utilità, Misura di certezza, Errore di predizione, ... Presente Tecniche “discovery-driven” Analisi Automatica Ruolo importante dell’utente finale Analisi “interna” Prestazioni Comprensibilità “Comprehensibility” Postulate “Humanization loop” Semplicità (Rasoio di Occam) “Interesse” e Novità Slides by Botta, Saitta, Malerba Evoluzione del Tipo di Approccio Verification-driven Numerico Procedurale Stand-alone Orientato allo specialista Efficace Centrato sulla computazione Attenzione ai risultati Dati in memoria centrale Discovery-driven Numerico / Logico Esplorativo (ricerca) Interattivo Orientato all’utente Comprensibile Centrato sull’ambiente Attenzione ai risultati e alla loro presentazione Dati in Basi di Dati Slides by Botta, Saitta, Malerba Intelligenza Artificiale: Disinformazione “ These products {AI and advanced analytical tool} employ extremely complex algorithms and approaches to develop and refine new insights into previously collected data. In this category we include neural nets and other advanced approaches.” [R. Mattison, Data Warehousing, 1996] Slides by Botta, Saitta, Malerba Scelta del Metodo o dell’Algoritmo di Data Mining ✿ L’algoritmo scelto deve non solo essere adeguato al task, ma anche rispettare i fini e i requisiti imposti dall’utente ✿ Quanti esempi può trattare in una sola volta? ✿ Che tipo di dati tratta? Quanto pre-processing è necessario per portare i dati nel formato richiesto? ✿ Può operare “top-donw” (accettando ipotesi suggerite dall’utente) o lavora solo “bottom-up” (producendo solo ipotesi sue proprie)? ✿ Che grandezza fornisce in uscita? In che tipo di rappresentazione? ✿ E’ incrementale? ✿ E’ veloce? ✿ Quanto è facile da usare? Slides by Botta, Saitta, Malerba Nuova Metodologia? Non c’è nulla di particolarmente nuovo nelle metodologie usate nel Data Mining Quello che è nuovo: Confluenza di metodologie disparate, coordinate per il raggiungimento di un fine comune approccio essenzialmente multidisciplinare Applicazione di queste metodologie integrate a problemi del mondo reale Slides by Botta, Saitta, Malerba Problemi di Ricerca a Livello di Metodo ✿ ✿ ✿ ✿ ✿ ✿ ✿ ✿ Dati Strutturati Uso di conoscenza del dominio Interazione efficace con l’utente e Comprensibilità dei pattern Costruzione di nuovi descrittori (“feature construction”) e Astrazione Dati e conoscenza variabili nel tempo Dati mancanti e presenza di rumore nei dati Overfitting e Significatività Statistica Scalabilità ✿ ✿ ✿ ✿ ✿ ✿ ✿ Parallelismo Algoritmi più efficaci Basi di Dati più estese Filtraggio di possibili soluzioni (imperfette) per l’utente Boosting “Windowing” Dimensionalità più elevata Slides by Botta, Saitta, Malerba Problemi di Ricerca a Livello di Sistema ✿ ✿ ✿ ✿ Integrazione flessibile di approcci diversi Integrazione multimediale (dati in formato vario) Integrazione con altri sistemi (sensori, multimedia, attuatori, ...) Implementazione su Intra (Extra, Inter) Net ✿ ✿ ✿ ✿ Gestione di sistemi distributi Decisioni collaborative e interattive Tecnologie ad “agenti” Sicurezza Slides by Botta, Saitta, Malerba Evoluzione dei Sistemi ✿ I sistemi di prima generazione erano “research-driven” ✿ ✿ ✿ I sistemi di seconda generazione erano “vendor-driven” ✿ ✿ ✿ Orientati all’esperto Richiedevano una comprensione profonda del funzionamento Includevano una varietà di strumenti in un solo sistema Orientati ad un uso autonomo I sistemi di terza generazione stanno diventando “applicationspecific” ✿ Forniscono uno “shell” che l’utente può adattare ai suoi scopi particolari [Piatetsky-Shapiro, 1997] Slides by Botta, Saitta, Malerba Settori Particolarmente Adatti a Metodi di IA ✿ Biologia Molecolare (“Cybergenetics”) ✿ “Text Mining” e “Information Extraction” ✿ WWW ✿ “Business Intelligence” ✿ Scoperta Scientifica Slides by Botta, Saitta, Malerba Visione Futura In futuro, una query KDD deve poter attivare una procedura di classificazione, di scoperta di regole o di clustering a run-time If Diagnosi(x, Problemi cardiaci) and Sesso(x, Maschio) Then Eta(x, t > 50) { 1200, 0.70} If Diagnosi(x, Problemi cardiaci) and Sesso(x, Maschio) and Citta(x, α) and Popolazione(α, p > 500.000) Then Eta(x, t > 40) { 600, 0.80} Query Eta' 55 60 40 Citta' Citta' NY LA Seattle NY > 1 Mll LA > 1 Ml Seattle 500.000 Popol Slides by Botta, Saitta, Malerba ✿ ✿ ✿ ✿ ✿ ✿ performance system (inetgration) representation Subfield of ML diagrams dall’altro talk sulla sovrapposizione (soar, EBL, boosting, relational learning, learning in planning reinforcement learning) Slides by Botta, Saitta, Malerba