Per-minute apnea detection from single-lead ECG: dual wavelet representations, a MaxViT backbone, and a learned temporal verifier — trained on the 35 released recordings, evaluated subject-independently on the 35 withheld-challenge recordings (x01–x35). Every curve on this page is computed from the actual run artifacts.
Four iterations in one day, each fixing what the previous one exposed.
Validation AUC per epoch (subject-wise validation on 7 held-out training recordings). The multichannel input lifts the MaxViT curve over the entire run, not just at the end.
Test set x01–x35 (17,248 minutes). The verifier dominates the raw models in both versions; the multichannel input closes most of the gap between raw MaxViT and the verified output.
The decision threshold was chosen where validation accuracy peaks — the test curve is shown only to report the outcome, it was never used for selection.
Estimated vs. true AHI for all 35 test recordings at the tuned threshold. The dashed lines mark the AHI ≥ 5 screening rule; points off the diagonal but inside the correct quadrant still screen correctly.
Per-segment metrics on x01–x35. Published subject-independent baselines on this benchmark span 85.8–91.1% accuracy.
Where the GPU-time went in each Kaggle batch session (Tesla P100, torch 2.5.1+cu121 via the Pascal compatibility guard).
What a minute of ECG passes through before it becomes a label.