Applying convolutional nets to one dimensional time series data is a fairly common problem in medicine, and the techniques here can certainly transfer to other medical domains. Besides the plethora of opportunities in one dimensional signals (ECG, PCG, PPG, EEG, etc), many medical problems pose similar challenges to machine learning techniques. For example:
* Massive class imbalance -- we have much more data for healthy patients than for sick patients, especially at the scales required for deep learning.
* Heavy amounts of noise -- Medical imaging is a difficult feat and noise is a fact of life. Not only that, but data is hard to come by and some noise in the labels is likely.
* Long term outcomes -- trying to predict diseases or other long term results from signals is very difficult, especially when the outcome is not immediately obvious by looking at the input.
TLDR: Imagine that you have to compete in ImageNet, but the images are full of noise, half of the ones labeled "dog" are actually some sort of bird, and instead of guessing what's in the image, you're given an image and then asked to guess if that image, when painted in watercolor, will make a baby smile.
The ML community has techniques for building methods to address low signal to noise, class imbalance, noisy labels and smaller sample sizes. I definitely agree, all of these are issues in medical datasets. Part of the exciting challenge at the intersection of medicine and machine learning is around scaling data collection while respecting patient privacy.
I definitely agree! The challenge is collecting a large number of heart recordings from mobile phones, along with professionally diagnosed abnormalities. That's one reason this physionet dataset is so valuable.
ICYMI: cardiogram is doing this with the apple/android watch (possibly other devices). they're not using phone sensor data yet to my knowledge though...
(1) The NN uses two convolutional units and a fully connected softmax layer. Relative to Inception V3 or highway networks, this is _not_ a very deep architecture. I was looking for a balance between accuracy and training time (trained on my MBP).
(2) I looked into other neural architectures (LSTM and several fully connected) without much difference in performance. If you take a look at the physionet google group, there are a number of other methods evaluated (logistic regression, SVMs, etc.)
(3) I did vary hyperparameters and saw a dropout of ~0.45 and frequency cut-off of 4Hz performed the best for this specific architecture. That said, I imagine the best performing features would be a concatenation of the output from several filters across a range of thresholds. Then the burden of deciding feature importance falls onto the learner.
I hate to be a jerk, but... what is the point of this entire competition? Physionet audio recordings of heart murmurs? Stethoscopes are on their way out.
Cool model, I guess. Does it get us anywhere new? I don't know.
tl;dr ECG is much more accurate but requires a careful, controlled environment. If it's possible to accurately predict heart abnormalities from sound, cheaper, easier to run screening tools can be developed for at-home use.
* Massive class imbalance -- we have much more data for healthy patients than for sick patients, especially at the scales required for deep learning.
* Heavy amounts of noise -- Medical imaging is a difficult feat and noise is a fact of life. Not only that, but data is hard to come by and some noise in the labels is likely.
* Long term outcomes -- trying to predict diseases or other long term results from signals is very difficult, especially when the outcome is not immediately obvious by looking at the input.
TLDR: Imagine that you have to compete in ImageNet, but the images are full of noise, half of the ones labeled "dog" are actually some sort of bird, and instead of guessing what's in the image, you're given an image and then asked to guess if that image, when painted in watercolor, will make a baby smile.