This paper discusses a novel approach used for classification of phonocardiogram (PCG) excerpts into normal and abnormal classes as a part of Physionet 2016 challenge [10]. The dataset used for the competition comprises of cardiac abnormalities such as mitral valve prolapse (MVP), benign murmurs, aortic diseases, coronary artery disease, miscellaneous pathological conditions etc.[3], We present the approach used for classification from a general machine learning application standpoint, giving details on feature extraction, type of classifiers used comparing their performances individually and in combination. We propose a technique which leverages previous research on feature extraction with a novel approach to modeling temporal dynamics of the signal using Markov chain analysis [7, 9]. These newly introduced Markov features along with other statistical and frequency domain features, trained over an ensemble of artificial neural networks and gradient boosting trees, with bagging, gave us an accuracy of 82% on the validation dataset provided in the competition and was consistent with the test data with the best result of 78%.
IntroductionThis work describes a novel approach designed for Physionet 2016 Challenge Classification of Normal/Abnormal Heart Sound Recordings. The objective here is to classify Phonocardiogram (PCG) recordings into normal and abnormal categories. A comprehensive detail on the database, explaining how the PCG signals were collected and the type of abnormalities found are discussed in the paper mentioned in the reference section [3].Usually, statistical features such as means, standard deviations of systole, diastole intervals, and signal complexity features are used as features for classification and these are enough to give decent results. But these features fail to completely capture the temporal information of the signal. This could be very important since it represents how each heart beat changes over time.To capture the temporal dynamics, we take PCG signal beat by beat and assign each beat a symbol/category based on different thresholds set on features (ratios of systole intervals to RR interval, diastole intervals to RR interval, beat energy, the power of frequency component above 200 Hz). Thus, a sequence of symbols for the entire signal is obtained. We then extract features out of this sequence for classification. One of the ways we employed is to create a Markov chain with symbols being the states of the matrix and the resulting transition probabilities are used as features. These features along with marginal probabilities of states and rest of the acoustic features like sample entropy, instantaneous frequency analysis etc. are used to train an ensemble/bag of 4 class boosted tree classifiers [8, 13] and 4 artificial neural networks [12].
PreprocessingThe training data consists of PCG signals of varying length, anywhere between 5s to just over 120s all sampled at 2000 Hz. For training, all the signals were re-sampled to 1000 Hz and features were extracted. Since PCG record...