What might be some potential methods to encode a 100-point signal (curve) for input to a Artificial Neural Network?
Example: we have a large number of 100-pt 'curves' ranging from flat-line to approximately a half-sine wave with a wide range of max amplitude. The curves have some noise and occasional anomalous 'bumps'. These training set curves can be broken down into known positives or negatives for 'truthing'.
If I wanted to use an Artificial Neural Network to give a result for untrained data curves, what are some potential methods to encode the input data sets?
Would transforming each of the 100 points in a curve to a [0.0000 .... 1.0000] range be useful (and thus we'd have 100 inputs to the ANN? Or might another method produce better results?
NOTE: I understand that FFT and Power Spectrum analysis might be a completely different alternative here as well, but am focusing right now on a possible neural network method.
You might get some results with the method you mentioned with 100 inputs to the ANN. It might be good enough for your application, but if it's not, you'll need to apply some pre-processing.
What kind of pre-processing will do the trick is largely dependent on the nature of your signal and what you're trying to get. Try thinking about what should not be important (what characteristics of the signal) to end result and try to filter that out.
For example, if DC component is not important, remove it from all signals. If amplitude is not important, scale everything to [0,1] independently. If you have some high frequency noise, filter the signal with low-pass. More generally, think what characteristics of the spectra of the signal might be important. One of the tricks is to look at auto-correlation of the signal.
With or without pre-processing, coarser quantization or coding with Gray's code might additionally help.