Hello Kentaro, Sergey's questions, response, and paper link are important. The linked paper is the first I've read on ECG signal analysis, but has a lot of cross-over with audio and speech signal analysis and recognition. Plus recently research into steganalysis [1].
For example - The use of Wavelet transform, or Fourier Transform / DCT (both magnitude AND phase), Perceptual linear prediction, as opposed to Mel-Frequency Cepstral analysis, Very importantly, statistical analysis of spectral features - Wavelet/DCT with Hilbert transform, spectral envelope curve analysis and derivative tracking (velocity and acceleration of curve changes, can limit up to 5th order). A lot of this occurs within animal's brains, with mammals adding addition feedback and inference through the neocortex. As humans, we have exploited the spectral analysis within our 'old brain' to listen, detect, and track spectral features. Such as ECG signals, and sonar signals (hunting for shoals of fish and submarines), for example. Cross-over and similar analysis occurs in vision sensory analysis too (e.g. edge detection). Which points to the key questions of how you are encoding the ECG signals? As well as classification techniques? Best regards, Richard. 1 http://www.shsu.edu/~qxl005/new/publications/tifs_audiosteg.pdf On Thu, Oct 22, 2015 at 10:18 AM, Sergey Alexashenko < [email protected]> wrote: > Actually, I can write out the scenarios here. > > NuPIC should definitely be able to learn different people's heartbeats in > one model. You have to give it plenty of data to learn on. Also, make sure > to resetSequenceStates every time you start feeding in data from a new > person. Finally, you might want to shuffle the data so that you don't feed > it person 1, then person 2, then person 3, but rather a mixture of all the > data to reduce bias towards the latest people (but I don't think that this > is necessary to be honest). > > There is, however, the issue of encoding. I'm assuming that you are using > a scalar encoder produced by swarming. That's fine, that's a quick approach > and it might work (in fact I would bet that it will produce usable results > - be mindful of swarming on a data set including different people's data, > though!). > > However, if you think about the data type - ECG data, unlike, say, EEG > data, consists of almost perfectly discrete steps (heartbeats) which could > be matched to NuPIC timesteps very well. If you run through the trouble of > extracting features from your data (there is ample literature on how to do > it - see [1] for example), and creating encoders for all the > intervals/amplitudes, I think that NuPIC would do a marvelous job. Note > that this approach condenses the time interval per step to one per > heartbeat and, thus, is not going to work if you are trying to do > super-rapid detection or prediction (on a time scale shorter than one > heartbeat). It is also more time-consuming for you - once again, swarming > could work well enough. > > Hope this helps, > > Sergey > > [1] http://arxiv.org/pdf/1005.0957.pdf > > > > On Thu, Oct 22, 2015 at 1:58 AM, Sergey Alexashenko < > [email protected]> wrote: > >> Hello Kentaro, >> >> I think that NuPIC can definitely work with ECG data, but I need a little >> more information about your project to make any helpful suggestions. Two >> questions: >> >> 1) Are you trying to predict or detect anomalies? You use both terms, but >> they involve somewhat different mechanisms. >> >> 2) How are you encoding ECG data? >> >> Best, >> >> Sergey >> >> >> On Wed, Oct 21, 2015 at 10:07 PM, Kentaro Iizuka < >> [email protected]> wrote: >> >>> Hello NuPIC. >>> >>> Thank you Matt for post. >>> >>> Here is my question detail. (It is same as gitter post) >>> https://gist.github.com/iizukak/72526863d3f504f2ff5e >>> >>> I hope somebody have good idea for that. >>> >>> Thank you! >>> >>> >>> 2015-10-22 13:29 GMT+09:00 Matthew Taylor <[email protected]>: >>> > Hello NuPIC, >>> > >>> > Check this out: >>> https://gitter.im/numenta/htm-challenge/archives/2015/10/21 >>> > >>> > Watch the ECG anomaly in the video: >>> https://youtu.be/5KdwV-trMhE?t=1m41s >>> > >>> > He has an interesting question about how to train a model on a healthy >>> > heartbeat, and it is expressed well with pictures in the link above. He >>> > wants to train a model with the ECG history of more than one person to >>> get a >>> > representation of a "healthy heartbeat". The problem is that every >>> person's >>> > heartbeat is a little different. Is it feasible to train a model on >>> multiple >>> > heartbeats in sequence? I'm not sure if it will work, but maybe >>> someone has >>> > a better idea? >>> > >>> > Solving this problem would help in a lot of different signal analysis >>> > applications of HTM... >>> > >>> > --------- >>> > Matt Taylor >>> > OS Community Flag-Bearer >>> > Numenta >>> >>> >>> >>> -- >>> Kentaro Iizuka<[email protected]> >>> >>> Github >>> https://github.com/iizukak/ >>> >>> Facebook >>> https://www.facebook.com/kentaroiizuka >>> >>> >> >
