Lezione 8 Data Mining
Che cos'è il data mining? Data mining (knowledge discovery from data) Estrazione di pattern interessanti (non banali, impliciti, prima sconosciuti e potenzialmente utili) da enormi moli di dati Un nome infelice? Nomi alternativi Knowledge discovery (mining) in databases (KDD), knowledge extraction, data/pattern analysis, data archeology, data dredging, information harvesting, business intelligence, ecc. Non tutto è data mining! Ricerca semplice ed elaborazione di interrogazioni Sistemi esperti (deduttivi)
Estrazione di Conoscenza come Processo Conoscenza Data Warehouse Dataset Selezione Data Mining Validazione Pulizia DB Integrazione
Confluenza di discipline diverse Basi di dati Statistica Apprendimento automatico Data Mining Visualizzazione Pattern recognition Algoritmi Altre discipline
Tipi di Dataset Dataset e applicazioni di ambito basi di dati: Dataset estratti da basi di dati relazionali, data warehouse Dataset e applicazioni di tipo avanzato: Flussi di dati e dati da sensori Serie temporali e storiche Sequenze (per esempio, genomiche, proteomiche) Grafi e reti (per esempio, reti metaboliche, reti sociali) Dati spaziali e spaziotemporali (es., dati georeferenziati) Dati multimediali (per esempio, immagini, filmati, suono) Archivi testuali (per esempio, pubblicazioni scientifiche, notizie) World-Wide Web
Attività di Data Mining Scoperta di pattern frequenti, associazioni e regole di causalità Classificazione e predizione: Costruzione di modelli che descrivono e distinguono classi/concetti Predizione di attributi numerici mancanti o sconosciuti Raggruppamento (cluster analysis): Scoperta di raggruppamenti significativi in un insieme di osservazioni Massimizzare similarità intra-gruppo, minimizzare quella tra gruppi Rilevazione di anomalie (anomaly detection/outlier analysis) Analisi regressiva: Tendenze e deviazioni Periodicità Analisi basata su similarità
Top 10 degli Algoritmi di Data Mining 1 C4.5 (costruzione di alberi di decisione), Quinlan 1993 2 K-Means (raggruppamento), MacQueen 1967 3 Support Vector Machine (apprendimento statistico), Vapnik 1995 4 Apriori (regole di associazione), Agrawal e Srikant 1994 5 EM (apprendimento statistico), McLachlan e Peel 2000 6 PageRank (analisi dei collegamenti), Brin e Page 1998 7 AdaBoost (bagging and boosting), Freund e Schapire 1997 8 K-Nearest Neighbors (classificazione), 1996 9 Naïve Bayes (classificazione), 2001 10 Classification and Regression Trees (classificazione), 1984 [Fonte: Sondaggio tra i partecipanti al congresso ICDM 2006]
Strumenti Software Prodotti proprietari SPSS + PASW Modeler (prima noto come Clementine) SAS + Enterprise Miner IBM DB2 Data Warehouse Editions Sistemi Open Source R System WEKA = Waikato Environment for Knowledge Analysis URL: http://www.cs.waikato.ac.nz/ml/weka/
Riduzione delle dimensioni Multicollinearità: variabili indipendenti correlate tra loro Multicollinearità è insidiosa e causa instabilità Scopi dei metodi di riduzione delle dimensioni: Ridurre il numero di variabili da analizzare Garantire l'indipendenza delle variabili Fornire un quadro per l'interpretabilità dei risultati Metodi per la riduzione delle dimensioni: Analisi della componente principale (PCA) Analisi fattoriale Riduzione della numerosità Metodi parametrici (assumere modello e fare regressione) Metodi non parametrici: istogrammi, raggruppamento, ecc.
Analisi delle Componenti Principali Idea di fondo: Le variabili di partenza costituiscono un sistema di coordinate Le righe del dataset sono una nuvola di punti in questo spazio Ruotare il sistema di coordinate in modo che ogni dimensione catturi la massima variabilità Eliminare le dimensioni meno esplicative. Tecnicamente: Standardizzare le variabili (media = 0, varianza = 1) Considerare la matrice di correlazione delle variabili Calcolare i suoi autovettori e 1,..., e n Definire nuove variabili sintetiche come combinazione lineari di quelle originali, y i = e i x
Discretizzazione e Gerarchie di concetti Discretizzazione o quantizzazione Riduzione del numero di valori di un attributo continuo dividendo il suo dominio in intervalli Etichette degli intervalli sostituiscono i valori originali Supervisionata o non supervisionata Binning, istogrammi, raggruppamento Discretizzazione basata sull'entropia Formazione di gerarchie di concetti Riduzione ricorsiva dei dati sostituendo concetti di basso livello con concetti di altro livello Es.: età numerica -> giovane, di mezza età, anziano Strada < Città < Provincia < Regione < Paese < Continente
Modellazione previsione y z = M(x, y) x Variabili note M è la legge che lega le variabili x, y e z. Dato un campione di n-uple (x, y, z), si cerca la legge che le spiega.
Complessità Più un modello è dettagliato, più è aderente alla realtà del fenomeno, più le previsioni sono affidabili Tuttavia, più un modello è dettagliato, più è difficile da costruire Ecco perché c è una tendenza ad accontentarsi di modelli semplici(stici) (ad esempio, regressione lineare) In genere, si tira ad indovinare la forma del modello e si riduce il problema a una stima dei suoi parametri La sintesi (o scoperta ) di modelli più complessi richiede algoritmi di ottimizzazione più potenti, come gli algoritmi evolutivi
Soft Computing Tolerant of imprecision, uncertainty, and partial truth Adaptive Methodologies: Evolutionary Algorithms Neural Networks Bayesian and Probabilistic Networks Fuzzy Logic Rough Sets Bio-inspired: Natural Computing A Scientific Discipline? Methodologies co-operate, do not compete (synergy)
Algoritmi evolutivi EVOLUZIONE PROBLEM SOLVING Ambiente Individuo Addattamento Problema da risolvere Soluzione candidata Qualità della soluzione
Ingredienti di un algoritmo evolutivo popolazione di soluzioni (appropriatamente codificate) generazione t riproduzione t + 1 selezione (sopravvivenza del più adatto) mutazione DNA di una soluzione ricombinazione
Reti Neurali Artificiali dendrite assone x 1 w 1 sinapsi x 2 w 2 Σ y x n w n
Rete Feed-Forward
Sintesi e ottimizzazione di reti neurali Evoluzione dei pesi di una rete di struttura predefinita Evoluzione della struttura della rete codifica diretta codifica indiretta Evoluzione delle regole di apprendimento Selezione dei dati di ingresso
Insiemi fuzzy 1 α 0 nucleo α-cut supporto
Operazioni sugli insiemi fuzzy Estensione delle operazioni sugli insiemi classici Norme e co-norme triangolari Min e max sono una scelta popolare
Sistemi di regole fuzzy
Inferenza nei sistemi a regole fuzzy Dato un insieme di regole L insieme fuzzy dei valori assunti dalle variabili dipendenti è
IF x is A 1 AND y is B 1 THEN z is C 1 IF x is A 2 AND y is B 2 THEN z is C 2 z