Computerised methods of Electrocardiogram (ECG) interpretation play anincreasingly important role in modern healthcare, with some physicians relying on their results entirely. It is therefore advantageous to investigate how the performance of such systems can be improved.
This project outlines a novel computerised method for detecting abnormal ECG recordings. Specifically, it detects whether an ECG recording is of a patient suffering a myocardial infarction, or is the ECG of a healthy control patient. ECG recordings from the PTB Diagnostic ECG Database (an open access database) were split into overlapping windows equating to 10 seconds in length. This data was then used to train and validate the performance of 84 different neural networks (60 Multi Layered Perceptrons and 24 Convolutional Neural Networks) providing a comprehensive picture of the classification ability of the different networks. When subsequently tested on unseen data, an 18 layer 2D Convolutional Neural Network is able to achieve an test accuracy of 86.36% compared to an accuracy of 59.36% for a Multi Layered Perceptron.
The ultimate goal of computational medicine is to create an artificially intelligent computer program that is able to perform all of the duties of a human physician, with the benefit of never making mistakes. The program should also be able to use the latest knowledge about a condition, thereby improving patient outcomes. This is an extremely hard task due to a number of reasons: there is a large variation in the symptoms that a patient can show for the same condition; much of the information in the field is unstructured, therefore, it is not easily accessible to software; and ethical problems with a piece of software treating a patient, such as those outlined in the statement of ethics. This project describes one way in which software can be used to help diagnose conditions from patient data.
Electrocardiograms (ECGs) are a diagnostic tool used by physicians to help detect problems affecting the heart. A wide array of conditions can be detected using an ECG including arrhythmias (where the heartbeat is too fast, too slow, or irregular), cardiomyopathy (where the heart walls become stretched, thickened or stiff); and myocardial infarctions (commonly known as heart attacks). After the data from the ECG is collected, it is generally reviewed by a cardiac specialist who will try to diagnose any problem. This analysis is a time consuming task, which would be made longer with a longer ECG recording. Therefore, ECG recordings are often very short in duration, typically 30 minutes, to reduce the time burden on the physician. The condition may be asymptomatic during the ECG and so an underlying problem may be missed by the specialist. While machine learning has previously been applied to ECG interpretation, this work has mainly been limited to classical approaches to machine learning . Recent advances in deep learning have produced incredible results in many domains , however, there has been very little work applying this new found success to ECG interpretation. If deep learning can be shown to produce state of the art performance, these algorithms could be used in commercial medical systems, which would hopefully reduce the number of diagnoses that are missed.
This document will explain basic Machine Learning and Deep Learning concepts and how they are currently applied to computerised interpretation of ECGs. The document will then go on to explain the problem specification, with experiments that use a small sample of the data to show that it is possible to use Convolutional Neural Networks for this task. It will subsequently discuss how Convolutional Neural Networks perform in this task. Finally, it will summarise any limitations with this work, and outline possible future work.