Abstract
Clustering with accurate results has become a topic of high interest, it is broadly used in many applications such as market research, pattern recognition, data analysis, and image processing. Determining the optimal number of clusters in a dataset is a fundamental issue that opened many directions for research. Multiple methods are then proposed to tackle this bottleneck.Dirichlet Process Mixture (DPM) is a model used for clustering with the advantage of discovering the number of clusters automatically and offering nice properties like, e.g., its potential convergence to the actual clusters in the data. These advantages come at the price of prohibitive response times, which impairs its adoption and makes centralized DPM approaches inefficient.In this thesis, we focus on the problem of parallelizing Dirichlet process mixture to improve performances by exploiting massively distributed environments. Indeed, from the literature, distributing DPM algorithm calls for many issues such as: load balance between computing nodes, communication costs, and the full benefit from DPM properties.In this thesis, we propose two novel approaches for parallel DPM clustering. First, we propose DC-DPM (Distributed Clustering via Dirichlet Process Mixture), a parallel clustering solution that enables clustering of millions of data points while remaining DPM compliant. Our experiments, on both synthetic and real world data, illustrate the high performance of our approach on millions of data points. The centralized algorithm does not scale and has its limit on 100K data points, where it needs more than 7 hours. In this case, our approach needs less than 30 seconds.The second problem we address in this thesis is the high dimensionality of data. In this case, it becomes an important challenge with numerical and theoretical pitfalls. We propose HD4C (High Dimensional Data Distributed Dirichlet Clustering), a distributed clustering solution that addresses the curse of dimensionality by two means. First it gracefully scales to massive datasets by distributed computing. Second, it performs clustering of high dimensional data such as time series (as a function of time), hyperspectral data (as a function of wavelength) etc. Exhaustive experiments are carried out over synthetic and real world datasets to confirm the efficiency of our solution.