15 Oct 2026 · Paper notes · 5 min read

Fusing CNN, LSTM and Transformer features to spot bad heartbeats

I read a 2024 paper that glues together features from three deep models and lets three simple classifiers vote. It hits 99.56% accuracy on MIT-BIH, but only for normal vs abnormal beats.

Abstract

Din et al. (2024) argue that no single network sees everything in an ECG: CNNs catch local shape, LSTMs keep order but forget the far past, Transformers look at the whole beat sequence. They train all three, take the last 30-unit layer of each, concatenate them into one fused vector, and feed it to SVM, logistic regression and random forest with majority voting. On MIT-BIH (normal vs abnormal) the fused model reaches 99.82% precision, 98.87% recall and 99.56% accuracy.

Video resources

Related ECG learning videos, embedded for playback on this page.

Why I picked this

An ECG is a time series, so I wanted to know how people combine models that each see time differently. This paper gives a clean answer: do not pick one, merge their features.

The problem

Earlier ECG work had three gaps:

How it works

  1. Data. MIT-BIH: 48 half-hour recordings from 47 subjects. Binary task: 75,052 normal beats vs 34,164 abnormal beats. Class weights handle the imbalance.
  2. Three feature extractors. A CNN (two conv layers, 16 filters), a CNN-LSTM (LSTM with 120 units) and a Transformer (6 encoder layers, 2 heads). Each ends in a 30-unit dense layer.
  3. Fuse. Concatenate the three 30-unit outputs into one feature vector.
  4. Vote. SVM (RBF kernel), logistic regression and random forest (100 trees) take that vector and decide by majority vote.

Results

ModelPrecisionRecallF-scoreAccuracy
CNN96.2696.0096.1396.68
CNN-LSTM90.5486.7188.2890.35
Transformer97.0596.2096.6197.10
Logistic regression, raw signal87.8878.9682.3189.64
Logistic regression, fused features99.3498.2698.8099.24
Fusion + majority vote (proposed)99.8298.8799.3499.56

All numbers in %, from the paper's Tables 3 and 4.

My reading notes

Features beat classifiers

The same logistic regression scores 89.64% on the raw signal and 99.24% on the fused features. The deep features did most of the work, voting added the last bit.

A typo to watch

The conclusion says 95.56% accuracy, but every table says 99.56%. I treat the tables as correct.

The comparison is not apples to apples

The paper compares with eight earlier studies. The best of them reports 99.34% accuracy, so the margin is 0.22 points, and their beat counts differ from this paper's.

Biggest lesson: good features matter more than fancy classifiers.

What's next

The authors list their own limits: it needs GPUs, it ignores age and sex, it has only two classes, and it uses one dataset. I want to see it on a bigger benchmark.

Paper: Din, Qaraqe, Mourad, Qaraqe and Serpedin, Artificial Intelligence in Medicine 150 (2024) 102818.

Research interpretation

The central idea is representation complementarity: convolutional filters learn local waveform morphology, recurrent layers model sequential context, and self-attention can connect distant positions. Concatenation makes these learned representations available to conventional classifiers, while majority voting can reduce dependence on one decision boundary.

Data and evaluation details

The authors evaluate on the MIT-BIH Arrhythmia Database. The reported 99.56% accuracy is the paper's result for its stated binary normal/abnormal setup; it should not be read as 99.56% accuracy for every arrhythmia type, every patient, or clinical deployment. Accuracy can look especially high when class prevalence is uneven, so precision, recall, F1, confusion matrices and patient-independent validation matter.

What to scrutinize

Reproducibility and further reading

Takeaway: the fusion design is promising, but the split protocol and the difference between benchmark classification and clinical diagnosis are as important as the headline score.

💬 Comments

Share a thought. Your name and comment will be public. Please be kind and keep personal details private.

Loading comments…

Say hello ✉

Questions, feedback or just a kind word? Email contact@ranjeetpandey.xyz or send a message below.

Email directly
↑ Back to top