An Open Source C plus plus Implementation of Multi-Threaded Gaussian Mixture Models, k-Means and Expectation Maximisation

被引:0
|
作者
Sanderson, Conrad [1 ,3 ,4 ]
Curtin, Ryan [2 ,4 ]
机构
[1] CSIRO, Data61, Canberra, ACT, Australia
[2] Symantec Corp, Mountain View, CA USA
[3] Univ Queensland, Brisbane, Qld, Australia
[4] Arroyo Consortium, Brisbane, Qld, Australia
关键词
MAXIMUM-LIKELIHOOD; RECOGNITION;
D O I
暂无
中图分类号
TM [电工技术]; TN [电子技术、通信技术];
学科分类号
0808 ; 0809 ;
摘要
Modelling of multivariate densities is a core component in many signal processing, pattern recognition and machine learning applications. The modelling is often done via Gaussian mixture models (GMMs), which use computationally expensive and potentially unstable training algorithms. We provide an overview of a fast and robust implementation of GMMs in the C++ language, employing multi-threaded versions of the Expectation Maximisation (EM) and k-means training algorithms. Multi-threading is achieved through reformulation of the EM and k-means algorithms into a MapReduce-like framework. Furthermore, the implementation uses several techniques to improve numerical stability and modelling accuracy. We demonstrate that the multi-threaded implementation achieves a speedup of an order of magnitude on a recent 16 core machine, and that it can achieve higher modelling accuracy than a previously well-established publically accessible implementation. The multi-threaded implementation is included as a user-friendly class in recent releases of the open source Armadillo C++ linear algebra library. The library is provided under the permissive Apache 2.0 license, allowing unencumbered use in commercial products.
引用
收藏
页数:8
相关论文
共 18 条
  • [1] Fault Detection in Multi-Threaded C plus plus Server Applications (Poster Abstract)
    Muehlenfeld, Arndt
    Wotawa, Franz
    [J]. PROCEEDINGS OF THE 2007 ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING PPOPP'07, 2007, : 142 - 143
  • [2] A Comparative Study of K-Means, K-Means plus plus and Fuzzy C-Means Clustering Algorithms
    Kapoor, Akanksha
    Singhal, Abhishek
    [J]. 2017 3RD IEEE INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE & COMMUNICATION TECHNOLOGY (CICT), 2017,
  • [3] Multi-Swap k-Means plus
    Beretta, Lorenzo
    Cohen-Addad, Vincent
    Lattanzi, Silvio
    Parotsidis, Nikos
    [J]. ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS 36 (NEURIPS 2023), 2023,
  • [4] k-means as a variational EM approximation of Gaussian mixture models
    Luecke, Joerg
    Forster, Dennis
    [J]. PATTERN RECOGNITION LETTERS, 2019, 125 : 349 - 356
  • [5] BES plus plus : HPC Profile Open Source C Implementation
    Ruiz-Alvarez, Arkaitz
    Smith, Christopher
    Humphrey, Marty
    [J]. 2008 9TH IEEE/ACM INTERNATIONAL CONFERENCE ON GRID COMPUTING, 2008, : 41 - +
  • [6] Unsupervised Image Classification Using Multi-Autoencoder and K-means plus
    Mabu, Shingo
    Kobayashi, Kyoichiro
    Obayashi, Masanao
    Kuremoto, Takashi
    [J]. ICAROB 2018: PROCEEDINGS OF THE 2018 INTERNATIONAL CONFERENCE ON ARTIFICIAL LIFE AND ROBOTICS, 2018, : 112 - 115
  • [7] Data on MRI brain lesion segmentation using K-means and Gaussian Mixture Model-Expectation Maximization
    Qiao, Ju
    Cai, Xuezhu
    Xiao, Qian
    Chen, Zhengxi
    Kulkarni, Praveen
    Ferris, Craig
    Kamarthi, Sagar
    Sridhar, Srinivas
    [J]. DATA IN BRIEF, 2019, 27
  • [8] libDAI: A Free and Open Source C plus plus Library for Discrete Approximate Inference in Graphical Models
    Mooij, Joris M.
    [J]. JOURNAL OF MACHINE LEARNING RESEARCH, 2010, 11 : 2169 - 2173
  • [9] Graph Based Multi-Layer K-Means plus plus (G-MLKM) for Sensory Pattern Analysis in Constrained Spaces
    Tao, Feng
    Suresh, Rengan
    Votion, Johnathan
    Cao, Yongcan
    [J]. SENSORS, 2021, 21 (06) : 1 - 21
  • [10] A Unified Formulation of k-Means, Fuzzy c-Means and Gaussian Mixture Model by the Kolmogorov-Nagumo Average
    Komori, Osamu
    Eguchi, Shinto
    [J]. ENTROPY, 2021, 23 (05)