Mixed usage of MATLAB and visual C for improving classification time and training time of FCM classifier
Takuya Kobayashi, Hidetomo Ichihashi, Katsuhiro Honda, Akira Notsu · 2012
Fuzzy c-means based classifier (FCMC) is a simple approach to classification based on the clustering and parameter optimization methods. The computation time is improved by optimizing the matrix sizes in MATLAB code and by partly coded in Visual C with MEX function. Firstly, this paper reports the improved results of FCMC in testing time, namely in classification time. The revised code of FCMC by using MEX function of MATLAB and Visual C is much faster than LibSVM on several large sized data sets. LibSVM is the worldwide-known state-of-the art classifier. Secondly, the revised results of the training time of FCMC is reported. The size of the matrix used in MATLAB code is tuned and Visual C is introduced to speed up the repetitive computation with loop. The three ways of initial partitioning in clustering are also compared. They are the original PCA-Tree approach, k-dimensional tree (kd-Tree) approach and random projection tree (RP-Tree) approach. There is not much difference in the total training time among the three approaches. By the mixed usage of MATLAB and Visual C, the total training time of FCMC becomes two to three orders of magnitude shorter than LibSVM.