Abstract:
II Data Mining (DM) è la disciplina che si occupa dell'estrazione di informazioni utili e non banali dall'immensa mole di dati che è possibile collezionare in vari campi della scienza e del mondo industriale e commerciale. Il suo relativamente recente sviluppo lascia ancora aperti molti problemi che la comunità scientifica è chiamata ad affrontare e risolvere. Vi è la necessità di nuove metodologie per estrarre informazioni pi significative dai dati, nuovi framework si rendono indispensabili per armonizzare tutti i passi del processo di mining, nuove soluzioni sono necessarie per il trattamento di dati complessi ed eterogenei.
Un problema che è sempre stato individuato come di centrale importanza ma mai risolto in termini generali è quello relativo alle prestazioni di sistemi di Data Mining. Le ragioni di questo interesse sono: (i) le dimensioni e la natura distribuita dei dati di input; (ii) la complessità spazio-temporale degli algoritmi di Data Mining; (iii) la richiesta dipropriet quasi in tempo reale per molte applicazioni di DM. Quando non possibile controllare le prestazioni di sistemi di DM, la reale applicabilit di tali tecniche risulta pregiudicata.
In questa tesi ci concentriamo sulle prestazioni di algoritmi, sistemi e applicazioni di DM.
L'attività di ricerca si è principalemente fecalizzata sullo studio delle performance di una tecnica di Data Mining molto utilizzata nelle applicazioni pratiche: l'estrazione di insiemi di item frequenti in database transazionali, o Frequent Set Counting (FSC).
Nonostante negli ultimi anni siano stati proposti numerosi algoritmi di FSC che permettono di raggiungere prestazioni sempre migliori, ancora il problema del controllo delle performance di tali algoritmi resta irrisolto. Questo principalmente dovuto al fatto che la complessità della computazione realizzata dipende in modo difficilmente predicibile dalle correlazioni interne al dataset di input e alle sue propriet statistiche.
Partendo da un'analisi dettagliata delle prestazioni dei migliori algoritmi proposti recentemente, è stato possibile progettare e implementare un nuovo algoritmo di FSC (Direct Count and Intersect) (DCI) che in numerosi casi si rivela essere il pi performante.
Per poter avere maggiore e completo controllo sulle performance, inoltre in studio l'analisi di alcune proprietà statistiche dei dataset di input, che permettano di poter predire il costo del FSC su un certo dataset. L'idea di questo studio è quella di caratterizzare la complessit dell'applicazione dell'algoritmo di FSC su un certo dataset, sulla base delle proprietà statistiche del dataset stesso. Alcuni risultati preliminari lasciano dedurre che la misura dell'entropia del dataset sia un buon indicatore del dello sforzo computazionale richiesto ad un algoritmo di FSC. Sembra quindi possibile poter utilizzare questa misura per la definizione di strategie di calcolo nell'algoritmo sequenziale (pruning versus compression), di load balancing in quello parallelo e sampling nella versione approssimata dell'algoritmo.
Le performance dei sistemi di Data Mining sono particolarmente importanti in quei sistemi che pongono forti requisiti in termini di tempo di risposta. I server web sono un esempio di tali sistemi: la grande quantità di dati prodotti a vari livelli (logs, struttura, contenuto) contiene informazioni potenzialmente utili per personalizzazioni, ottimizzazioni
o modificazioni del sito. Viene studiato un sistema di web mining in grado di estrarre informazione sul comportamento degli utenti di un sito dall'analisi degli accessi precedenti e sulla base di questa conoscenza, personalizzare le pagine richieste. Il sistema proposto realizzato in modo da inserirsi nell'ordinario funzionamento del server web e processare lo stream di richieste httpd in maniera incrementale.
Architetutture di calcolo parallele e distribuite costituiscono spesso la piattaforma di calcolo naturale in applicazioni di Data Mining sia per la natura inerentemente distribuita dei dati, sia per la necessità generale di alte prestazioni. In questa tesi viene presentata la parallelizzazione dell'algoritmo DCI, ottimizzata per cluster di SMPs, che adotta un paradigma muti-threading per le comunicazioni interne al nodo e message-passing per quelle tra nodi. Inoltre, viene studiata l'architettura di uno scheduler che mappa applicazioni strutturate di Data Mining su piattaforme distribuite su scala geografica (Knowledge Grid). Viene sviluppata una strategia di scheduling che ottimizza sia il costo computazionale che i costi di trasferimento dei dati.
Un altro filone di ricerca2 riguarda la realizzazione di sistemi verticali di data mining che generalizzino i risultati ottenuti in casi specifici ad una classe più ampia di problemi e permettano di gestire tutte le fasi del processo di data mining, dall'accesso ai dati fino all'estrazione della conoscenza.
Il Data Mining ToolKit (DMTL) è una libreria C++ che permette di sviluppare algoritmi di data mining, rendendo trasparenti all'utente problematiche come l'accesso fisico ai dati o l'implementazione di strutture dati specifiche per un certo problema. L'architettura basata sui template rende inoltre il DMTL flessibile all'estensione verso nuovi pattern e strutture dati.
2 Questa attività è stata svolta al Rensselaer Polytechnic Institute, sotto la supervisione del prof. M. J. Zaki.
Data Mining (DM) is the science of extracting useful and non-trivial information from the huge amounts of data that is possible to collect in many and diverse fields of science, business and engineering. Due to its relatively recent development, Data Mining still poses many challenges to the research community. New methodologies are needed in order to mine more interesting and specific information from the data, new frameworks are needed to harmonize more effectively all the steps of the mining process, new solutions will have to manage the complex and heterogeneous source of information that is today available for the analysts.
A problem that has always been claimed as one of the most important to address, but has never been solved in general terms, is about the performance of DM systems. Reasons for this concern are: (i) size and distributed nature of input data; (ii) spatio temporal complexity of DM algorithms; (iii) quasi real-time constraints imposed by many applications. When it is not possible to control the performance of DM systems, the actual applicability of DM techniques is compromised.
In this Thesis we focused on the performance of DM algorithms, applications and systems. We faced this problem at different levels. First we considered the algorithmic level. Taking a common DM task, namely Frequent Set Counting (FSC), as a case study, we performed an in depth analysis of performance issues in FSC algorithms. This led us to devise a new algorithm for solving the FSC problem, that we called Direct Count and Intersect (DCI). We also proposed a more general characterization of transactional datasets that allow to forecast, within a reasonable range of confidence, important properties in the FSC process. From preliminary studies, it seems that measuring the entropy of a dataset can provide useful hints on the actual complexity of the mining process on such data.
Performance of DM systems is particularly important for those system that have strong requirements in terms of response time. Web servers are a notable example of such systems: they produce huge amounts of data at different levels (access log, structure, content). If mined effectively and efficiently, the knowledge extracted from these data can be used for service personalization, system improvement or site modification. We illustrate the application of DM techniques to the web domain and propose a DM system for mining web access log data. The system is designed to be tightly coupled with the web server and process the input stream of http requests in an on-line and incremental fashion.
Due to the intrinsically distributed nature of the data being mined and by the commonly claimed need for high performance, parallel and distributed architectures often constitute the natural platform for data mining applications. We parallelized some DM algorithms, most notably the DCI algorithm. We designed a multilevel parallel implementation of DCI, explicitly targeted at the execution on cluster of SMP nodes, that adopts multithreading for intra node and message passing for the inter node communications. To face the problems of resource management, we also study the architecture of a scheduler that maps DM applications onto large scale distributed environments, like Girds. We devised a strategy to predict the execution time of a generic DM algorithm and a scheduling policy that effectively takes into account the cost of transferring data across distributed sites.
The specific results obtained in studying single DM kernels or applications can be generalized to wider classes of problems that allows the data miner to abstract from the architectural details of the application (physical interaction with the data source, base algorithm implementation) and concentrate only on the mining process. Following this generic thinking, a Data Mining Template Library (DMTL) for frequent pattern mining was designed at the Rensselaer Polytechnic Institute, Troy (NY) USA, under the supervision of prof. M. J. Zaki. We joined the DMTL project during 2002 fall. We present the main features of DMTL and a preliminary experimental evaluation.